#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
int ledPin = 11; // digital pin the LED is connected to
int buttonPin = 2; // digital input pin for the button
int valor = A0;
int intensidad, outputValue;
int x=1;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT); // Configurar el pin del botón con una resistencia pull-up interna
Serial.begin(9600);
// Init
lcd.init();
lcd.backlight();
}
void loop()
{
// Leer el estado del botón
int buttonState = digitalRead(buttonPin);
intensidad = analogRead(valor);
outputValue = map(intensidad, 0, 1023, 0, 255);
// Mostrar mensajes en la LCD
lcd.setCursor(3, 0);
lcd.print("Hello, world!");
lcd.setCursor(2, 1);
lcd.print("Wokwi Online IoT");
lcd.setCursor(5, 2);
lcd.print("Simulator");
// Parpadeo del LED
blink();
// Comprobar el estado del botón y actualizar la LCD y el LED según corresponda
if(buttonState == HIGH) { // Si el botón está presionado (pin a HIGH)
digitalWrite(ledPin, HIGH);
x++;
lcd.setCursor(7, 3);
lcd.print(x); // Imprimir en la LCD
delay(100);
}
}
void blink() // con PWM
{
digitalWrite(ledPin, HIGH);
Serial.println("intensidad de brillo: "+ String(outputValue));
analogWrite(ledPin, outputValue);
delay(1000);
}