ASSISTECH - ASISTENTE PARA PERSONAS CON DISCAPACIDADES VARIAS


 

CODIGO PARA PLACA #1 (ESP32S)

//CODIGO PARA PLACA D1 MINI EN PROYECTO "ASISTENTE PARA PERSONAS
//CON MOVILIDAD REDUCIDA" PLACA V 2.0

#include <GyverOLED.h>
GyverOLED<SSH1106_128x64> oled;


#ifdef ENABLE_DEBUG
       #define DEBUG_ESP_PORT Serial
       #define NODEBUG_WEBSOCKETS
       #define NDEBUG
#endif

#include <Arduino.h>
#ifdef ESP8266
       #include <ESP8266WiFi.h>
#endif
#ifdef ESP32  
       #include <WiFi.h>
#endif

#include "SinricPro.h"
#include "SinricProSwitch.h"

#define WIFI_SSID         "Oficina_Royero"    
#define WIFI_PASS         "@*Jerv*Jroyero*1209@"
#define APP_KEY           "d5dc9adc-91d7-4e49-a3b0-9f5a17e19e45"      // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
#define APP_SECRET        "cf5f0225-2825-48f5-a442-6bb90a99929a-e8571a4f-360d-4ba9-8f4b-478533c8803c"   // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"

#define SWITCH_ID_1       "63c5b1ad22e49e3cb5e671d9"    // Señal 1 - de cuenta dronactivos
#define SWITCH_ID_2       "63c5b20e07e1833ecb428ccb"    // Señal 2 - de cuenta dronactivos
#define SWITCH_ID_3       "63ca9f6f07e1833ecb45f1fb"    // Alarma
#define SWITCH_ID_4       "63fe827c1bb4e19c11aa572a"    // SEÑAL 3
#define SWITCH_ID_5       "63fe88ca5ec7d92a471988d0"    //SEÑAL 4      63fe88ca5ec7d92a471988d0
#define SWITCH_ID_6       "63fe9a791bb4e19c11aa5d91"   //EMERGENCIA - ACTIVA SIRENA

int Salida1 = 23; //P23
int Salida2 = 19; //P19
int Salida3 = 18; //P18
int Salida4 = 17; //P17
int Salida5 = 16; //P16
int Salida6 = 0; //P0
int Entrada1 = 5;
int SensoresRf = 35; //P35 (GPIO)
int Armado = 12; //P12 (GPIO)
int Desarmado = 14; //P14 (GPIO)

int LedR = 33; //P33 LED ROJO
int LedV = 25; //P25 LED VERDE
int LedA = 26; //P26 LED AZUL

int Sirena = 15; //P15 (GPIO)

int Varsinric = LOW;
int estIOT = LOW;
int estadoRF = LOW;
int estado1 = LOW;
int estado2 = LOW;
int estado3 = LOW;
int t1 = 4000;
long previousMillis = 0;        
long intervalOn = 120000;

bool myPowerState1 = false; //SALDA 1 - AGUA - PIN 23
bool myPowerState2 = false; //SALIDA 2 - INSULNA - PIN 19
bool myPowerState3 = false; //ALARMA
bool myPowerState4 = false; //SALIDA 3 - PIN 18
bool myPowerState5 = false; //SALIDA 4 - PIN 17
bool myPowerState6 = false; //SALIDA 5 - PIN 16

#define BAUD_RATE         9600                // Change baudrate to your need

bool onPowerState1(const String &deviceId, bool &state) {
  Serial.printf("Device 1 turned %s\r\n", state?"on":"off");
  myPowerState1 = state;
  digitalWrite(Salida1, !myPowerState1?LOW:HIGH);
   if (myPowerState1 == HIGH){
     oled.clear();
     oled.setScale(1);
     oled.setCursor(2, 2); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("FAVOR LLEVAR AGUA");
     oled.setCursor(2, 4); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("AL SEÑOR PEDRO");
     oled.setCursor(10, 6); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("MUCHAS GRACIAS.");
     oled.update();
     delay (t1);
     }
  return true; // request handled properly
}

