#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C miLCD(0x27, 16, 2);//creo mi objeto miLCD para usar las funciones de la libreria
int clave=0;
int indice=0;
int ascendente=1;
int contador=0;
void setup(){
Serial.begin(115200);
miLCD.init(); // Inicializamos el módulo LCD
miLCD.home(); // Limpiamos la pantalla y colocamos el cursor en (0, 0)
Serial.println("Ingrese la clave porfavor(131175)");
Serial.println("Use 'A' para ascendente, 'R' para reiniciar, y 'B' para descendente");
}
void loop(){
if (Serial.available()) {
String comando = Serial.readString();
comando.trim();
comando = parseInt(comando);
if(comando!=131175){
Serial.println(comando);
Serial.println("Clave incorrecta");
}
} else if (comando==131175){// Logica una vez la clave es veradera
// logica para el display
Serial.println(comando);
Serial.println("Clave corecta, iniciando contador...")
if(contador<10 && ascendente==1){
miLCD.print(contador);
delay(1000);
contador++;
}else if(contador>=10 && ascendente==1){
clave=0; // vuelve al inicio
}
if(contador>0 && ascendente==0){
miLCD.print(contador);
delay(1000);
contador--;
}else if(contador<=0 && ascendente==0){
clave=0; // vuelve al inicio
}
// logica para saber si es ascendente, descendente o reinicio
while (!Serial.available());
char comando = Serial.read();
if (comando == 'R') {//reinicio
if (Serial.read() == '\n') {
clave=0;// vuelve al inicio
Serial.println("\nreincio.");
}
}
// Pausar el cronómetro
if (comando == 'A' ) {//ascendente
if (Serial.read() == '\n') {
ascendente=1;
Serial.println("\n ascendente");
}
Serial.println("\n ascendente.");
}
// Continuar después de pausar
if (comando == 'B') {//descendente
if (Serial.read() == '\n') {
ascendente=0;
Serial.println("\n descendente.");
}
}
}
}