Andrea Coronado / Mbed 2 deprecated final_Informatica

Dependencies:   Servo mbed

Fork of bluetooth by oscar orozco

Committer:
Bountyhunter00v
Date:
Sun Nov 30 01:22:09 2014 +0000
Revision:
0:6c63cd34de2d
casa domotica;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bountyhunter00v 0:6c63cd34de2d 1 #include "mbed.h" //libreria de mbed lol XD
Bountyhunter00v 0:6c63cd34de2d 2 #include "Servo.h" // libreria del servo, es para controlar el servo
Bountyhunter00v 0:6c63cd34de2d 3 Serial bt(PTE0, PTE1); // establese puentos que comunican con el bluethoot, establese una varialbe llamada "bt" para estos puertos
Bountyhunter00v 0:6c63cd34de2d 4 Serial pc(USBTX,USBRX); // comunicacion serial con la computadora
Bountyhunter00v 0:6c63cd34de2d 5 PwmOut servo(PTA5); // esptablece una variable Pwm llamada "servo"
Bountyhunter00v 0:6c63cd34de2d 6 PwmOut buzzer_valor(PTB1); // establece una variable Pwm llamada "buzzer_valor"
Bountyhunter00v 0:6c63cd34de2d 7 PwmOut led_foto(PTC8); //establece una variable pwm llamada "led"
Bountyhunter00v 0:6c63cd34de2d 8 AnalogIn fotoresistencia_valor(PTB3); //establece una variable Analogica llamada "fotoresistencia_valor", esta variable la resive la freedom,
Bountyhunter00v 0:6c63cd34de2d 9 DigitalOut led_sensorm(PTC9);
Bountyhunter00v 0:6c63cd34de2d 10 DigitalIn pinLectura = (PTB0); // Pin de lectura del sensor INPUTPIN
Bountyhunter00v 0:6c63cd34de2d 11 Timer timer;
Bountyhunter00v 0:6c63cd34de2d 12
Bountyhunter00v 0:6c63cd34de2d 13 void f_SensorMovimiento(){
Bountyhunter00v 0:6c63cd34de2d 14 timer.start();
Bountyhunter00v 0:6c63cd34de2d 15 while(timer <= 3)
Bountyhunter00v 0:6c63cd34de2d 16 {
Bountyhunter00v 0:6c63cd34de2d 17 led_sensorm = 1;
Bountyhunter00v 0:6c63cd34de2d 18 }
Bountyhunter00v 0:6c63cd34de2d 19 timer.stop();
Bountyhunter00v 0:6c63cd34de2d 20 timer.reset();
Bountyhunter00v 0:6c63cd34de2d 21 led_sensorm=0;
Bountyhunter00v 0:6c63cd34de2d 22 }
Bountyhunter00v 0:6c63cd34de2d 23
Bountyhunter00v 0:6c63cd34de2d 24 void fotoresistencia(){ // funcion de la fotoresistencia
Bountyhunter00v 0:6c63cd34de2d 25 float valor=fotoresistencia_valor.read(); // lee es lavor de la fotoresistencia y la asigna a una variable flotante llamada "valor"
Bountyhunter00v 0:6c63cd34de2d 26 wait(.025); // timer se .025s
Bountyhunter00v 0:6c63cd34de2d 27 valor=((fotoresistencia_valor -(.039))*(-10)); // funcion que recorre los valores de la freedom
Bountyhunter00v 0:6c63cd34de2d 28 //valor=((1)-(valor)); // nada
Bountyhunter00v 0:6c63cd34de2d 29 if(valor<0){ // si el valor es menor a cero
Bountyhunter00v 0:6c63cd34de2d 30 valor=0; // iguala el valor a 0
Bountyhunter00v 0:6c63cd34de2d 31 }
Bountyhunter00v 0:6c63cd34de2d 32 if(valor>1){ //si el valor es mayor a cero
Bountyhunter00v 0:6c63cd34de2d 33
Bountyhunter00v 0:6c63cd34de2d 34 valor=1; // iguala el valor a 1
Bountyhunter00v 0:6c63cd34de2d 35 }
Bountyhunter00v 0:6c63cd34de2d 36 led_foto=valor; // enciende el led con una intencidad = al valor
Bountyhunter00v 0:6c63cd34de2d 37 }
Bountyhunter00v 0:6c63cd34de2d 38
Bountyhunter00v 0:6c63cd34de2d 39 void buzzer(){ // funcion del buzzer
Bountyhunter00v 0:6c63cd34de2d 40 bt.printf("piiiiii\n\r"); //imprime un string como respuesta, ay comnicacion y la funcion esta siendo corrida
Bountyhunter00v 0:6c63cd34de2d 41 buzzer_valor.period_ms(1); // set PWM period
Bountyhunter00v 0:6c63cd34de2d 42 buzzer_valor=0.5; //set duty cycle
Bountyhunter00v 0:6c63cd34de2d 43 wait(0.5); //hold for beat period
Bountyhunter00v 0:6c63cd34de2d 44 } // termina la funcion
Bountyhunter00v 0:6c63cd34de2d 45
Bountyhunter00v 0:6c63cd34de2d 46 int main(){ // inicia el programa
Bountyhunter00v 0:6c63cd34de2d 47
Bountyhunter00v 0:6c63cd34de2d 48 bt.baud(9600); // establese la comunicacion serial entre la freedom y el bluethooth
Bountyhunter00v 0:6c63cd34de2d 49 servo.period_ms(20); // esta linea asigna un periodo en milisegundos, este periodo es asignado para pode usar es servo
Bountyhunter00v 0:6c63cd34de2d 50
Bountyhunter00v 0:6c63cd34de2d 51 while(1) // esta parte del programa se repite infinitamente
Bountyhunter00v 0:6c63cd34de2d 52 {
Bountyhunter00v 0:6c63cd34de2d 53 if(bt.readable()) //establesco la conexion del bluethooth
Bountyhunter00v 0:6c63cd34de2d 54 {
Bountyhunter00v 0:6c63cd34de2d 55 char c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable char
Bountyhunter00v 0:6c63cd34de2d 56
Bountyhunter00v 0:6c63cd34de2d 57 bt.printf("%c\n\r",c); // como respuesta para verificar que la informacion mandada aya llegado a la freedom
Bountyhunter00v 0:6c63cd34de2d 58 // la imprime en la terminal del usuario
Bountyhunter00v 0:6c63cd34de2d 59
Bountyhunter00v 0:6c63cd34de2d 60 if (c == 'w'){ //checa si el caracter mandado por el usuario es una "w"
Bountyhunter00v 0:6c63cd34de2d 61
Bountyhunter00v 0:6c63cd34de2d 62 servo.pulsewidth_us(1700);// move servo to 180° position
Bountyhunter00v 0:6c63cd34de2d 63 bt.printf("serbou\n\r"); // imprime en la terminal del usuario un string"servoa"
Bountyhunter00v 0:6c63cd34de2d 64
Bountyhunter00v 0:6c63cd34de2d 65 }
Bountyhunter00v 0:6c63cd34de2d 66 if (c == 's'){ //checa si el caracter mandado por el usuario es una "s"
Bountyhunter00v 0:6c63cd34de2d 67
Bountyhunter00v 0:6c63cd34de2d 68 servo.pulsewidth_us(1000);//move servo to 0 degrees
Bountyhunter00v 0:6c63cd34de2d 69 bt.printf("servob\n\r"); //imprime en la terminal del usuario un string "servob"
Bountyhunter00v 0:6c63cd34de2d 70 }
Bountyhunter00v 0:6c63cd34de2d 71
Bountyhunter00v 0:6c63cd34de2d 72 if( c == 'p'){ //checa si el caracter mandado por el usuario es una "p"
Bountyhunter00v 0:6c63cd34de2d 73
Bountyhunter00v 0:6c63cd34de2d 74 buzzer(); //manda llamar la funcion del buzzer
Bountyhunter00v 0:6c63cd34de2d 75 }
Bountyhunter00v 0:6c63cd34de2d 76 if (c == 'm')
Bountyhunter00v 0:6c63cd34de2d 77 {
Bountyhunter00v 0:6c63cd34de2d 78
Bountyhunter00v 0:6c63cd34de2d 79 bt.printf("Iluminacion Automatica Activada\r");
Bountyhunter00v 0:6c63cd34de2d 80 while(c != 'v'){
Bountyhunter00v 0:6c63cd34de2d 81
Bountyhunter00v 0:6c63cd34de2d 82 int val = pinLectura.read();
Bountyhunter00v 0:6c63cd34de2d 83 pc.printf("%f",val);
Bountyhunter00v 0:6c63cd34de2d 84 if (val == 0)
Bountyhunter00v 0:6c63cd34de2d 85 {
Bountyhunter00v 0:6c63cd34de2d 86 f_SensorMovimiento();
Bountyhunter00v 0:6c63cd34de2d 87 buzzer();
Bountyhunter00v 0:6c63cd34de2d 88 }
Bountyhunter00v 0:6c63cd34de2d 89 if(bt.readable())
Bountyhunter00v 0:6c63cd34de2d 90 { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v')
Bountyhunter00v 0:6c63cd34de2d 91 c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable
Bountyhunter00v 0:6c63cd34de2d 92 led_sensorm = 0; //apaga el led si se sale de este pedaso
Bountyhunter00v 0:6c63cd34de2d 93 }
Bountyhunter00v 0:6c63cd34de2d 94 }
Bountyhunter00v 0:6c63cd34de2d 95 bt.printf("Iluminacion Automatica Desactivada");
Bountyhunter00v 0:6c63cd34de2d 96 }
Bountyhunter00v 0:6c63cd34de2d 97 if(c =='f'){ // checa si el caracter mandado por el usuario es una "v"
Bountyhunter00v 0:6c63cd34de2d 98
Bountyhunter00v 0:6c63cd34de2d 99 while(c != 'v'){ // la siguiente parte del programa se va a repetir infinitamente hasta que c no sea igual a "v"
Bountyhunter00v 0:6c63cd34de2d 100 fotoresistencia(); //manda llamar la funcion de la resistencia
Bountyhunter00v 0:6c63cd34de2d 101 if(bt.readable()) { // reestablese la conexcion del bluethooth para solisitar o checar si se vumple la opcion para salir del while(c!=='v')
Bountyhunter00v 0:6c63cd34de2d 102 c = bt.getc(); //resive un caracter via bluethoth y lo asigna a una variable char
Bountyhunter00v 0:6c63cd34de2d 103 led_foto=0; //apaga el led si se sale de este pedaso
Bountyhunter00v 0:6c63cd34de2d 104 }//comunicacion
Bountyhunter00v 0:6c63cd34de2d 105 }//cierra el while( c!=v)
Bountyhunter00v 0:6c63cd34de2d 106 bt.printf("fotoresistencia DESACTIVADA\n\r"); //imprime en la terminal que se desactivo la resistnecia
Bountyhunter00v 0:6c63cd34de2d 107
Bountyhunter00v 0:6c63cd34de2d 108 } //cierra el if de(c=='f')
Bountyhunter00v 0:6c63cd34de2d 109 }//cierra el if de la comunicacion
Bountyhunter00v 0:6c63cd34de2d 110 }// cierra el while (1)
Bountyhunter00v 0:6c63cd34de2d 111 }// ciera el int main