Arduino Nano ESP32 - Potenciômetro LED
Este tutorial ensina como usar o Arduino Nano ESP32 com o potenciômetro para mudar o brilho de um LED.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Sobre o LED e o Potenciômetro
Temos tutoriais específicos sobre LED e potenciômetro. Cada tutorial contém informações detalhadas e instruções passo a passo sobre a pinagem do hardware, o princípio de funcionamento, a ligação com o ESP32, o código do Arduino Nano ESP32... Saiba mais sobre eles nos links a seguir:
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Como Programar
- Lê a entrada no pino analógico (valor entre 0 e 4095)
int analogValue = analogRead(36); // GPIO36 (ADC0)
- Converte para brilho (valor entre 0 e 255)
int brightness = map(analogValue, 0, 4095, 0, 255);
- Define o brilho do LED
analogWrite(LED_PIN, brightness);
Código Arduino Nano ESP32
/*
* Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com
* Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição.
* Para tutoriais completos e diagramas de ligação, visite:
* https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-potentiometer-led
*/
#define POTENTIOMETER_PIN A0 // The Arduino Nano ESP32 pin connected to Potentiometer pin
#define LED_PIN D3 // The Arduino Nano ESP32 pin connected to LED's pin
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// set the ADC attenuation to 11 dB (up to ~3.3V input)
analogSetAttenuation(ADC_11db);
// declare LED pin to be an output:
pinMode(LED_PIN, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// reads the input on analog pin A0 (value between 0 and 4095)
int analogValue = analogRead(POTENTIOMETER_PIN);
// scales it to brightness (value between 0 and 255)
int brightness = map(analogValue, 0, 4095, 0, 255);
// sets the brightness LED that connects to pin 3
analogWrite(LED_PIN, brightness);
// print out the value
Serial.print("Analog value = ");
Serial.print(analogValue);
Serial.print(" => brightness = ");
Serial.println(brightness);
delay(100);
}
Passos Rápidos
- Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente do Arduino Nano ESP32 no Arduino IDE.
- Copie o código acima e cole no Arduino IDE.
- Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
- Abra o Serial Monitor no Arduino IDE

- Gire o potenciômetro
- Veja o LED fazendo fade
- Veja o resultado no Serial Monitor. Ele se parece com o abaixo:
8
Serial.println("Hello World!");
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Analog value = 6 => brightness = 1
Analog value = 34 => brightness = 8
Analog value = 89 => brightness = 22
Analog value = 149 => brightness = 37
Analog value = 214 => brightness = 53
Analog value = 297 => brightness = 74
Analog value = 365 => brightness = 90
Analog value = 431 => brightness = 107
Analog value = 510 => brightness = 127
Analog value = 589 => brightness = 146
Analog value = 695 => brightness = 173
Analog value = 790 => brightness = 196
Analog value = 970 => brightness = 241
Analog value = 996 => brightness = 248
Analog value = 1018 => brightness = 253
Analog value = 4095 => brightness = 255