bool onPowerState2(const String &deviceId, bool &state) {
  Serial.printf("Device 2 turned %s\r\n", state?"on":"off");
  myPowerState2 = state;
  digitalWrite(Salida2, !myPowerState2?LOW:HIGH);
  if (myPowerState2 == HIGH){
     oled.clear();
     oled.setScale(1);
     oled.setCursor(3, 2); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("FAVOR ADMINISTRAR");
     oled.setCursor(1, 4); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("INSULINA AL SEÑOR");
     oled.setCursor(1, 6); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("PEDRO. GRACIAS");
     oled.update();
     delay (t1);    
     }
  return true; // request handled properly
}

bool onPowerState3(const String &deviceId, bool &state) {
  Serial.printf("Device 3 turned %s\r\n", state?"on":"off");
  myPowerState3 = state;
  Varsinric = !myPowerState3?LOW:HIGH;
  estIOT = Varsinric;
  return true; // request handled properly
}

bool onPowerState4(const String &deviceId, bool &state) {
  Serial.printf("Device 4 turned %s\r\n", state?"on":"off");
  myPowerState4 = state; //ASISTIR CON EXTREMA URGENCIA A LA HABITACION DEL SEÑOR PEDRO
  digitalWrite(Salida3, !myPowerState4?LOW:HIGH);
  if (myPowerState4 == HIGH){
     oled.clear();
     oled.setScale(1);
     oled.setCursor(3, 2); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("ASISTIR CON EXTREMA");
     oled.setCursor(1, 4); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("URGENCIA A LA HABITACION");
     oled.setCursor(1, 6); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("DEL SEÑOR PEDRO");
     oled.update();
     delay (t1);    
     }
  return true; // request handled properly
}

bool onPowerState5(const String &deviceId, bool &state) {
  Serial.printf("Device 5 turned %s\r\n", state?"on":"off");
  myPowerState5 = state; //ASISTENCIA EN LA HABITACION LO ANTES POSIBLE. GRACIAS
  digitalWrite(Salida4, !myPowerState5?LOW:HIGH);
  if (myPowerState5 == HIGH){
     oled.clear();
     oled.setScale(1);
     oled.setCursor(3, 2); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("ASISTENCIA EN LA HABITACION");
     oled.setCursor(1, 4); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("LO ANTES POSIBLE");
     oled.setCursor(1, 6); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("GRACIAS");
     oled.update();
     delay (t1);    
     }
  return true; // request handled properly
}

bool onPowerState6(const String &deviceId, bool &state) {
  Serial.printf("Device 6 turned %s\r\n", state?"on":"off");
  myPowerState6 = state; //ASISTENCIA EN LA HABITACION LO ANTES POSIBLE. GRACIAS
  digitalWrite(Salida5, !myPowerState6?LOW:HIGH);
  if (myPowerState6 == HIGH){
     oled.clear();
     oled.setScale(1);
     oled.setCursor(3, 2); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("EMERGENCIA...");
     oled.setCursor(1, 4); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("SEÑOR PEDRO..");
     oled.setCursor(1, 6); //Columna, Fila .... 128 columnas y 64 filas
     oled.print("EN PELIGRO");
     oled.update();
     delay (t1);    
     //delay (3000);
     //digitalWrite(Sirena, HIGH);
     //delay (10000);
     //digitalWrite(Sirena, LOW);
     }
  return true; // request handled properly
}

