muestra en el Tera Tem datos del contol
Dependencies: Pulse1 TextLCD mbed
Fork of irda_V_aula by
main.cpp@4:9df2311cb509, 2014-10-29 (annotated)
- Committer:
- jana
- Date:
- Wed Oct 29 15:47:03 2014 +0000
- Revision:
- 4:9df2311cb509
- Parent:
- 3:82bebaf2a06a
observar los datos del control por Tera Term
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tony63 | 0:74d57f8ae247 | 1 | #include "mbed.h" |
tony63 | 0:74d57f8ae247 | 2 | #include <Pulse1.h> |
jana | 4:9df2311cb509 | 3 | #include "TextLCD.h" |
jana | 4:9df2311cb509 | 4 | |
jana | 4:9df2311cb509 | 5 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); //Puertos LCD rs, e, d4, d5, d6, d7 |
jana | 4:9df2311cb509 | 6 | |
tony63 | 3:82bebaf2a06a | 7 | //control remoto videobeam aula |
tony63 | 2:6a15ab0305c8 | 8 | PulseInOut irda(PTD5);// en este puerto se pone el sensor infrarrojo |
tony63 | 0:74d57f8ae247 | 9 | Serial pc(USBTX, USBRX); |
tony63 | 0:74d57f8ae247 | 10 | DigitalOut led(LED1); |
tony63 | 2:6a15ab0305c8 | 11 | DigitalOut led2(LED2); |
jana | 4:9df2311cb509 | 12 | DigitalOut led1(LED3); |
jana | 4:9df2311cb509 | 13 | |
tony63 | 2:6a15ab0305c8 | 14 | int header =0; //tiempo de cabecera pulso abajo |
jana | 4:9df2311cb509 | 15 | const int head_H = 5000; //+10% medida con osciloscopio en microsegundos |
jana | 4:9df2311cb509 | 16 | const int head_L = 4530;//+10%medida con osciloscopio |
tony63 | 2:6a15ab0305c8 | 17 | int i=0; |
jana | 4:9df2311cb509 | 18 | const int T_alto=1600;//ponga su tiempo de la prueba |
jana | 4:9df2311cb509 | 19 | const int T_bajo=500;//ponga su tiempo de la prueba |
jana | 4:9df2311cb509 | 20 | const int num_bits = 50;//nga su numero de bits |
tony63 | 2:6a15ab0305c8 | 21 | int num[num_bits];//cadena para almacenar todos los tiempos que conforman los bits de datos |
tony63 | 2:6a15ab0305c8 | 22 | int dato; // tiempo de cada dato que se lee |
jana | 4:9df2311cb509 | 23 | |
jana | 4:9df2311cb509 | 24 | int num1[] = {0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0}; |
jana | 4:9df2311cb509 | 25 | int numb[num_bits]; |
jana | 4:9df2311cb509 | 26 | int suma; |
jana | 4:9df2311cb509 | 27 | |
jana | 4:9df2311cb509 | 28 | |
tony63 | 0:74d57f8ae247 | 29 | int main(){ |
tony63 | 0:74d57f8ae247 | 30 | while(1){ |
tony63 | 3:82bebaf2a06a | 31 | ini1: fflush( stdin ); |
tony63 | 3:82bebaf2a06a | 32 | header=0; |
tony63 | 2:6a15ab0305c8 | 33 | led2=1; |
tony63 | 0:74d57f8ae247 | 34 | led=1; |
tony63 | 3:82bebaf2a06a | 35 | header = irda.read_low_us(); //funcion para leer un pulso de caida o bajo en header |
tony63 | 2:6a15ab0305c8 | 36 | if (header > head_L && header < head_H) goto seguir;//verificar que este en la tolerancia +-20% |
tony63 | 2:6a15ab0305c8 | 37 | else goto ini1; |
tony63 | 0:74d57f8ae247 | 38 | |
tony63 | 2:6a15ab0305c8 | 39 | seguir: |
tony63 | 2:6a15ab0305c8 | 40 | //leo los datos de la trama y se meten a un arreglo |
tony63 | 3:82bebaf2a06a | 41 | wait_us(4500);// ES EL TIEMPO DE HEADER QUE NO SE Lee O EL ALTO |
tony63 | 2:6a15ab0305c8 | 42 | led2=0; |
tony63 | 2:6a15ab0305c8 | 43 | for(i=0;i<(num_bits-1);++i){ // POR OSCILOSCOPIO se determina que llegan (num_bits),datos |
tony63 | 2:6a15ab0305c8 | 44 | dato = irda.read_high_us(); //leer un bit de datos que es pulso arriba en este control |
tony63 | 2:6a15ab0305c8 | 45 | num[i]=dato; |
tony63 | 2:6a15ab0305c8 | 46 | wait_us(300); |
tony63 | 2:6a15ab0305c8 | 47 | } |
tony63 | 3:82bebaf2a06a | 48 | wait(0.5); //espero un poquito luego de leer todo el arreglo y ponerlo en pantalla |
tony63 | 2:6a15ab0305c8 | 49 | pc.printf(",%d",header); |
tony63 | 2:6a15ab0305c8 | 50 | for(i=0;i<(num_bits-1);++i){ |
tony63 | 2:6a15ab0305c8 | 51 | pc.printf(",%d",num[i]); |
tony63 | 2:6a15ab0305c8 | 52 | } |
tony63 | 2:6a15ab0305c8 | 53 | wait(0.1); //espero e imprimo en binario |
tony63 | 2:6a15ab0305c8 | 54 | pc.printf("\n\n"); |
tony63 | 2:6a15ab0305c8 | 55 | for(i=0;i<(num_bits-1);++i){ |
tony63 | 2:6a15ab0305c8 | 56 | if(num[i] > ((T_alto+T_bajo)/2)) pc.printf("1"); |
jana | 4:9df2311cb509 | 57 | else { pc.printf("0"); |
tony63 | 2:6a15ab0305c8 | 58 | } |
jana | 4:9df2311cb509 | 59 | |
jana | 4:9df2311cb509 | 60 | } |
jana | 4:9df2311cb509 | 61 | |
tony63 | 2:6a15ab0305c8 | 62 | } |
tony63 | 2:6a15ab0305c8 | 63 | } |