#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
Servo miServo;
int potPin = A0;
int ledPins[] = {10, 11, 12, 13};
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C y tamaño del LCD
void setup() {
miServo.attach(6);
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
lcd.init(); // Inicializar la pantalla LCD
lcd.backlight(); // Encender el backlight
lcd.setCursor(0, 0); // Establecer el cursor en la primera fila
lcd.print("Angulo: "); // Mostrar el texto "Angulo: " en la primera fila
}
void loop() {
int potValue = analogRead(potPin);
int angle = map(potValue, 0, 1023, 0, 360);
miServo.write(angle);
for (int i = 0; i < 4; i++) {
if (angle >= i * 45 && angle < (i + 1) * 45) {
digitalWrite(ledPins[i], HIGH);
} else {
digitalWrite(ledPins[i], LOW);
}
}
lcd.setCursor(8, 0); // Establecer el cursor en la primera fila, novena columna
lcd.print(" "); // Borrar el valor anterior
lcd.setCursor(8, 0); // Establecer el cursor en la primera fila, novena columna
lcd.print(angle); // Mostrar el ángulo actual
delay(15);
}