![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
PROYECTO DE DOMOTICA
Dependencies: mbed Servo DHT11
main.cpp
- Committer:
- jossarr
- Date:
- 2019-05-28
- Revision:
- 0:8ff600c50722
File content as of revision 0:8ff600c50722:
/* ########################################################################### ** Archivo : main.c ** Proyecto : FRDM-KL46Z_Proyecto_bluetooth ** Procesador : MKL46Z256VLL4 ** Herramienta : Mbed ** Version : Driver 01.01 ** Compilador : GNU C Compiler ** Fecha/Hora : 28-05-2019, 11:48, # CodeGen: 0 ** Descripción : ** Poryecto de domotica para control de sensores, por app en celular, registro de temperatura y humedad. ** ** Componentes : GPIO, Inteerupt, NFC, . ** Configuraciones : IRF, DTH11 ** Autores : JOSÉ CARLOS ARRATIA CASAS ** ATEAM Development Group: ** - Antulio Morgado Valle ** ** Versión : Beta ** Revisión : A ** Release : 0 ** Bugs & Fixes : ** Date : 28/05/2019 ** Added support for Led_RGB ** 22/09/2018 ** ** * ###########################################################################/ */ #include "mbed.h" #include "Serial.h" #include "string.h" #include "stdio.h" #include"stdlib.h" #include "Dht11.h" #include "MFRC522.h" #include "Servo.h" #define MF_RESET D8 DigitalIn sensor_g (PTB20); DigitalOut rojo(LED_RED); DigitalOut led_pir(PTE16); DigitalOut led_1 (PTE6); DigitalOut led_2(PTE3); DigitalOut led_3 (PTE2); Serial bluetooth(PTE20, PTE21); Dht11 sensor_t(PTD4); DigitalIn pir(PTA13); DigitalOut buzzer (PTD3); DigitalOut led_rojo (PTB19); DigitalOut led_verde (PTC0); MFRC522 RfChip (PTD6, PTD7, PTD5, PTC9, PTD2); DigitalOut servo(PTA4); void open(){ for(int hz=0; hz<50; hz++){ servo=1; wait_us(2300); servo=0; wait_ms(18); } led_rojo= !led_rojo; led_verde= !led_verde; } void close (){ for(int hz=0; hz<50; hz++){ servo=1; wait_us(700); servo=0; wait_ms(20); } led_rojo= !led_rojo; led_verde = !led_verde; } /* sensor.read() pc.printf("T: %f, H: %d\r\n", sensor.getFahrenheit(), sensor.getHumidity());*/ /////////////////////////PROGRAMA PRINCIPAL/////////////////////////////////// int main() { buzzer=1; //myservo.calibrate(2.0, 0.0); led_rojo=1; led_verde=0; RfChip.PCD_Init(); led_1=1;// por el rele led_2=1; //por rele led_3=0; //led de potencia; led_pir=0; bluetooth.baud(115200); char selec='0'; wait_ms(500); while(true){ if ( RfChip.PICC_IsNewCardPresent()) { buzzer=0; wait_ms(10); buzzer=1; open(); wait(2); close(); // continue; } sensor_t.read(); led_pir=pir.read(); bluetooth.printf("%d,%d,",sensor_t.getCelsius(), sensor_t.getHumidity()); rojo=1; wait(2); rojo=0; if(bluetooth.readable()){ selec = bluetooth.getc(); switch(selec){ case 'a':{ led_1=0; // en caso de usar rele por que se activa con un cero } break; case 'b':{led_1 =1;} // en caso de usar rele break; case 'c':{led_2=0;} //hecho para usar rele break; case 'd':{led_2=1;}//hecho para usar rele break; case 'e':{led_3=1;}// led de potencia break; case 'f': {led_3=0;} break; } selec='0'; } if(sensor_g==0){ int lec_g=0; while(lec_g==0){ led_1=led_2=led_pir=buzzer=0; led_3=1; wait_ms(1000); led_1=led_2=led_pir=buzzer=1; led_3=0; wait_ms(1000); lec_g=sensor_g.read(); } } } }