Andrea Coronado
/
final_Informatica
Casa Domotica
Fork of bluetooth by
Revision 1:4262d6cea937, committed 2014-12-01
- Comitter:
- AndreaC
- Date:
- Mon Dec 01 13:38:09 2014 +0000
- Parent:
- 0:6c63cd34de2d
- Commit message:
- Final de Informatica
Changed in this revision
Final_Informatica.cpp | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Final_Informatica.cpp Mon Dec 01 13:38:09 2014 +0000 @@ -0,0 +1,171 @@ +#include "mbed.h" //libreria de mbed lol XD +#include "Servo.h" // libreria del servo, es para controlar el servo + +Serial bt(PTE0, PTE1); // establese puentos que comunican con el bluethoot, establese una varialbe llamada "bt" para estos puertos +Serial pc(USBTX,USBRX); // comunicacion serial con la computadora +PwmOut servo(PTA5); // esptablece una variable Pwm llamada "servo" +PwmOut buzzer_valor(PTB1); // establece una variable Pwm llamada "buzzer_valor" +PwmOut led_foto(PTC8); //establece una variable pwm llamada "led" +AnalogIn fotoresistencia_valor(PTB3); //establece una variable Analogica llamada "fotoresistencia_valor", esta variable la resive la freedom, +DigitalOut led_sensorm(PTC9); +DigitalIn pinLectura = (PTB0); // Pin de lectura del sensor INPUTPIN +Timer timer; + +int valorReedSwitch = 0; +DigitalIn reedSwitch(PTA13); + +void f_SensorMovimiento() +{ + timer.start(); + while(timer <= 3) + { + led_sensorm = 1; + } + timer.stop(); + timer.reset(); + led_sensorm=0; +} + +void fotoresistencia() +{ // funcion de la fotoresistencia + float valor=fotoresistencia_valor.read(); // lee es lavor de la fotoresistencia y la asigna a una variable flotante llamada "valor" + wait(.025); // timer se .025s + valor=((fotoresistencia_valor -(.039))*(-10)); // funcion que recorre los valores de la freedom + //valor=((1)-(valor)); // nada + if(valor<0) + { // si el valor es menor a cero + valor=0; // iguala el valor a 0 + } + if(valor>1) + { //si el valor es mayor a cero + valor=1; // iguala el valor a 1 + } + led_foto=valor; // enciende el led con una intencidad = al valor +} + + void buzzer() + { // funcion del buzzer + bt.printf("Alarma Activada\n\r"); //imprime un string como respuesta, ay comnicacion y la funcion esta siendo corrida + buzzer_valor.period_ms(1); // set PWM period + timer.start(); + while(timer <= 5) + { + buzzer_valor = 0.5; //set duty cycle + led_sensorm = 1; + wait(0.3); //hold for beat period + buzzer_valor = 0; + led_sensorm = 0; + wait(0.3); + } + timer.stop(); + timer.reset(); + } // termina la funcion + +int main() +{ // inicia el programa + + bt.baud(9600); // establese la comunicacion serial entre la freedom y el bluethooth + servo.period_ms(20); // esta linea asigna un periodo en milisegundos, este periodo es asignado para pode usar es servo + + while(1) // esta parte del programa se repite infinitamente + { + if(bt.readable()) //establesco la conexion del bluethooth + { + char c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable char + + bt.printf("%c\n\r",c); // como respuesta para verificar que la informacion mandada aya llegado a la freedom + // la imprime en la terminal del usuario + + if (c == 'w') + { //checa si el caracter mandado por el usuario es una "w" + + servo.pulsewidth_us(1700);// move servo to 180° position + bt.printf("serbou\n\r"); // imprime en la terminal del usuario un string"servoa" + + } + if (c == 's') + { //checa si el caracter mandado por el usuario es una "s" + + servo.pulsewidth_us(1000);//move servo to 0 degrees + bt.printf("servob\n\r"); //imprime en la terminal del usuario un string "servob" + } + + if( c == 'p') + {//checa si el caracter mandado por el usuario es una "p" + buzzer(); //manda llamar la funcion del buzzer + } + + if( c == 'r') + {//checa si el caracter mandado por el usuario es una "p" + while(c != 'v') + { + valorReedSwitch = reedSwitch.read(); + if(valorReedSwitch == 1); + buzzer(); + } + } + + if (c == 'm') + { + + bt.printf("Iluminacion Automatica Activada\r"); + while(c != 'v') + { + int val = pinLectura.read(); + if (val == 0) + { + f_SensorMovimiento(); + } + if(bt.readable()) + { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') + c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable + led_sensorm = 0; //apaga el led si se sale de este pedaso + } + } + bt.printf("Iluminacion Automatica Desactivada"); + } + + if (c == 'a') + { + bt.printf("Sistema de Seguridad Activado\r"); + while(c != 'v') + { + int val = pinLectura.read(); + if (val == 0) + { + bt.printf("INTRUSO!"); + while (c != 'e'){ + buzzer(); + if(bt.readable()) + { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') + c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable + led_sensorm = 0; //apaga el led si se sale de este pedaso + } + } + } + if(bt.readable()) + { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') + c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable + led_sensorm = 0; //apaga el led si se sale de este pedaso + } + } + bt.printf("Alarma Desactivada"); + } + + if(c =='f') + { // checa si el caracter mandado por el usuario es una "v" + bt.printf("Fotoresistencia Activada\r"); + while(c != 'v') + { // la siguiente parte del programa se va a repetir infinitamente hasta que c no sea igual a "v" + fotoresistencia(); //manda llamar la funcion de la resistencia + if(bt.readable()) + { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') + c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable char + led_foto=0; //apaga el led si se sale de este pedaso + }//comunicacion + }//cierra el while( c!=v) + bt.printf("fotoresistencia DESACTIVADA\n\r"); //imprime en la terminal que se desactivo la resistnecia + } //cierra el if de(c=='f') + }//cierra el if de la comunicacion + }// cierra el while (1) +}// ciera el int main \ No newline at end of file
--- a/main.cpp Sun Nov 30 01:22:09 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -#include "mbed.h" //libreria de mbed lol XD -#include "Servo.h" // libreria del servo, es para controlar el servo -Serial bt(PTE0, PTE1); // establese puentos que comunican con el bluethoot, establese una varialbe llamada "bt" para estos puertos -Serial pc(USBTX,USBRX); // comunicacion serial con la computadora -PwmOut servo(PTA5); // esptablece una variable Pwm llamada "servo" -PwmOut buzzer_valor(PTB1); // establece una variable Pwm llamada "buzzer_valor" -PwmOut led_foto(PTC8); //establece una variable pwm llamada "led" -AnalogIn fotoresistencia_valor(PTB3); //establece una variable Analogica llamada "fotoresistencia_valor", esta variable la resive la freedom, -DigitalOut led_sensorm(PTC9); -DigitalIn pinLectura = (PTB0); // Pin de lectura del sensor INPUTPIN -Timer timer; - -void f_SensorMovimiento(){ - timer.start(); - while(timer <= 3) - { - led_sensorm = 1; - } - timer.stop(); - timer.reset(); - led_sensorm=0; - } - - void fotoresistencia(){ // funcion de la fotoresistencia - float valor=fotoresistencia_valor.read(); // lee es lavor de la fotoresistencia y la asigna a una variable flotante llamada "valor" - wait(.025); // timer se .025s - valor=((fotoresistencia_valor -(.039))*(-10)); // funcion que recorre los valores de la freedom - //valor=((1)-(valor)); // nada - if(valor<0){ // si el valor es menor a cero - valor=0; // iguala el valor a 0 - } - if(valor>1){ //si el valor es mayor a cero - - valor=1; // iguala el valor a 1 - } - led_foto=valor; // enciende el led con una intencidad = al valor - } - - void buzzer(){ // funcion del buzzer - bt.printf("piiiiii\n\r"); //imprime un string como respuesta, ay comnicacion y la funcion esta siendo corrida - buzzer_valor.period_ms(1); // set PWM period - buzzer_valor=0.5; //set duty cycle - wait(0.5); //hold for beat period - } // termina la funcion - -int main(){ // inicia el programa - - bt.baud(9600); // establese la comunicacion serial entre la freedom y el bluethooth - servo.period_ms(20); // esta linea asigna un periodo en milisegundos, este periodo es asignado para pode usar es servo - - while(1) // esta parte del programa se repite infinitamente - { - if(bt.readable()) //establesco la conexion del bluethooth - { - char c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable char - - bt.printf("%c\n\r",c); // como respuesta para verificar que la informacion mandada aya llegado a la freedom - // la imprime en la terminal del usuario - - if (c == 'w'){ //checa si el caracter mandado por el usuario es una "w" - - servo.pulsewidth_us(1700);// move servo to 180° position - bt.printf("serbou\n\r"); // imprime en la terminal del usuario un string"servoa" - - } - if (c == 's'){ //checa si el caracter mandado por el usuario es una "s" - - servo.pulsewidth_us(1000);//move servo to 0 degrees - bt.printf("servob\n\r"); //imprime en la terminal del usuario un string "servob" - } - - if( c == 'p'){ //checa si el caracter mandado por el usuario es una "p" - - buzzer(); //manda llamar la funcion del buzzer - } - if (c == 'm') - { - - bt.printf("Iluminacion Automatica Activada\r"); - while(c != 'v'){ - - int val = pinLectura.read(); - pc.printf("%f",val); - if (val == 0) - { - f_SensorMovimiento(); - buzzer(); - } - if(bt.readable()) - { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') - c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable - led_sensorm = 0; //apaga el led si se sale de este pedaso - } - } - bt.printf("Iluminacion Automatica Desactivada"); - } - if(c =='f'){ // checa si el caracter mandado por el usuario es una "v" - - while(c != 'v'){ // la siguiente parte del programa se va a repetir infinitamente hasta que c no sea igual a "v" - fotoresistencia(); //manda llamar la funcion de la resistencia - if(bt.readable()) { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v') - c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable char - led_foto=0; //apaga el led si se sale de este pedaso - }//comunicacion - }//cierra el while( c!=v) - bt.printf("fotoresistencia DESACTIVADA\n\r"); //imprime en la terminal que se desactivo la resistnecia - - } //cierra el if de(c=='f') - }//cierra el if de la comunicacion - }// cierra el while (1) -}// ciera el int main