PROYECTO DE DOMOTICA

Dependencies:   mbed Servo DHT11

Revision:
0:8ff600c50722
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue May 28 23:33:24 2019 +0000
@@ -0,0 +1,168 @@
+/* ###########################################################################
+**    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();
+               
+               
+           }
+           }
+       
+       
+       
+       
+       
+           
+     }
+       
+     
+}
\ No newline at end of file