#include <SPI.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define pulsador 13
#define SDA 1
#define SCL 2
#define zumb 40
#define DO4 262 //Hz para la nta
#define servo 19
unsigned long mms_ingresar = 0;
LiquidCrystal_I2C miLCD(0x27, 16, 2);
String inputPassword = "";
void activarZumbador(void){
analogWriteFrequency(zumb, DO4);
analogWrite(zumb, 128);
}
void abrirPuerta(void){
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-S3!");
Wire.begin(SDA, SCL);
pinMode(pulsador, INPUT_PULLUP);
pinMode(zumb, OUTPUT);
pinMode(servo, OUTPUT);
miLCD.init();
miLCD.backlight();
miLCD.setCursor(0, 0);
miLCD.print("PRESIONE ");
miLCD.setCursor(0,1);
miLCD.print("PULSADOR");
}
void loop() {
if(digitalRead(pulsador) == LOW){
Serial.println(pulsador);
while(digitalRead(pulsador) == LOW);
Serial.println(pulsador);
if(Serial.available()>0){
mms_ingresar = millis();
if(millis() - mms_ingresar < 3000 ){
miLCD.setCursor(0,0);
miLCD.print("INGRESAR");
miLCD.setCursor(0,1);
miLCD.print("CONTRASEÑA");
String inputPassword = Serial.readStringUntil('\n');
if(inputPassword == "PASSWORD"){
miLCD.setCursor(0,0);
miLCD.print("ABRIR");
miLCD.setCursor(0,1);
miLCD.print("PUERTA");
}else{
miLCD.setCursor(0,0);
miLCD.print("CONTRASEÑA");
miLCD.setCursor(0,1);
miLCD.print("INCORRECTA");
activarZumbador();
}
}
}
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}
}