Como controlar um Micro Servo com Potenciômetro

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:

  1. Ligue o Arduino UNO.
  2. Aguarde o sistema iniciar.
  3. Gire lentamente o potenciômetro.
  4. 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.

Post navigation

Deixe um comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Como Utilizar o ESP32-S3 CAM OV5640: Guia Completo

Kit Arduino UNO R3 Avançado x Iniciante: Qual o Ideal para Você?

Montagem de um painel indicador de temperatura com Arduino Uno

Arduino Uno