Sensor de movimiento con bluetooth

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers movimiento.cpp Source File

movimiento.cpp

00001 #include "mbed.h"
00002 Serial pc(USBTX, USBRX);
00003 
00004 DigitalOut led = (PTC9);      // LED que comprueba movimiento
00005 DigitalIn pinLectura = (PTB0);       // Pin de lectura del sensor INPUTPIN
00006 Timer timer;
00007 int begin, end;
00008 
00009 PwmOut buzzer_valor(PTB2);
00010 
00011 Serial bt(PTE0, PTE1);
00012 
00013 void fBuzzer()
00014 { // funcion del buzzer
00015     bt.baud(9600);
00016     buzzer_valor.period_ms(1); // set PWM period
00017     bt.printf("INTRUSO!");
00018     while(1)
00019     {
00020         if(bt.readable())
00021         {
00022             //valorDIP = switchSistemaSeguridad.read();
00023             buzzer_valor = 0.5; //set duty cycle
00024             wait(0.3); //hold for beat period
00025             buzzer_valor = 0;
00026             wait(0.3);
00027             
00028             /*ledsPrincipales = 1; //set duty cycle
00029             wait(0.3); //hold for beat period
00030             ledsPrincipales = 0;
00031             wait(0.3);*/
00032             
00033             int blue = bt.getc();
00034             if (blue == 'd'){     
00035                 bt.printf("Sistema Desactivado");
00036                 return;
00037             }
00038         }            
00039     }
00040 }
00041 
00042 void f_SensorMovimiento()
00043 {
00044     timer.start();
00045     while(timer <= 3)
00046     {
00047         led = 1;
00048     }
00049     timer.stop();
00050     timer.reset();
00051     
00052     int val2 = pinLectura.read();
00053     
00054     if(val2 == 0){
00055         f_SensorMovimiento();
00056     }
00057     
00058     else{
00059         led = 0;
00060         return;
00061     }
00062 }
00063 
00064 int main()
00065 {
00066     bt.baud(9600);
00067     while(1)
00068     {
00069         
00070         int val = pinLectura.read();
00071         
00072         if(bt.readable()) //establesco la conexion del bluethooth 
00073         { 
00074             char c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable 
00075             //bt.printf("%c\n\r", c);
00076             
00077             if(c == 's')
00078             {
00079                 bt.printf("Sistema Activado");
00080                 if(val == 0)
00081                 {
00082                     fBuzzer();
00083                 }
00084             }
00085             
00086             if (c == 'm')
00087             {
00088                 bt.printf("Iluminacion Automatica Activada\r");
00089                 while(c != 'v'){
00090         
00091                     if (val == 0)
00092                     {
00093                         f_SensorMovimiento();
00094                     }
00095                     if(bt.readable()) 
00096                     {                   // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') 
00097                         c = bt.getc();  //resive un caracter via bluethoth y lo asigna a una variable 
00098                         led = 0;        //apaga el led si se sale de este pedaso 
00099                     }
00100                 }
00101                 bt.printf("Iluminacion Automatica Desactivada");
00102             }
00103             if(c == 'p')
00104             {
00105                 bt.printf("Prueba");
00106             }
00107         }
00108     }
00109 }