Voltimetro en una aplicacion android para smartphone, mide el voltaje en un potenciometro y controla el brillo de un led

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
demo71
Date:
Wed Nov 25 04:24:21 2015 +0000
Commit message:
Voltimetro en una aplicacion android para smartphone, mide el voltaje en un potenciometro y controla el brillo de un led

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	Wed Nov 25 04:24:21 2015 +0000
@@ -0,0 +1,63 @@
+#include "mbed.h"
+#include <stdio.h>
+
+DigitalOut LedVerde(LED2);
+DigitalOut LedRojo(LED1);
+DigitalOut LedAzul(LED3);
+
+Serial GSM(PTE0,PTE1);  //puertos del FRDM para el modem
+Serial pc(USBTX,USBRX);
+PwmOut PWM1 (PTB0);
+int med,num,i,j,k;
+float ciclo =0;
+float periodo =0;
+float read=0;
+int leer=0;
+AnalogIn input(PTC2);
+  
+int main(void)
+ { 
+       
+GSM.baud(9600);         // asigno baudios y configuro puerto serie de la usart
+GSM.format(8,Serial::None,1); 
+               
+while(1){ 
+                              //leer el puerto analógico
+wait(0.5);
+num = input*1000;      //se escala el numero 
+           //pc.printf("num=%d\n", num);
+
+if(num<256){          //debo generar dos casos a APP inventor solo me recibe hex asi: 0xhhhh (4 cifras)    
+GSM.putc(0);      //si el número es hasta 255 se le ponen dos ceros adelante a la secuencia de bits
+           GSM.putc(i);      //luego la cifra menos significativa
+       }
+       if(num>255){          //pero si es mayor a 255 las cifras deben ser convertidas a un hex de dos bytes de la siguiente forma   
+           j=num/256;        //calculo la cifra mas significativa
+           k=num-j*256;      //calculo la cifra menos significativa
+           GSM.putc(j);      //las envío a la usart para que se las ponga al modulo bluetooth y la lleve al android
+           GSM.putc(k);      //mas significativa primero, menos después si no no funciona!!! y con la orden PUTC solo asi le envia binarios
+    
+       }
+        //Se empieza a capturar datos del Celular
+    if (GSM.readable())
+       {    
+    leer = GSM.getc(); //Leo el valor del bluetooth;          
+    if (leer <101) {
+    ciclo=leer/100.0; //Se calcula el ciclo de dureza;
+    PWM1.write(ciclo); 
+    
+    // Para observar el valor que se recibe del celular
+    //pc.printf("ciclo: %f\n\r", ciclo);
+    }
+
+    if (leer >101) {
+    read=leer;
+    periodo=((read-100.0))/100+0.1; //Calocular periodo del PWM;
+    PWM1.period(periodo);
+    // Para observar el valor que se recibe del celular
+    // pc.printf("periodo: %f\n\r", periodo);  
+}      
+ 
+}
+}
+}       
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Nov 25 04:24:21 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11
\ No newline at end of file