O que é potenciômetro? Leitura analógica e controle com Arduino
O que é potenciômetro, como ele funciona e como ligar no Arduino? Potenciômetro linear vs logarítmico, o código B10K, leitura com analogRead e um exemplo de brilho de LED.
O potenciômetro é um resistor ajustável cuja resistência muda quando você gira o eixo. O botão de volume de um rádio, o dimmer de um abajur e os direcionais de um controle de videogame são todos potenciômetros. Nos projetos com Arduino, ele é o jeito mais fácil de receber um valor do usuário: você gira o botão e o Arduino lê um número entre 0 e 1023.

Como um potenciômetro funciona?
Dentro dele há uma trilha resistiva em forma de arco e um cursor que desliza sobre ela. A resistência entre os dois terminais externos é fixa (por exemplo, 10 kΩ). O terminal do meio está ligado ao cursor; quando você gira o eixo, o cursor se move pela trilha e a resistência até cada terminal externo muda. Coloque 5 V e GND nos terminais externos e você terá uma tensão entre 0 e 5 V no terminal do meio. Ou seja, o potenciômetro é um divisor de tensão ajustável.
Tipos de potenciômetro
| Tipo | Aparência | Usado para |
|---|---|---|
| Potenciômetro rotativo | Eixo, 3 terminais | Controle de volume, brilho e velocidade |
| Trimpot (trimmer) | Pequeno, ajustado com chave de fenda | Valores ajustados uma vez e deixados assim (como o contraste do LCD) |
| Potenciômetro deslizante | Desliza por uma trilha reta | Mesas de som e painéis de controle |
| Joystick | Dois potenciômetros em um | Controle de dois eixos (X e Y) |
Ligando um potenciômetro no Arduino
- Ligue um terminal externo ao 5V e o outro ao GND (trocá-los apenas inverte o sentido).
- Ligue o terminal do meio a uma entrada analógica, por exemplo o A0.
- Ligue um LED com um resistor de 220 Ω ao pino 9, que tem PWM.
- Carregue o código abaixo e abra o Monitor Serial; ao girar o botão, o valor e o brilho do LED mudam.
1const int POT_PIN = A0; // potansiyometre orta bacak / pot wiper
2const int LED_PIN = 9; // PWM pini / PWM pin
3
4void setup() {
5 pinMode(LED_PIN, OUTPUT); // LED çıkış / LED output
6 Serial.begin(9600); // seri monitör / serial monitor
7}
8
9void loop() {
10 int raw = analogRead(POT_PIN); // 0–1023 oku / read 0–1023
11 int brightness = map(raw, 0, 1023, 0, 255); // PWM'e çevir / scale to PWM
12 analogWrite(LED_PIN, brightness); // parlaklık / brightness
13 Serial.println(raw); // değeri yaz / print value
14 delay(20);
15}A função map() converte um valor de uma faixa para outra, por exemplo, transformando uma leitura de 0–1023 em um valor PWM de 0–255 ou em um ângulo de servo de 0–180. Para ver a ideia do divisor de tensão em números, use a calculadora de divisor de tensão.
Faixa de leitura analógica por placa
| Placa | Resolução | Faixa | Função |
|---|---|---|---|
| Arduino Uno / Nano | 10 bits | 0–1023 | analogRead() |
| ESP32 | 12 bits | 0–4095 | analogRead() |
| Raspberry Pi Pico | 12 bits (escalado para 16 bits) | 0–65535 | ADC.read_u16() |
Erros comuns
- Ligar o terminal do meio direto ao 5V ou ao GND: no fim do curso isso cria um curto-circuito e pode queimar o potenciômetro. A alimentação sempre vai nos terminais externos.
- Valores oscilando: as leituras podem variar algumas unidades. Faça a média de várias leituras ou ignore mudanças pequenas.
- Usar um potenciômetro logarítmico: com um do tipo A, o valor muda devagar no começo e rápido no fim; use o tipo B para um controle linear.
- Ligar em um pino digital: o potenciômetro fornece um valor analógico, então ele precisa ir a uma entrada analógica como A0–A5.
Você encontra como definir o ângulo de um servo com um potenciômetro em O que é servo motor? e o básico sobre resistência em O que é resistor?.
Perguntas frequentes
Qual valor de potenciômetro devo comprar para o Arduino?
Um potenciômetro linear de 10 kΩ (B10K) é a escolha mais comum. Valores de 1 kΩ a 100 kΩ também funcionam; valores muito baixos consomem mais corrente e valores muito altos podem dar leituras com ruído.
Como identificar os terminais de um potenciômetro?
Segurando-o com o eixo virado para você, o terminal do meio é o cursor. A ordem dos terminais externos só decide para que lado você gira para o valor aumentar.
Por que a leitura não chega exatamente a 0 ou 1023?
A resistência de contato nas pontas e a tolerância de fabricação podem deslocar os valores extremos em algumas unidades. Deixar uma margem de 5–10 unidades no código resolve.
Joystick e potenciômetro são a mesma coisa?
Um joystick tem dois potenciômetros em ângulo reto e normalmente um botão. Cada eixo é lido em uma entrada analógica própria.
Projetos para montar depois desta leitura
Ver todos os projetos
Uso de servo motor com potenciômetro
Conforme você gira o botão do potenciômetro, o braço do servo motor gira junto: uma extremidade do botão corresponde a zero grau, e a outra, a meia volta. O Arduino lê continuamente a posição do botão

