Andrea Coronado
/
Movimiento
Sensor de movimiento con bluetooth
movimiento.cpp@0:0a405c6f350d, 2014-11-29 (annotated)
- Committer:
- AndreaC
- Date:
- Sat Nov 29 20:17:52 2014 +0000
- Revision:
- 0:0a405c6f350d
- Child:
- 1:b0059057fd23
Sensor de movimiento con bluetooth
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AndreaC | 0:0a405c6f350d | 1 | #include "mbed.h" |
AndreaC | 0:0a405c6f350d | 2 | Serial pc(USBTX, USBRX); |
AndreaC | 0:0a405c6f350d | 3 | |
AndreaC | 0:0a405c6f350d | 4 | DigitalOut led = (PTC9); // LED que comprueba movimiento |
AndreaC | 0:0a405c6f350d | 5 | DigitalIn pinLectura = (PTB0); // Pin de lectura del sensor INPUTPIN |
AndreaC | 0:0a405c6f350d | 6 | Timer timer; |
AndreaC | 0:0a405c6f350d | 7 | int begin, end; |
AndreaC | 0:0a405c6f350d | 8 | |
AndreaC | 0:0a405c6f350d | 9 | Serial bt(PTE0, PTE1); |
AndreaC | 0:0a405c6f350d | 10 | |
AndreaC | 0:0a405c6f350d | 11 | void f_SensorMovimiento() |
AndreaC | 0:0a405c6f350d | 12 | { |
AndreaC | 0:0a405c6f350d | 13 | timer.start(); |
AndreaC | 0:0a405c6f350d | 14 | while(timer <= 3) |
AndreaC | 0:0a405c6f350d | 15 | { |
AndreaC | 0:0a405c6f350d | 16 | led = 1; |
AndreaC | 0:0a405c6f350d | 17 | } |
AndreaC | 0:0a405c6f350d | 18 | timer.stop(); |
AndreaC | 0:0a405c6f350d | 19 | timer.reset(); |
AndreaC | 0:0a405c6f350d | 20 | |
AndreaC | 0:0a405c6f350d | 21 | int val2 = pinLectura.read(); |
AndreaC | 0:0a405c6f350d | 22 | |
AndreaC | 0:0a405c6f350d | 23 | if(val2 == 0){ |
AndreaC | 0:0a405c6f350d | 24 | f_SensorMovimiento(); |
AndreaC | 0:0a405c6f350d | 25 | } |
AndreaC | 0:0a405c6f350d | 26 | |
AndreaC | 0:0a405c6f350d | 27 | else{ |
AndreaC | 0:0a405c6f350d | 28 | led = 0; |
AndreaC | 0:0a405c6f350d | 29 | return; |
AndreaC | 0:0a405c6f350d | 30 | } |
AndreaC | 0:0a405c6f350d | 31 | } |
AndreaC | 0:0a405c6f350d | 32 | |
AndreaC | 0:0a405c6f350d | 33 | int main() |
AndreaC | 0:0a405c6f350d | 34 | { |
AndreaC | 0:0a405c6f350d | 35 | bt.baud(9600); |
AndreaC | 0:0a405c6f350d | 36 | while(1) |
AndreaC | 0:0a405c6f350d | 37 | { |
AndreaC | 0:0a405c6f350d | 38 | if(bt.readable()) //establesco la conexion del bluethooth |
AndreaC | 0:0a405c6f350d | 39 | { |
AndreaC | 0:0a405c6f350d | 40 | char c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable |
AndreaC | 0:0a405c6f350d | 41 | //bt.printf("%c\n\r", c); |
AndreaC | 0:0a405c6f350d | 42 | |
AndreaC | 0:0a405c6f350d | 43 | if (c == 'm') |
AndreaC | 0:0a405c6f350d | 44 | { |
AndreaC | 0:0a405c6f350d | 45 | bt.printf("Iluminacion Automatica Activada\r"); |
AndreaC | 0:0a405c6f350d | 46 | while(c != 'v'){ |
AndreaC | 0:0a405c6f350d | 47 | |
AndreaC | 0:0a405c6f350d | 48 | int val = pinLectura.read(); |
AndreaC | 0:0a405c6f350d | 49 | |
AndreaC | 0:0a405c6f350d | 50 | if (val == 0) |
AndreaC | 0:0a405c6f350d | 51 | { |
AndreaC | 0:0a405c6f350d | 52 | f_SensorMovimiento(); |
AndreaC | 0:0a405c6f350d | 53 | } |
AndreaC | 0:0a405c6f350d | 54 | if(bt.readable()) |
AndreaC | 0:0a405c6f350d | 55 | { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') |
AndreaC | 0:0a405c6f350d | 56 | c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable |
AndreaC | 0:0a405c6f350d | 57 | led = 0; //apaga el led si se sale de este pedaso |
AndreaC | 0:0a405c6f350d | 58 | } |
AndreaC | 0:0a405c6f350d | 59 | } |
AndreaC | 0:0a405c6f350d | 60 | bt.printf("Iluminacion Automatica Desactivada"); |
AndreaC | 0:0a405c6f350d | 61 | } |
AndreaC | 0:0a405c6f350d | 62 | if(c == 'p') |
AndreaC | 0:0a405c6f350d | 63 | { |
AndreaC | 0:0a405c6f350d | 64 | bt.printf("Prueba"); |
AndreaC | 0:0a405c6f350d | 65 | } |
AndreaC | 0:0a405c6f350d | 66 | } |
AndreaC | 0:0a405c6f350d | 67 | } |
AndreaC | 0:0a405c6f350d | 68 | } |