Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Revision 0:f9d7163fcbdb, committed 2015-01-19
- Comitter:
- jklagp
- Date:
- Mon Jan 19 22:55:34 2015 +0000
- Commit message:
- tarea tacometro
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Jan 19 22:55:34 2015 +0000 @@ -0,0 +1,82 @@ +#include "mbed.h" + +BusOut segmentos(D2,D3,D4,D10,D13,D12,D11,D9); +BusOut display(D5,D6,D7,D15); +enum digitos {cero=63,uno=6,dos=91,tres=79,cuatro=102,cinco=109,seis=125,siete=7,ocho=127,nueve=103,ceror=63}; +int incrementar (int); +Ticker flipper1,operacion,velocidad; +unsigned short digito[4]; +int revoluciones,vueltas; +InterruptIn sensor(D14); +AnalogIn pot(PTB2); +PwmOut Motor(PTC10); + +void flip1(void); +void imprimir(void); +void rev(void); +void contar(void); +void velo(void); + + +int main() +{ + sensor.rise(&contar); + velocidad.attach(&velo,0.01); //actualizar velocidad + flipper1.attach(&flip1,0.02); //multiplexado + operacion.attach(&rev,1);//operacion c/2seg + while (true){ + + } +} + +void velo(void) +{ + Motor.period(.02); + Motor.write(pot.read()); +} +void rev(void) +{ + revoluciones=vueltas*60; + vueltas=0; + digito[3]=revoluciones/1000; + digito[2]=(revoluciones-digito[3]*1000)/100; + digito[1]=(revoluciones-digito[3]*1000-digito[2]*100)/10; + digito[0]=(revoluciones-digito[3]*1000-digito[2]*100-digito[1]*10); + +} + +void contar(void) +{ + vueltas++; +} + +int imprimir (int digito) +{ + if(digito==9)digito=digitos(nueve); + if(digito==8)digito=digitos(ocho); + if(digito==7)digito=digitos(siete); + if(digito==6)digito=digitos(seis); + if(digito==5)digito=digitos(cinco); + if(digito==4)digito=digitos(cuatro); + if(digito==3)digito=digitos(tres); + if(digito==2)digito=digitos(dos); + if(digito==1)digito=digitos(uno); + if(digito==0)digito=digitos(cero); + + return digito; +} + +void flip1() //funcion de multiplexado +{ + segmentos=imprimir(digito[0]); + display=1; + wait(0.005); + segmentos=imprimir(digito[1]); + display=2; + wait(0.005); + segmentos=imprimir(digito[2]); + display=4; + wait(0.005); + segmentos=imprimir(digito[3]); + display=8; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Jan 19 22:55:34 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/4fc01daae5a5 \ No newline at end of file