Lar > Informações do setor >Servo
SUPORTE TÉCNICO

Suporte ao produto

Como conectar um micro servo e controlá-lo com números de leitura de série em um microcontrolador

Publicado 2026-04-22

Este guia fornece uma solução completa e passo a passo para conectar um micro comum de 9gservoa uma placa microcontroladora e controlando sua posição inserindo valores numéricos através do monitor serial. Você aprenderá a fiação exata, o código funcional e como lidar com problemas do mundo real, para que possa implementar isso de forma confiável em seus próprios projetos.

01Fiação do MicroservoCorretamente (configuração comum)

Um micro padrãoservotem três fios. O código de cores mais frequente (verificado em muitos servos amadores) é:

Marrom ou Preto→ Terra (GND)

Vermelho→ Potência (5V)

Laranja ou Amarelo→ Sinal (pino PWM)

Fiação passo a passo(usando uma placa típica do tipo Uno como referência):

1. Conecte o fio marrom/preto a qualquerGNDalfinete no quadro.

2. Conecte o fio vermelho ao5Valfinete.

Importante:Um micro servo pode consumir 200–400 mA durante o movimento. Se você usar mais de um servo ou experimentar reinicializações, use uma fonte de alimentação externa de 5V (por exemplo, um adaptador de 5V 2A) com aterramento comum.

3. Conecte o fio laranja/amarelo a um pino compatível com PWM, por exemplopino 9.

Erro comum:Reverter a potência e o aterramento pode destruir o servo. Verifique novamente as cores antes de ligar.

02Lendo um número de série e movendo o servo

O objetivo: digitar um número (por exemplo,90) no monitor serial, pressione Enter e o servo se move para esse ângulo. Abaixo está o código completo e testado.

Código completo (copiar e colar)

#incluirServo meuServo; int servo Pin = 9; int número de entrada = 0; ângulo interno = 0; void setup() { meuServo.attach(servoPin); Serial.begin(9600); Serial.println("Servo pronto. Insira um ângulo (0 a 180):"); } void loop() { if (Serial.available() > 0) { // Ler todo o inteiro enviado incomingNumber = Serial.parseInt(); // Valida o intervalo if (incomingNumber >= 0 && incomingNumber 0) { Serial.read(); } } }

Como funciona:

Serial.parseInt()espera e lê um número inteiro completo do buffer serial.

O servo se move apenas quando o número está entre 0 e 180.

Após a movimentação, o buffer serial é limpo para evitar comandos repetidos.

03Teste e solução de problemas em cenários reais

Cenário A: Servo se contrai, mas não se move corretamente

Causa:Potência insuficiente. O pino de 5 V do microcontrolador não pode fornecer corrente suficiente quando o servo está sob carga.

Solução:Use uma fonte externa de 5V (terra comum com a placa). Conecte o fio vermelho do servo ao 5V externo e conecte o GND da fonte externa ao GND da placa.

Cenário B: O monitor serial mostra lixo ou nenhuma resposta

Causa:Incompatibilidade de taxa de transmissão ou configuração incorreta de finalização de linha.

Solução:

Defina a taxa de transmissão do monitor serial para9600(partidasSerial.begin(9600)).

No monitor serial do Arduino IDE, defina “Both NL & CR” ou “Newline” –analisarInt()funciona com ambos.

Cenário C: O servo se move para o ângulo errado quando você digita um número

Causa:A faixa de largura de pulso do servo pode variar ligeiramente.

Solução:Calibrar usandomyServo.writeMicroseconds(). Faixa típica: 500 (0°) a 2400 (180°). Teste e ajuste.

04Repetindo o Princípio Fundamental

Para controlar com segurança um micro servo por meio de números de leitura de série, siga sempre estas três regras verificadas:

1. Conecte corretamente– aterramento para marrom/preto, alimentação para vermelho (5V), sinal para um pino PWM.

2. Validar entrada serial– nunca passe um número não validado paraservo.write(). Sempre verifique a faixa de 0 a 180.

3. Forneça energia adequada– um único micro servo geralmente funciona a partir dos 5V da placa, mas se você experimentar reinicializações ou movimentos erráticos, mude para uma fonte externa de 5V com aterramento comum.

05Recomendações práticas para o seu projeto

Comece com o exemplo de “varredura”(sem serial) para confirmar seu servo e trabalho de fiação. Em seguida, adicione o código de controle serial.

Adicione um atraso depoisservo.write()se você enviar muitos comandos rapidamente – os micro servos precisam de cerca de 15 ms para atingir o ângulo alvo.

Para posicionamento preciso,usarservo.writeMicrosegundos()em vez deservo.write(). Meça as larguras de pulso mínima e máxima do seu servo com um simples esboço de calibração.

Para controlar a velocidade, implemente um loop que mova o servo incrementalmente do ângulo atual para o ângulo alvo com pequenos atrasos.

Seguindo este guia, você terá um sistema robusto e funcional que lê qualquer número da porta serial e move com precisão seu micro servo para o ângulo correspondente – sem comportamento inesperado ou danos aos componentes.

Hora de atualização:2026-04-22

Impulsionando o Futuro

Entre em contato com o especialista de produtos da Kpower para recomendar um motor ou caixa de engrenagens adequado para o seu produto.

Correio para Kpower
Enviar consulta
+86 0769 8399 3238
 
kpowerMap