usar este programa en monitoreo de voltaje con app inventor
Fork of serialtransmite1 by
main.cpp@2:cd043c95f930, 2015-10-05 (annotated)
- Committer:
- tony63
- Date:
- Mon Oct 05 01:46:02 2015 +0000
- Revision:
- 2:cd043c95f930
- Parent:
- 1:d0a4ddc1bd88
lee un voltaje y lo manda por serial al modulo bluetooth. la aplicacion es de app inventor VOLTAJE1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tony63 | 1:d0a4ddc1bd88 | 1 | //programa para enviar valores analogos y probarlos con app inventor |
tony63 | 1:d0a4ddc1bd88 | 2 | //el programa en esta oportunidad manda valores provenientes del puero analogico en |
tony63 | 1:d0a4ddc1bd88 | 3 | //enteros HEX (xxxx) entre 0 y 1000 |
tony63 | 1:d0a4ddc1bd88 | 4 | //se prueba con voltimetro1 .apk APPINVENTOR. cambie GSM A pc si quere probar directo sobre la pc |
tony63 | 0:4676a90107ca | 5 | |
tony63 | 0:4676a90107ca | 6 | #include "mbed.h" |
tony63 | 1:d0a4ddc1bd88 | 7 | #include <stdio.h> |
tony63 | 2:cd043c95f930 | 8 | Serial usart(PTE0,PTE1); //puertos del FRDM para el modem |
tony63 | 0:4676a90107ca | 9 | Serial pc(USBTX,USBRX); |
tony63 | 2:cd043c95f930 | 10 | int med,num,j,k; |
tony63 | 2:cd043c95f930 | 11 | float medir; |
tony63 | 2:cd043c95f930 | 12 | AnalogIn volt(PTB2); |
tony63 | 1:d0a4ddc1bd88 | 13 | |
tony63 | 0:4676a90107ca | 14 | int main(void) |
tony63 | 0:4676a90107ca | 15 | { |
tony63 | 2:cd043c95f930 | 16 | usart.baud(9600); // asigno baudios y configuro puerto serie de la usart |
tony63 | 2:cd043c95f930 | 17 | usart.format(8,Serial::None,1); |
tony63 | 1:d0a4ddc1bd88 | 18 | |
tony63 | 0:4676a90107ca | 19 | while(1){ |
tony63 | 2:cd043c95f930 | 20 | medir = volt.read(); //leo puerto analogico |
tony63 | 2:cd043c95f930 | 21 | wait(0.3); |
tony63 | 2:cd043c95f930 | 22 | num = medir*1000; //agrando el numero de cero a mil |
tony63 | 1:d0a4ddc1bd88 | 23 | if(num<256){ //debo generar dos casos a APP inventor solo me recibe hex asi: 0xhhhh (4 cifras) |
tony63 | 2:cd043c95f930 | 24 | usart.putc(0); //si el numero es hasta 255 se le ponen dos ceros adelante a la secuencia de bits |
tony63 | 2:cd043c95f930 | 25 | usart.putc(num); //luego la cifra menos significativa |
tony63 | 1:d0a4ddc1bd88 | 26 | } |
tony63 | 1:d0a4ddc1bd88 | 27 | if(num>255){ //pero si es mayor a 255 las cifras deben ser convertidas a un hex de dos bytes de la siguiente forma |
tony63 | 1:d0a4ddc1bd88 | 28 | j=num/256; //calculo la cifra mas significativa |
tony63 | 1:d0a4ddc1bd88 | 29 | k=num-j*256; //calculo la cifra menos significativa |
tony63 | 2:cd043c95f930 | 30 | usart.putc(j); //las envio a la usart para que se las ponga al modulo bluetooth y la lleve al android |
tony63 | 2:cd043c95f930 | 31 | usart.putc(k); //mas significativa primero, menos despues si no no funciona!!! y con la orden PUTC solo asi le envia binarios |
tony63 | 1:d0a4ddc1bd88 | 32 | } |
tony63 | 0:4676a90107ca | 33 | } |
tony63 | 1:d0a4ddc1bd88 | 34 | } |