Puros Cuates SEPI / Mbed 2 deprecated frdmK64_tacometro

Dependencies:   mbed

Files at this revision

API Documentation at this revision

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