#include <LiquidCrystal.h>
// Define os pinos do bar graph
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
// Define o pino do potenciômetro
const int potPin = A0;
// Define o número de LEDs no bar graph
const int numLeds = 10;
void setup() {
// Inicializa o monitor serial
Serial.begin(9600);
// Define os pinos do bar graph como saída
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// Lê o valor do potenciômetro
int potValue = analogRead(potPin);
// Converte o valor do potenciômetro para um número de LEDs acesos
int numLedsOn = map(potValue, 0, 1023, 0, numLeds);
// Acende os LEDs de acordo com o valor do potenciômetro
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], i < numLedsOn ? HIGH : LOW);
}
// Mostra o valor do potenciômetro no monitor serial
Serial.println(potValue);
// Aguarda um pouco para evitar sobrecarga do monitor serial
delay(100);
}