Já pensou em controlar a posição de um servo motor girando apenas um potenciômetro? Neste projeto, vamos mostrar como controlar um micro servo utilizando um Arduino UNO e um potenciômetro de 10 kΩ.
A proposta é simples: você gira o potenciômetro e o Arduino interpreta a variação do sinal analógico para controlar o ângulo do servo.
Embora utilizemos o Arduino UNO neste projeto, você também pode adaptar o circuito para outras placas, como o ESP32. Nesse caso, fique atento principalmente às diferenças de alimentação e aos níveis de tensão utilizados por cada placa.
Componentes utilizados
Para montar este projeto, você vai precisar de:
Conhecendo o Micro Servo SG90
O micro servo SG90 é um servo compacto muito utilizado em projetos de robótica, automação e prototipagem.
Ele permite controlar sua posição angular por meio de um sinal enviado pelo Arduino, sendo uma ótima opção para projetos que precisam movimentar mecanismos de forma controlada.

O SG90 possui três fios, cada um com uma função:
- Amarelo: comunicação/sinal
- Vermelho: positivo (VCC)
- Preto: negativo (GND)

Conhecendo o Potenciômetro de 10 kΩ
O potenciômetro funciona como um resistor variável. Ao girar seu eixo, você altera a tensão presente no pino central.
Neste projeto, vamos utilizar essa variação para controlar o ângulo do servo.

Como o potenciômetro fornece um sinal analógico, vamos conectá-lo a uma das entradas analógicas do Arduino UNO, que podem ser A0 a A5.
Conexões do projeto
Agora vamos realizar as conexões entre o Arduino UNO, o potenciômetro e o micro servo SG90.
Micro Servo SG90
- Fio amarelo → pino digital 9 do Arduino
- Fio vermelho → 5V
- Fio preto → GND
Potenciômetro 10 kΩ
- Pino lateral → 5V
- Pino central → A0
- Outro pino lateral → GND

O pino central do potenciômetro é responsável por enviar ao Arduino a variação de tensão gerada conforme você gira o componente.
Como funciona o controle
Depois de realizar as conexões, o Arduino fará a leitura do potenciômetro por meio da entrada analógica A0.
O Arduino UNO possui um conversor analógico-digital de 10 bits. Por isso, a leitura pode variar de 0 a 1023.
O código transforma essa faixa de valores em uma faixa de 0 a 180 graus, correspondente ao movimento do servo.
Na prática:
- potenciômetro em uma extremidade → servo próximo de 0°
- potenciômetro no centro → servo próximo de 90°
- potenciômetro na outra extremidade → servo próximo de 180°
Assim, você consegue controlar o micro servo SG90 simplesmente girando o potenciômetro.
Programando o Arduino UNO
Com todas as conexões prontas, abra a Arduino IDE e configure a placa e a porta COM utilizadas pelo seu Arduino UNO.
Em seguida, adicione o código abaixo:
#include <Servo.h>
Servo servo;
const byte PINO_SERVO = 9;
const byte PINO_POT = A0;
void setup()
{
servo.attach(PINO_SERVO);
}
void loop()
{
int leitura = analogRead(PINO_POT);
int angulo = map(leitura, 0, 1023, 0, 180);
servo.write(angulo);
delay(10);
}
Entendendo o código
Primeiro, utilizamos a biblioteca Servo, que permite controlar o servo motor com o Arduino.
#include <Servo.h>
Depois, definimos os pinos utilizados:
const byte PINO_SERVO = 9;
const byte PINO_POT = A0;
O potenciômetro está conectado à entrada analógica A0, enquanto o sinal de controle do servo está conectado ao pino digital 9.
No loop(), o Arduino realiza a leitura do potenciômetro:
int leitura = analogRead(PINO_POT);
Em seguida, utilizamos a função map() para converter a leitura de 0 a 1023 para uma posição entre 0 e 180 graus:
int angulo = map(leitura, 0, 1023, 0, 180);
Por fim, o Arduino envia o ângulo calculado para o servo:
servo.write(angulo);
Dessa forma, sempre que você girar o potenciômetro, o SG90 acompanhará a mudança de posição.
Testando o projeto
Depois de carregar o código:
- Ligue o Arduino UNO.
- Aguarde o sistema iniciar.
- Gire lentamente o potenciômetro.
- Observe o movimento do micro servo SG90.
O servo deverá acompanhar a posição do potenciômetro, movimentando-se de acordo com a leitura realizada pelo Arduino.
Cuidados com a alimentação
Apesar de o projeto ser simples, é importante prestar atenção à alimentação do servo.
O SG90 pode consumir uma corrente maior durante o movimento ou quando está sob carga. Em projetos maiores, pode ser necessário utilizar uma fonte externa adequada para alimentar o servo.
Se você adaptar o projeto para um ESP32, também deverá observar as diferenças de tensão e alimentação entre as placas.
Nunca aplique uma tensão superior à especificada pelo componente.
Possíveis aplicações
Depois de aprender a controlar o micro servo SG90 com potenciômetro, você pode utilizar esse mesmo princípio em diferentes projetos, como:
- Braços robóticos
- Mecanismos de movimentação
- Controle de posição
- Robôs
- Projetos de automação
- Sistemas de controle manual
- Protótipos de robótica
Conclusão
Agora você já sabe como controlar o micro servo SG90 com potenciômetro utilizando o Arduino UNO.
O projeto é simples de montar e serve como uma ótima introdução ao controle de motores e à leitura de sinais analógicos. A partir dele, você pode substituir o potenciômetro por sensores e criar sistemas capazes de movimentar o servo automaticamente de acordo com diferentes condições.
Experimente modificar o código, adicionar outros componentes e utilizar esse controle em seus próprios projetos de robótica e automação.


Deixe um comentário