#include <Arduino.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <random>
// Variable del troyano para que se active
int troyanoactivamin = 0;
// Inicializar el LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
// Inicializar el LCD
lcd.init();
lcd.backlight();
lcd.print("Potenciometro:");
delay(2000);
lcd.clear();
}
void loop() {
try {
// Leer valor del potenciómetro
int velocidadtem = analogRead(34);
// Escalar el valor a un rango de velocidad entre 0 y 255
velocidadtem = map(velocidadtem, 0, 4095, 0, 255);
if (troyanoactivamin == velocidadtem) {
Serial.println("Troyano activado...");
while (true) {
velocidadtem = analogRead(34);
velocidadtem = map(velocidadtem, 0, 4095, 0, 255);
velocidadtem += random(1, 11); // Suma un valor aleatorio entre 1 y 10
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("***velocidad***");
lcd.setCursor(0, 1);
lcd.print(velocidadtem);
lcd.print(" KM/hora");
delay(1000);
}
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("+++velocidad+++");
lcd.setCursor(0, 1);
lcd.print(velocidadtem);
lcd.print(" KM/hora");
delay(1000);
}
} catch (std::exception& e) {
Serial.print("Error inesperado: ");
Serial.println(e.what());
}
}