// setup function for WiFi connection
void setupWiFi() {
  Serial.printf("\r\n[Wifi]: Connecting");
  WiFi.begin(WIFI_SSID, WIFI_PASS);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.printf(".");
    delay(250);
  }

  Serial.printf("connected!\r\n[WiFi]: IP-Address is %s\r\n", WiFi.localIP().toString().c_str());
  digitalWrite(LedA, LOW);
  digitalWrite(LedR, HIGH);  //ENCIENDE LED INTEGRADO UNA VEZ QUE SE CONECTE A LA RED WIFI
  delay (300);
  digitalWrite(LedR, LOW);
  delay (300);
  digitalWrite(LedR, HIGH);  //ENCIENDE LED INTEGRADO UNA VEZ QUE SE CONECTE A LA RED WIFI
  delay (300);
  digitalWrite(LedR, LOW);
  delay (300);
  digitalWrite(LedR, HIGH);  //ENCIENDE LED INTEGRADO UNA VEZ QUE SE CONECTE A LA RED WIFI
  delay (300);
  digitalWrite(LedR, LOW);
 
  oled.clear();
  oled.setScale(1);
  oled.setCursor(1, 2); //Columna, Fila .... 128 columnas y 64 filas
  oled.print("CONECTADO A INTERNET");
  oled.update();
  }

// setup function for SinricPro
void setupSinricPro() {
  // add devices and callbacks to SinricPro
  SinricProSwitch& mySwitch1 = SinricPro[SWITCH_ID_1];
  mySwitch1.onPowerState(onPowerState1);

  SinricProSwitch& mySwitch2 = SinricPro[SWITCH_ID_2];
  mySwitch2.onPowerState(onPowerState2);

  SinricProSwitch& mySwitch3 = SinricPro[SWITCH_ID_3];
  mySwitch3.onPowerState(onPowerState3);

  SinricProSwitch& mySwitch4 = SinricPro[SWITCH_ID_4];
  mySwitch4.onPowerState(onPowerState4);

  SinricProSwitch& mySwitch5 = SinricPro[SWITCH_ID_5];
  mySwitch5.onPowerState(onPowerState5);

  SinricProSwitch& mySwitch6 = SinricPro[SWITCH_ID_6];
  mySwitch6.onPowerState(onPowerState6);

  // setup SinricPro
  SinricPro.onConnected([](){
    Serial.printf("Connected to SinricPro\r\n");
    digitalWrite(LedV, HIGH); //LED VERDE
    delay (300);
    digitalWrite(LedV, LOW);
    delay (300);
    digitalWrite(LedV, HIGH);  
    delay (300);
    digitalWrite(LedV, LOW);
    delay (300);
    digitalWrite(LedV, HIGH);  

    oled.clear();
    oled.setScale(1);
    oled.setCursor(1, 2); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("CONECTADO A SINRIC");
    oled.update();
    delay (1000);
     });
  SinricPro.onDisconnected([](){
    Serial.printf("Disconnected from SinricPro\r\n");
    digitalWrite(LedR, LOW);
    oled.clear();
    oled.setScale(1);
    oled.setCursor(1, 2); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("DESCONECTADO DE SINRIC");
    oled.update();
    });
  SinricPro.begin(APP_KEY, APP_SECRET);
}

// main setup function
void setup() {
 oled.init();  
 oled.clear();
 oled.update();
 oled.setScale(2);
 oled.setCursor(8, 3);
 oled.print("ASSISTECH");
 oled.setScale(1);
 oled.setCursor(8, 6);
 oled.print("ON LINE");
 oled.update();


  pinMode (Salida1, OUTPUT);
  pinMode (Salida2, OUTPUT);
  pinMode (Salida3, OUTPUT);
  pinMode (Salida4, OUTPUT);
  pinMode (Salida5, OUTPUT);
  pinMode (Salida6, OUTPUT);
 
  pinMode (Entrada1, INPUT);
  pinMode (SensoresRf, INPUT);
  pinMode (Armado, INPUT);
  pinMode (Desarmado, INPUT);
 
  pinMode (LedR, OUTPUT);
  pinMode (LedV, OUTPUT);
  pinMode (LedA, OUTPUT);
 
  pinMode (Sirena, OUTPUT);
 
  digitalWrite (Salida1, LOW);
  digitalWrite (Salida2, LOW);
  digitalWrite (Salida3, LOW);
  digitalWrite (Salida4, LOW);
  digitalWrite (Salida5, LOW);
  digitalWrite (Salida6, LOW);
 
  digitalWrite (LedR, LOW);
  digitalWrite (LedV, LOW);
  digitalWrite (LedA, HIGH);
 
  digitalWrite (Sirena, LOW);
  delay (500);
  Serial.begin(BAUD_RATE); Serial.printf("\r\n\r\n");
  setupWiFi();
  setupSinricPro();
}

