#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Inicializa o display no endereço 0x27
LiquidCrystal_I2C lcd (0x27, 16, 2);
const int potPin = 34; // Pino do potenciômetro
const int ledPin = 13; // Pino do LED
const int motorPin = 14; // Pino do motor DC
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(motorPin, OUTPUT);
lcd.begin(16, 2); // Inicializa o LCD
lcd.init();
lcd.backlight();
}
void loop() {
int potValue = analogRead(potPin); // Lê o valor do potenciômetro (0-4095)
int dutyCycle = map(potValue, 0, 4095, 0, 100); // Mapeia para um valor de 0 a 100%
// Mostra o duty cycle no display LCD
lcd.setCursor(0, 0);
lcd.print("Duty Cycle: ");
lcd.print(dutyCycle);
lcd.print("% ");
// Define o duty cycle do LED e do motor
analogWrite(ledPin, dutyCycle * 255 / 100); // LED (0-255)
analogWrite(motorPin, dutyCycle * 255 / 100); // Motor (0-255)
delay(100); // Atraso para atualização suave
}