Voltimetro en una aplicacion android para smartphone, mide el voltaje en un potenciometro y controla el brillo de un led
Revision 0:f27d7354d96c, committed 2015-11-25
- 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