Professional Documents
Culture Documents
h>
#include <FirebaseESP8266.h>
//#include <Firebase_ESP_Cliente.h>
// Provide the RTDB payload printing info and other helper functions.
//#include <addons/RTDBHelper.h>
FirebaseData cami;
FirebaseAuth auth;
FirebaseConfig config;
// Variables de estado
void setup(){
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
Firebase.begin(DATABASE_URL, DATABASE_SECRET);
Firebase.reconnectWiFi(true);
// pinMode(LED_BUILTIN,OUTPUT);
pinMode(interruptor_pin,INPUT_PULLUP); //INPUT_PULLUP
pinMode(panico_pin,INPUT);
//pinMode(luces_pin,OUTPUT);
pinMode(sensor_pin,INPUT);
//pinMode(pulsador_pin,INPUT_PULLUP); //INPUT_PULLUP
pinMode(relevo_1_pin,OUTPUT);
pinMode(relevo_2_pin,OUTPUT);
pinMode(relevo_3_pin,OUTPUT);
//configuracion de interrupciones
attachInterrupt(digitalPinToInterrupt(interruptor_pin), encendido, RISING);
attachInterrupt(digitalPinToInterrupt(panico_pin), fcpanico, RISING);
}
String alarma_on = "0"; //1 activo 0 apagado
String panico = "0";
String luces = "0";
Serial.println("interrupcion ");
interruppin=1;
}
void loop ()
{delay(500);
if (Firebase.RTDB.getString(&cami, "/panico"))
panico=cami.stringData();
delay(50);
if (Firebase.RTDB.getString(&cami, "/luces"))
luces=cami.stringData();
delay(50);
if (panico != panico1){
Firebase.setString(cami,"/fdb_panico",panico);
panico1=panico;
delay(50);}
else delay(10);
if (luces != luces1 ){
Firebase.setString(cami,"/fdb_luces",luces);
luces1=luces;
delay(50);}
else delay(10);
//codigo de la amarma
if( interruppin==1 && alarma_on=="1" && pulso1==0){
interruptor_estado = LOW;
pulso =1;
pulso1 =1;
Firebase.setString(cami,"/alarma_on","0");
Time_pulso=millis();
interruppin=0;
}
if(digitalRead(interruptor_pin)==LOW)
{pulso1=0;}
else band=0;
// Verificar si se debe habilitar la alarma
Serial.println("___________");
Serial.print("alarma_estado: ");
Serial.println(alarma_estado);
Serial.println("___________");
// if(alarma_on=="1")
// digitalWrite(LED_BUILTIN, LOW);
// else
// digitalWrite(LED_BUILTIN, HIGH);
// if (digitalRead(panico_pin)==HIGH){
// digitalWrite(relevo_2_pin,HIGH);
// Serial.println("rel 1 LED encendido");
// digitalWrite(relevo_3_pin,HIGH);
// panico_on=1;
// }
if (panico_on==1){
Firebase.setString(cami,"/fdb_panico","1");
Firebase.setString(cami,"/luces","1");
Time_used = millis();
// }
//luces encendida
if(luces=="1"){
digitalWrite(relevo_3_pin,HIGH);//luces
}
if (millis()<=Time_pulso+10000){
Firebase.setString(cami,"/fdb_alarma_on",alarma_on);
}