Arduino Nano - Potenciômetro
Este tutorial ensina você a usar o Arduino Nano com um potenciômetro, também conhecido como pot, trimpot, resistor variável, reostato ou sensor de ângulo rotativo. Em detalhes, vamos aprender:
- Como o potenciômetro funciona.
- Como conectar um potenciômetro ao Arduino Nano.
- Como programar o Arduino Nano para ler o valor do potenciômetro e convertê-lo em um valor controlável.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Potenciômetro
Um potenciômetro rotativo, também conhecido como sensor de ângulo rotativo, é usado para alterar manualmente o valor de alguma coisa. Exemplos incluem o volume de um aparelho de som, o brilho de uma lâmpada e o nível de zoom de um osciloscópio.

Pinagem do Potenciômetro
Um potenciômetro normalmente tem três pinos:
- O pino GND deve ser ligado ao terra (0V).
- O pino VCC deve ser conectado ao VCC (5V ou 3.3v).
- O pino de saída fornece a tensão para o pino de entrada do Arduino.

※ Nota:
Os pinos GND e VCC podem ser trocados.
Como Funciona
O eixo giratório do potenciômetro tem um alcance de 0° (mais próximo do GND) até o ângulo máximo (mais próximo do pino VCC), chamado de ANGLE_MAX.
※ Nota:
O valor de ANGLE_MAX é determinado pelo fabricante. Em geral, não precisamos nos preocupar com esse valor, a menos que estejamos calculando o ângulo de rotação (veja a seção de casos de uso).

O princípio de funcionamento:
- Um usuário gira o eixo do potenciômetro
- ⇒ O ângulo do potenciômetro muda
- ⇒ A resistência do potenciômetro muda
- ⇒ A tensão no pino de saída do potenciômetro muda
- ⇒ O valor analógico lido pelo Arduino Nano muda
Arduino Nano - Potenciômetro Rotativo
Os pinos A0 a A7 do Arduino Nano podem funcionar como entradas analógicas. Esses pinos de entrada analógica convertem a tensão (variando de 0 volt até VCC) em valores inteiros (de 0 a 1023), chamados de valor ADC ou valor analógico.
Podemos conectar o pino de saída do potenciômetro a um pino de entrada analógica. Isso nos permite ler o valor analógico do pino e convertê-lo em um valor com significado.
O valor que o Arduino Nano recebe não é um ângulo nem uma tensão; é um valor inteiro de 0 a 1023.
Depois de obter o valor inteiro do pino de entrada analógica, podemos reescalá-lo para um valor diferente. Vamos ver as aplicações disso.
Casos de Uso
- Reescalar para o ângulo do potenciômetro.
- Reescalar para a tensão do potenciômetro.
- Reescalar para um valor controlável, como o volume de um aparelho de som, o brilho ou a velocidade de um motor DC - este é o uso mais frequente.
Reescalar o Intervalo
| DE | PARA | |||
|---|---|---|---|---|
| Ângulo | girado pelo usuário | 0° | → | ANGLE_MAX |
| Tensão | do pino do potenciômetro | 0V | → | VCC |
| Valor ADC | lido pelo Arduino | 0 | → | 1023 |
| Outro valor | convertido pelo Arduino | VALUE_MIN | → | VALUE_MAX |
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Como Programar o Potenciômetro
- Obtenha o valor de um pino de entrada, ligado ao pino de saída do potenciômetro, usando a função analogRead().
- Use a função map() para ajustar o ângulo do potenciômetro.
- Ajuste a tensão para o nível do potenciômetro.
- Reescale o valor para algo que possa ser gerenciado ou ajustado (por exemplo, volume de um aparelho de som, brilho, velocidade de um motor DC... )
- Por exemplo, ajustar o brilho de um LED. Como dito neste tutorial, o brilho de um LED pode ser regulado usando um valor PWM de 0 (sempre DESLIGADO) a 255 (sempre LIGADO). Assim, podemos mapear o valor analógico para o brilho do LED (de apagado até o mais brilhante) assim:
Se você quiser ajustar o LED de uma luz noturna fraca até o seu nível mais brilhante,
※ Nota:
A função map() só serve para reescalar um valor analógico para o tipo int ou long. Se o valor controlável for do tipo float, floatMap() deve ser usada no lugar de map().
A função floatMap():. É uma função que recebe uma lista de floats como argumento e retorna uma nova lista com o mesmo número de elementos, em que cada elemento é o resultado de aplicar a função dada ao elemento correspondente da lista original.
Código Arduino Nano
Passos Rápidos
- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload do Arduino IDE para enviar o código para o Arduino Nano.

- Abra o Serial Monitor.
- Gire o potenciômetro.
- Veja o resultado no Serial Monitor.
Vídeo
Desafie-se
Use o potenciômetro para realizar um destes projetos:
- Controlar a posição do servo motor. Dica: Veja Arduino Nano - Servo Motor.
- Modificar o brilho do LED. Dica: Veja Arduino Nano - Fade Led.
Conhecimento Adicional
- Os pinos GND e VCC podem ser trocados sem nenhuma convenção específica. No entanto, um ponto a ter em mente é que o valor da tensão no pino de saída será invertido quando esses pinos forem trocados.