void loop() {
  SinricPro.handle();

   
    if((estado1 == LOW) && (estado2 == LOW)&& (estado3 == LOW)){ //SI ESTA DESARMADO
    digitalWrite(LedR, LOW); //LED ROJO
    digitalWrite(LedV, HIGH); //LED VERDE ENCENDIDO
    digitalWrite(LedA, LOW); //LED AZUL
    oled.clear();
    oled.setScale(2);
    oled.setCursor(6, 2); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("ASSISTECH");
    oled.setScale(1);
    oled.setCursor(6, 6); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("SISTEMA DESARMADO");
    oled.update();
  }

  if((estado1 == HIGH) && (estado2 == HIGH)&& (estado3 == LOW)){ //SI ESTA DISPARADA LA ALARMA SIN GAS
    digitalWrite(LedR, LOW); //LED ROJO
    digitalWrite(LedV, LOW); //LED VERDE
    digitalWrite(LedA, HIGH); //LED AZUL ENCENDIDO
  }
 
  if((estado1 == HIGH) && (estado2 == LOW)&& (estado3 == LOW)){ //SI ESTA ARMADO Y NO HA DETECTADO MOVIMIENTO Y NO HAY SEÑAL DE GAS
    oled.clear();
    oled.setScale(2);
    oled.setCursor(6, 2); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("ASSISTECH");
    oled.setScale(1);
    oled.setCursor(6, 6); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("SISTEMA ARMADO");
    oled.update();
    digitalWrite(LedR, HIGH); //LED ROJO ENCENDIDO
    digitalWrite(LedV, LOW); //LED VERDE
    digitalWrite(LedA, LOW); //LED AZUL
    delay (500);
    digitalWrite(LedR, LOW);
    delay (1000);
     }


  if (digitalRead(Entrada1) == HIGH){ //SI ENTRA SEAL DE FUGA DE GAS DETECTADO
    estado3 = HIGH;

    oled.clear();
    oled.setScale(2);
    oled.setCursor(6, 2);
    oled.print("PELIGRO");
    oled.setScale(1);
    oled.setCursor(0, 5);
    oled.print("FUGA DE GAS DETECTADA");
    oled.update();
   
    digitalWrite(Sirena, HIGH);
    digitalWrite(LedR, LOW); //ROJO
    digitalWrite(LedV, LOW); //VERDE
    digitalWrite(LedA, HIGH); //AZUL ENCENDIDO
    delay (300);
    digitalWrite(Sirena, LOW);
    digitalWrite(LedR, HIGH); //ROJO ENCENDIDO
    digitalWrite(LedV, LOW);
    digitalWrite(LedA, LOW);
    delay (300);
    digitalWrite(Sirena, HIGH);
    digitalWrite(LedR, LOW);
    digitalWrite(LedV, LOW);
    digitalWrite(LedA, HIGH); //AZUL ENCENDIDO
    delay (300);
    digitalWrite(Sirena, LOW);
    digitalWrite(LedR, HIGH); //ROJO ENCENDIDO
    digitalWrite(LedV, LOW);
    digitalWrite(LedA, LOW);
    delay (300);
    estado3 = LOW;
    delay (300);
     }

  if (digitalRead(Armado) == HIGH){
    estIOT = HIGH;
     }
  if (estIOT == HIGH){
    armado();
    }
     
  if (digitalRead(Desarmado) == HIGH) {
      desarmado();  
     }

  if (Varsinric == LOW) {
    desarmado();
  }

  if (digitalRead(SensoresRf) == HIGH){            
      estadoRF = HIGH;
      }

 
  if((estado1 == HIGH) && (estadoRF == HIGH)){
    estado2 = HIGH;
    digitalWrite(Sirena, HIGH);
    digitalWrite(LedR, LOW);
    digitalWrite(LedV, LOW);
    digitalWrite(LedA, HIGH); //LED AZUL ENCENDIDO
    oled.clear();
    oled.setScale(2);
    oled.setCursor(6, 2); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("INTRUSION");
    oled.setScale(1);
    oled.setCursor(1, 5); //Columna, Fila .... 128 columnas y 64 filas
    oled.print("MOVIMIENTO DETECTADO");
    oled.update();
   
    previousMillis = millis(); //Solo pasara si en boton esta en HIGH. Si esta en LOW el bucle no hara esta accion.
      estadoRF = LOW;
      }
   if(millis() - previousMillis >= intervalOn) {   // Mientras (estado = 1) millis aumentara con cada pasada del bucle y previusMillis se mantendra
     digitalWrite (Sirena, LOW);                   // hasta que llegue a ser mayor o igual a intervalOn
     estadoRF = LOW;
     estado2 = LOW;
     
    }

 
}


