/* -----------------------------------------------------------------
------------------------- Codigo MultiHardWare ---------------------
----------------------------------------------------------------- */
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti wifiMulti;
#pragma message "Codigo para ESP8266!"
#elif defined(ESP32)
#include <WiFi.h>
#include <WiFiMulti.h>
WiFiMulti wifiMulti;
#pragma message "Codigo para ESP32!"
#elif defined(ARDUINO)
#pragma message "Codigo para Arduino basado AVR (UNO, MEGA, etc)!"
#else
#pragma message "No es ni ESP32 o ES8266 o AVR, que es?"
#endif
/* -----------------------------------------------------------------
-------------------------- Librerias y Objetos ---------------------
----------------------------------------------------------------- */
template<class T> inline Print &operator <<(Print &obj, T arg) {
obj.print(arg);
return obj;
}
/* -----------------------------------------------------------------
---------------- Declaracion de Variables y constantes -------------
----------------------------------------------------------------- */
#define pin_button1 13 //definimos el pin numero 13 para el boton
int buttonState = 0; // variable for READING the pushbutton status
int variable_buttonState = 0; // variable for STORING the pushbutton status
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
/* -----------------------------------------------------------------
------------------------- Configuracion ESP --------------------
----------------------------------------------------------------- */
void setup() {
Serial.begin(115200); //creamos el canal serial
pinMode(pin_button1, INPUT); //establecemos que el boton va como una entrada
LCD.init();
LCD.backlight();
}
/* -----------------------------------------------------------------
---------------------------- Codigo Principal ----------------------
----------------------------------------------------------------- */
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(pin_button1);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
variable_buttonState = !variable_buttonState;
//waiting time so we're not changing state several times with only push
delay(300);
}
if (variable_buttonState == HIGH) {
// turn led on
Serial.println("esta siendo pulsado");
LCD.setCursor(0, 0); //esta instruccion permite decirle que el cursor se ubique en la columna 0 y fila 1(la de abajo)
LCD.print("LLUVIA"); //me permite mostrar en la pantalla lcd la palabra contador
LCD.setCursor(1, 1); //esta instruccion permite decirle que el cursor se ubique en la columna 10 y fila 1()
LCD.print("DETECTADA"); //me permite indicar en la pantalla lcd la variable contador.
}
else {
// turn LED off:
Serial.println("No esta siendo pulsado");
LCD.setCursor(0, 0); //esta instruccion permite decirle que el cursor se ubique en la columna 0 y fila 1(la de abajo)
LCD.print("NO HAY"); //me permite mostrar en la pantalla lcd la palabra contador
LCD.setCursor(1, 1); //esta instruccion permite decirle que el cursor se ubique en la columna 10 y fila 1()
LCD.print("LLUVIA"); //me permite indicar en la pantalla lcd la variable contador.
}
}
/* ----------------------------------------------------------------
-------------------------------- Funciones -------------------------
----------------------------------------------------------------- */
/*new button state = state1
old button state = state2*/