Brilho do LED com potenciômetro no ESP32 (analógico → PWM)
Neste projeto, controlamos o brilho de um LED de forma analógica com um potenciômetro. O pino ADC do ESP32 lê a tensão de 0-3,3V do potenciômetro e converte esse valor em um sinal PWM (modulação por largura de pulso), enviado ao LED. Assim, ao girar o potenciômetro, o brilho do LED aumenta e diminui gradualmente. Com Arduino Core 3.0+, você pode usar analogWrite() diretamente; no ESP32-S2/S3, a resolução do ADC é fixada em 12 bits.

Sequencial de LEDs com velocidade ajustável
Seis LEDs acendem um após o outro, fazendo a luz parecer correr de uma ponta à outra. Ao girar o botão do potenciômetro, a velocidade muda na hora: para um lado, a luz corre rapidamente; para o outro,

Efeito Knight Rider com LEDs e velocidade ajustável
Uma luz percorre seis LEDs de uma ponta à outra, muda de direção e volta. Ao girar o botão do potenciômetro, você ajusta a velocidade na hora: em uma extremidade, a luz quase voa; na outra, avança dev

Controle de LEDs com joystick
Empurre a alavanca do joystick até o fim em qualquer direção e o LED correspondente acende: são quatro cores diferentes para direita, esquerda, cima e baixo. Ao soltar a alavanca, ela volta ao centro

Luminária com mistura de cores e ESP32 (3 potenciômetros + LED RGB + OLED)
Uma luminária inteligente que permite misturar a cor que você quiser girando três potenciômetros com o ESP32! Ao girar os potenciômetros de vermelho, verde e azul, o LED RGB de cátodo comum muda de cor em tempo real. O display OLED SSD1306 mostra os valores de cada cor na faixa de 0–255, barras de preenchimento e o código HEX da cor para a web, como #FF8040.

Voltímetro digital com display LCD
Descubra a tensão de uma pilha ou de um adaptador de alimentação com um medidor feito por você. Um divisor formado por dois resistores reduz a tensão alta a um nível que a placa consegue ler, e o Ardu
Mais artigos
App BlueGrays
Monte este circuito passo a passo pelo celular
Esquema do circuito, código e lista de componentes em uma só tela. Mais de 200 projetos com Arduino, ESP32 e Pico prontos para montar.
Escaneie com seu celular
Aponte a câmera para o código para abrir a loja de aplicativos do seu celular.
ou abrir a loja