void armado(){
  estado1 = HIGH;
  estado2 = LOW;        
  estadoRF = LOW;
  estIOT = LOW;
  Varsinric = HIGH;
        digitalWrite (LedR, HIGH); //LED ROJO ENCENDIDO
        digitalWrite (LedV, LOW);
        digitalWrite (LedA, LOW);
        digitalWrite(Sirena, HIGH); // RELE QUE ACTIVA LA SIRENA
        delay (600);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedR, LOW);
        delay (600);
        digitalWrite(Sirena, HIGH);
        digitalWrite (LedR, HIGH);
        delay (600);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedR, LOW);
        delay (5000);  //ESPERA 5 SEGUNDOS PARA SALIR Y ARMAR
        digitalWrite(Sirena, HIGH);
        digitalWrite (LedR, HIGH);
        delay (200);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedR, LOW);
        delay (200);
        digitalWrite(Sirena, HIGH);
        digitalWrite (LedR, HIGH);
        delay (200);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedR, LOW);
        delay(200);
        digitalWrite (LedR, HIGH);
         }


void desarmado(){
      estado1 = LOW;
      estado2 = LOW;
      estado3 = LOW;
      estadoRF = LOW;
      Varsinric = HIGH;
        digitalWrite (LedR, LOW);
        digitalWrite (LedV, HIGH); //LED VERDE ENCENDIDO
        digitalWrite (LedA, LOW);
       
        digitalWrite(Sirena, HIGH);
        delay (100);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedV, LOW);
        delay (100);
        digitalWrite(Sirena, HIGH);
        digitalWrite (LedV, HIGH);
        delay (100);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedV, LOW);
        delay (100);
        digitalWrite(Sirena, HIGH);  
        digitalWrite (LedV, HIGH);
        delay (100);
        digitalWrite(Sirena, LOW);
        digitalWrite (LedV, LOW);
        delay(100);
        digitalWrite (LedV, HIGH);
        delay(100);

          }


************************************************************************
************************************************************************

CODIGO PARA PLACA #2 (ARDUINO NANO)


#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);


int Entrada1 = 2;
int Buzer = 3;
int Entrada2 = 4;
int Entrada3 = 7;
int Entrada4 = 5;
int Entrada5 = 8; //NO USAR
int Entrada6 = 9; //NO USAR
int Salida1 = 6;
int Gas = A0;
int Estado1 = 0;
int Estado2 = 0;
int Estado3 = 0;
int Estado4 = 0;
int Estado5 = 0; //NO USAR
int Estado6 = 0; //NO USAR
int lectura = 0;
long previousMillis = 0;        
long intervalOn = 120000;
int estadoGas1 = LOW;

