Sensor de movimiento con bluetooth

Dependencies:   mbed

Committer:
AndreaC
Date:
Sat Nov 29 22:54:32 2014 +0000
Revision:
1:b0059057fd23
Parent:
0:0a405c6f350d
movimiento

Who changed what in which revision?

UserRevisionLine numberNew 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 1:b0059057fd23 9 PwmOut buzzer_valor(PTB2);
AndreaC 1:b0059057fd23 10
AndreaC 0:0a405c6f350d 11 Serial bt(PTE0, PTE1);
AndreaC 0:0a405c6f350d 12
AndreaC 1:b0059057fd23 13 void fBuzzer()
AndreaC 1:b0059057fd23 14 { // funcion del buzzer
AndreaC 1:b0059057fd23 15 bt.baud(9600);
AndreaC 1:b0059057fd23 16 buzzer_valor.period_ms(1); // set PWM period
AndreaC 1:b0059057fd23 17 bt.printf("INTRUSO!");
AndreaC 1:b0059057fd23 18 while(1)
AndreaC 1:b0059057fd23 19 {
AndreaC 1:b0059057fd23 20 if(bt.readable())
AndreaC 1:b0059057fd23 21 {
AndreaC 1:b0059057fd23 22 //valorDIP = switchSistemaSeguridad.read();
AndreaC 1:b0059057fd23 23 buzzer_valor = 0.5; //set duty cycle
AndreaC 1:b0059057fd23 24 wait(0.3); //hold for beat period
AndreaC 1:b0059057fd23 25 buzzer_valor = 0;
AndreaC 1:b0059057fd23 26 wait(0.3);
AndreaC 1:b0059057fd23 27
AndreaC 1:b0059057fd23 28 /*ledsPrincipales = 1; //set duty cycle
AndreaC 1:b0059057fd23 29 wait(0.3); //hold for beat period
AndreaC 1:b0059057fd23 30 ledsPrincipales = 0;
AndreaC 1:b0059057fd23 31 wait(0.3);*/
AndreaC 1:b0059057fd23 32
AndreaC 1:b0059057fd23 33 int blue = bt.getc();
AndreaC 1:b0059057fd23 34 if (blue == 'd'){
AndreaC 1:b0059057fd23 35 bt.printf("Sistema Desactivado");
AndreaC 1:b0059057fd23 36 return;
AndreaC 1:b0059057fd23 37 }
AndreaC 1:b0059057fd23 38 }
AndreaC 1:b0059057fd23 39 }
AndreaC 1:b0059057fd23 40 }
AndreaC 1:b0059057fd23 41
AndreaC 0:0a405c6f350d 42 void f_SensorMovimiento()
AndreaC 0:0a405c6f350d 43 {
AndreaC 0:0a405c6f350d 44 timer.start();
AndreaC 0:0a405c6f350d 45 while(timer <= 3)
AndreaC 0:0a405c6f350d 46 {
AndreaC 0:0a405c6f350d 47 led = 1;
AndreaC 0:0a405c6f350d 48 }
AndreaC 0:0a405c6f350d 49 timer.stop();
AndreaC 0:0a405c6f350d 50 timer.reset();
AndreaC 0:0a405c6f350d 51
AndreaC 0:0a405c6f350d 52 int val2 = pinLectura.read();
AndreaC 0:0a405c6f350d 53
AndreaC 0:0a405c6f350d 54 if(val2 == 0){
AndreaC 0:0a405c6f350d 55 f_SensorMovimiento();
AndreaC 0:0a405c6f350d 56 }
AndreaC 0:0a405c6f350d 57
AndreaC 0:0a405c6f350d 58 else{
AndreaC 0:0a405c6f350d 59 led = 0;
AndreaC 0:0a405c6f350d 60 return;
AndreaC 0:0a405c6f350d 61 }
AndreaC 0:0a405c6f350d 62 }
AndreaC 0:0a405c6f350d 63
AndreaC 0:0a405c6f350d 64 int main()
AndreaC 0:0a405c6f350d 65 {
AndreaC 0:0a405c6f350d 66 bt.baud(9600);
AndreaC 0:0a405c6f350d 67 while(1)
AndreaC 0:0a405c6f350d 68 {
AndreaC 1:b0059057fd23 69
AndreaC 1:b0059057fd23 70 int val = pinLectura.read();
AndreaC 1:b0059057fd23 71
AndreaC 0:0a405c6f350d 72 if(bt.readable()) //establesco la conexion del bluethooth
AndreaC 0:0a405c6f350d 73 {
AndreaC 0:0a405c6f350d 74 char c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable
AndreaC 0:0a405c6f350d 75 //bt.printf("%c\n\r", c);
AndreaC 0:0a405c6f350d 76
AndreaC 1:b0059057fd23 77 if(c == 's')
AndreaC 1:b0059057fd23 78 {
AndreaC 1:b0059057fd23 79 bt.printf("Sistema Activado");
AndreaC 1:b0059057fd23 80 if(val == 0)
AndreaC 1:b0059057fd23 81 {
AndreaC 1:b0059057fd23 82 fBuzzer();
AndreaC 1:b0059057fd23 83 }
AndreaC 1:b0059057fd23 84 }
AndreaC 1:b0059057fd23 85
AndreaC 0:0a405c6f350d 86 if (c == 'm')
AndreaC 0:0a405c6f350d 87 {
AndreaC 0:0a405c6f350d 88 bt.printf("Iluminacion Automatica Activada\r");
AndreaC 0:0a405c6f350d 89 while(c != 'v'){
AndreaC 0:0a405c6f350d 90
AndreaC 0:0a405c6f350d 91 if (val == 0)
AndreaC 0:0a405c6f350d 92 {
AndreaC 0:0a405c6f350d 93 f_SensorMovimiento();
AndreaC 0:0a405c6f350d 94 }
AndreaC 0:0a405c6f350d 95 if(bt.readable())
AndreaC 0:0a405c6f350d 96 { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v')
AndreaC 0:0a405c6f350d 97 c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable
AndreaC 0:0a405c6f350d 98 led = 0; //apaga el led si se sale de este pedaso
AndreaC 0:0a405c6f350d 99 }
AndreaC 0:0a405c6f350d 100 }
AndreaC 0:0a405c6f350d 101 bt.printf("Iluminacion Automatica Desactivada");
AndreaC 0:0a405c6f350d 102 }
AndreaC 0:0a405c6f350d 103 if(c == 'p')
AndreaC 0:0a405c6f350d 104 {
AndreaC 0:0a405c6f350d 105 bt.printf("Prueba");
AndreaC 0:0a405c6f350d 106 }
AndreaC 0:0a405c6f350d 107 }
AndreaC 0:0a405c6f350d 108 }
AndreaC 0:0a405c6f350d 109 }