#include <LiquidCrystal_I2C.h>
// Definir pines para los LEDs
const int ledPinDerecha = 8;
const int ledPinIzquierda = 9;
// Definir pines para los botones
const int botonDerechaPin = A0;
const int botonIzquierdaPin = A1;
// Definir pines para la pantalla LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Configurar pines de LED como salidas
pinMode(ledPinDerecha, OUTPUT);
pinMode(ledPinIzquierda, OUTPUT);
// Configurar pines de botón como entradas
pinMode(botonDerechaPin, INPUT_PULLUP);
pinMode(botonIzquierdaPin, INPUT_PULLUP);
// Inicializar la pantalla LCD
lcd.begin(16, 2);
lcd.print("Detenido"); // Inicialmente, el motor está detenido
}
void loop() {
// Leer el estado de los botones
int estadoBotonDerecha = digitalRead(botonDerechaPin);
int estadoBotonIzquierda = digitalRead(botonIzquierdaPin);
// Determinar el sentido de giro y actualizar la pantalla LCD
if (estadoBotonDerecha == LOW) {
digitalWrite(ledPinDerecha, HIGH);
digitalWrite(ledPinIzquierda, LOW);
lcd.clear();
lcd.print("Giro Derecha");
} else if (estadoBotonIzquierda == LOW) {
digitalWrite(ledPinDerecha, LOW);
digitalWrite(ledPinIzquierda, HIGH);
lcd.clear();
lcd.print("Giro Izquierda");
} else {
digitalWrite(ledPinDerecha, LOW);
digitalWrite(ledPinIzquierda, LOW);
lcd.clear();
lcd.print("Detenido");
}
delay(100); // Pequeño retardo para evitar lecturas falsas
}