void setup() {
 
Serial.begin(115200);
mySoftwareSerial.begin(9600);
previousMillis = millis();

pinMode (Entrada1, INPUT);
pinMode (Entrada2, INPUT);
pinMode (Entrada3, INPUT);
pinMode (Entrada4, INPUT);
pinMode (Entrada5, INPUT);
pinMode (Entrada6, INPUT);
pinMode (Gas, INPUT);
pinMode (Salida1, OUTPUT);
pinMode (Buzer, OUTPUT);
digitalWrite (Salida1, LOW);
digitalWrite (Buzer, HIGH);
delay (200);
digitalWrite (Buzer, LOW);
delay (200);
digitalWrite (Buzer, HIGH);
delay (200);
digitalWrite (Buzer, LOW);
delay (200);
digitalWrite (Buzer, HIGH);
delay (200);
digitalWrite (Buzer, LOW);

  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
 
  if (!myDFPlayer.begin(mySoftwareSerial, false)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true){
      delay(0); // Code to compatible with ESP8266 watch dog.
    }
  }
  Serial.println(F("DFPlayer Mini online."));
 
  myDFPlayer.volume(30);  //Set volume value. From 0 to 30
  myDFPlayer.play(8);  //Play the first mp3

}

void loop() {


   
   if(millis() - previousMillis >= intervalOn) {   // Mientras (estado = 1) millis aumentara con cada pasada del bucle y previusMillis se mantendra
      estadoGas1 = HIGH;
      }


  Estado1 = digitalRead (Entrada1);
  Estado2 = digitalRead (Entrada2);
  Estado3 = digitalRead (Entrada3);
  Estado4 = digitalRead (Entrada4);
  Estado5 = digitalRead (Entrada5);
  Estado6 = digitalRead (Entrada6);

  lectura = analogRead (Gas);
  Serial.println(lectura);
 
 
  if (lectura >= 90 && lectura <= 149 && estadoGas1 == HIGH){
    digitalWrite (Salida1, LOW);
    digitalWrite (Buzer, HIGH);
    delay (100);
    digitalWrite (Buzer, LOW);
    delay (100);
  }

  if (lectura >= 150 && lectura <= 300 && estadoGas1 == HIGH){
    digitalWrite (Salida1, LOW);
    digitalWrite (Buzer, HIGH);
    delay (50);
    digitalWrite (Buzer, LOW);
    delay (50);
  }

  if (lectura >= 300 && estadoGas1 == HIGH){
    digitalWrite (Buzer, HIGH);
    digitalWrite (Salida1, HIGH);
      }

   
  if (Estado1 == HIGH){
   //Serial.println("Hola, el señor Pedro necesita que por favor le lleven agua a la habitación, gracias.");
   myDFPlayer.play(1);
   delay (7000);
    }
  if (Estado1 == LOW){
   Serial.println("ENTRADA 1 EN BAJO");
  }

  if (Estado2 == HIGH){
   //Serial.println("Hola, el señor Pedro necesita que por favor le administren la insulina. Gracias");
   myDFPlayer.play(2);
   delay (7000);
    }
  if (Estado2 == LOW){
   Serial.println("ENTRADA 2 EN BAJO");
  }


  if (Estado3 == HIGH){
    //Serial.println("Se ha presentado una emergencia en la habitacion del señor pedro");
    myDFPlayer.play(3);
   Serial.println("ENTRADA 3 EN ALTO");
   delay (7000);
  }
  if (Estado3 == LOW){
   Serial.println("ENTRADA 3 EN BAJO");
  }

  if (Estado4 == HIGH){
    myDFPlayer.play(4);
   Serial.println("ENTRADA 4 EN ALTO");
   delay (7000);
  }
  if (Estado4 == LOW){
   Serial.println("ENTRADA 4 EN BAJO");
  }

if (Estado5 == HIGH){
    myDFPlayer.play(5);
   Serial.println("ENTRADA 5 EN ALTO");
   delay (7000);
   myDFPlayer.play(6);
   delay (7000);
  }
  if (Estado5 == LOW){
   Serial.println("ENTRADA 5 EN BAJO");
  }
 
 
 delay (100);


}

Comentarios

Entradas populares de este blog

CLASIFICADOR DE COLORES CON SENSOR TCS3472 (I2C) CON ARDUINO NANO

PROTOTIPO - CONTROL DE ACCESO CON RFID + TECLADO CON ALMACENAMIENTO EN MICRO SD

CONTROL DE ACCESO CON RFID YMODULO RTC DS3231