0

O servo motor Arduino é um componente muito útil em projetos de robótica e de eletrônica e, se você está procurando um tutorial de como ligar ele, então chegou no artigo certo.

Aqui você irá entender o mais importante sobre servos motores Arduino e irá aprender a como acionar o seu servo com uma programação intuitiva e fácil.

Você também vai ver que controlar o servo motor Arduino SG90 9g usando o potenciômetro não é um bicho de 7 cabeças.

Veja o que separamos para você neste guia de uso do seu servo motor:

Você também pode se interessar:

Montagem do circuito Servo Motor Arduino

Para ligar o servo motor Arduino, é preciso:

  • conectar o fio vermelho no pino +5V do Arduino;
  • o fio marrom no GND, e;
  • o fio laranja, sinal do servo, no pino digital 9 do Arduino.

Veja as conexões na imagem abaixo:

Montagem servo motor com arduino

Para acessar o projeto no aplicativo Tinkercad, clique aqui.

Código utilizado

Agora, veja o código do servo motor que utilizamos no Arduino para controlar o componente:

/*   Código do Servo Motor Arduino
    
     Monte seus próprios projetos sem dificuldade com programação! 
     ACESSE: https://flaviobabos.com.br/
*/

#include <Servo.h> // Biblioteca do Servo

Servo meuservo;  // Objeto Servo
int ang = 0;    // Variável Ângulo

void setup() {
  meuservo.attach(9);  // Pino usado para conectar o servo
}

void loop() {
  for (ang = 0; ang <= 180; ang += 1) { // Vai de 0º até 180º
    // in steps of 1 degree
    meuservo.write(ang);              // Comando que envia o sinal para o servo rotacionar
    delay(15);                       // Espera 15ms 
  }
  for (ang = 180; ang >= 0; ang -= 3) { // Vai de 180º até 0º (+ rápido)
    meuservo.write(ang);              // Comando que envia o sinal para o servo rotacionar
    delay(15);                       // Espera 15ms 
  }
}

Observe que para esse programa funcionar é preciso utilizar a biblioteca do servo motor.

Uma biblioteca no Arduino nada mais é do que um arquivo escrito em C ou C++ que fornece funcionalidades extras (como interpretar o estado do servo motor e fazer com que rotacione no ângulo certo) aos projetos que usamos no Arduino.

Servo Motor Arduino com Potenciômetro – Circuito

Para controlar o micro servo motor de 9g e sua posição iremos usar o potenciômetro de 10kΩ e vamos conectar esse componente no pino analógico A0 do Arduino.

Veja a montagem do projeto com o potenciômetro e Arduino na imagem abaixo:

Montagem servo motor com arduino e potenciometro

Para acessar o projeto do servo + potenciômetro no Tinkercad, clique aqui.

Código utilizado

O código usado no potenciômetro para controlar o servo é bem simples e fácil de entender, observe:

/*   Código do Servo Motor Arduino
    
     Monte seus próprios projetos sem dificuldade com programação! 
     ACESSE: https://flaviobabos.com.br/
*/

#include <Servo.h> // Biblioteca do Servo

Servo meuservo;  // Objeto Servo
int val;         // Variável de leitura analógica do potenciômetro
int pot = 0;     // Pino usado para conectar o potenciômetro

void setup() {
  meuservo.attach(9);  // Pino usado para conectar o servo
}

void loop() {

  val = analogRead(pot);           // Lê o valor analógico do potenciômetro (0 a 1023)
  val = map(val, 0, 1023, 0, 180);    // Transforma em um valor em graus 0º a 180º
  meuservo.write(val);                // Comando que envia o sinal para o servo rotacionar
  delay(15);                          // Espera 15ms 
}

Desafio

Você aprendeu neste tutorial a maneira mais simples e comprovada de acionar um servo motor. Então, que tal partir para o próximo nível e construir o seu próprio projeto com o que você aprendeu aqui hoje?

Portanto, o projeto que estou falando é um Braço Robótico DIY de baixo custo ao qual você pode construir hoje.

Novo Braço Robótico Arduino

É um projeto de robótica que conta com 3 graus de liberdade além de que sua estrutura é feita de palitos de madeira e não de MDF nem acrílico como você já acostumou ver por aí.

O que é e como funciona um servo motor Arduino?

O servo motor é um componente comum entre os hobbistas da eletrônica. Ele é amplamente utilizado em diversas áreas tais como a robótica, o aeromodelismo e em projetos com Arduino.

Uma das vantagens dele é o seu eixo que pode ser precisamente controlado de acordo com o acionamento do seu motor. Além disso, para se movimentar, esse componente conta com um sistema interno de engrenagens.

O que é e como funciona o servo motor

Para monitorar a posição exata desse eixo, um potenciômetro é utilizado como um sensor e, para que tudo se funcione como o esperado, tanto o servo motor como sua comunicação com o Arduino, uma placa de controle interno é utilizada.

No entanto, se não fosse pelo PWM (Pulse Width Modulation) não seria possível controlar a posição exata do eixo do servo.

Além do tipo de servo que rotaciona em 180 graus que você aprendeu a ligar neste tutorial, também existem aqueles que fazem rotações contínuas e de 270 graus.

Especificações do servo SG90 de 9g

Especificações servo sg90 9g

Algumas particularidades do servo motor SG90 9g:

Peso9g
Dimensão23 × 12,2 x 29 mm
EngrenagemConjunto de engrenagem de nylon
Velocidade de operação0,1 seg / 60 graus
Tensão operacional3-6 V DC
Faixa de PWM500 a 2400 microssegundos
Velocidade60 graus em 0,12 s
Torque1,2 kg / cm
ConexõesMarrom (GND)
Vermelho (5 V)
(Laranja: PWM)

Caso chegou até aqui e queira aprender ainda mais sobre Arduino e economizar tempo que você teria ao aprender sozinho, então indico você acessar o Curso Arduhack do Lobo da Robótica.

Gostou deste tutorial? Não deixe de dizer sua opinião nos comentários abaixo.

Flávio Babos
Futuro Engenheiro Mecatrônico pela Federal de Uberlândia, fanático por Tecnologia, Empreendedorismo e Gestão. Desde pequeno faz projetos com Arduino e recentemente atuou na Empresa Júnior do seu curso gerenciando equipes de engenharia no setor de vendas e de projetos.

Robótica: Definição, Aplicações e Fatos

Previous article

Técnico em Eletrônica: onde trabalhar e melhores cursos [Guia Completo]

Next article

You may also like

Comments

Leave a reply

Your email address will not be published. Required fields are marked *

More in Arduino