Montagem de um Braço Robótico com Dois Servos e Joystick no Arduino

 

Montagem de um Braço Robótico com Dois Servos e Joystick no Arduino

Introdução

A robótica é uma área fascinante que combina mecânica, eletrônica e programação. Neste artigo, vamos aprender a montar um braço robótico simples utilizando dois servomotores e um joystick no Arduino. Os servos serão conectados às portas digitais 7 e 8, enquanto os eixos do joystick (X e Y) serão ligados às portas analógicas A4 e A5.

Este projeto é ideal para aulas de robótica e demonstra conceitos importantes que são aplicados em processos industriais, como automação e controle de movimentos precisos.


Materiais Necessários

  • Arduino (Uno, Nano ou similar)

  • 2 servomotores (SG90 ou MG90S)

  • 1 joystick analógico

  • Protoboard e jumpers

  • Fonte de alimentação (se necessário)


Circuito e Conexões

Ligação dos Servomotores

  • Servo 1 → Porta digital 7 (para movimento horizontal)

  • Servo 2 → Porta digital 8 (para movimento vertical)

Ligação do Joystick

  • Eixo X (horizontal) → Porta analógica A4

  • Eixo Y (vertical) → Porta analógica A5

  • VCC → 5V do Arduino

  • GND → GND do Arduino



Programação no Arduino

cpp
Copy
Download
//Programa : Controle servo motor com joystick
 
#include <VarSpeedServo.h>
 
//Cria objeto para controlar o servo base
VarSpeedServo servo_base;
//Cria objeto para controlar o servo inclinacao
VarSpeedServo servo_inclinacao;
 
int pino_x = A4; //Pino ligado ao X do joystick
int pino_y = A5; //Pino ligado ao Y do joystick
int val_x;   //Armazena o valor do eixo X
int val_y;   //Armazena o valor do eixo Y
 
void setup()
{
  //Define a porta a ser ligada ao servo base
  servo_base.attach(7, 1, 180);
  //Define a porta a ser ligada ao servo inclinacao
  servo_inclinacao.attach(8, 1, 180);
}
 
void loop()
{
  //Recebe o valor do joystick, eixo X
  val_x = analogRead(pino_x);
  //Converte o valor lido para um valor entre 1 e 180 graus
  val_x = map(val_x, 0, 1023, 1, 180);
  //Move o servo base para a posicao definida pelo joystick
  servo_base.slowmove(val_x, 60);
  //Recebe o valor do joystick, eixo Y
  val_y = analogRead(pino_y);
  //Converte o valor lido para um valor entre 1 e 180 graus
  val_y = map(val_y, 0, 1023, 1, 180);
  //Move o servo inclinacao para a posicao definida pelo joystick
  servo_inclinacao.slowmove(val_y, 60);
  //Aguarda a movimentacao do servo e reinicia a leitura
  delay(30);
}

Funcionamento do Projeto

  • O joystick envia sinais analógicos (0-1023) para o Arduino.

  • O Arduino converte esses valores em ângulos (0°-180°) para os servos.

  • Movendo o joystick, o usuário controla os movimentos do braço robótico.


Aplicações e Importância na Robótica Educacional

1. Aprendizado de Eletrônica e Programação

  • Introduz conceitos de leitura analógicaPWM (modulação por largura de pulso) e controle de servomotores.

  • Desenvolve habilidades em lógica de programação e mapeamento de valores.

2. Robótica e Automação

  • Simula sistemas industriais onde braços robóticos realizam tarefas repetitivas.

  • Mostra como um sistema de controle manual pode ser implementado em máquinas.

3. Preparação para Indústria 4.0

  • A robótica é essencial em linhas de montagem, logística e manufatura.

  • Projetos como este ajudam a entender sistemas de automação usados em fábricas.


Conclusão

Este projeto é uma excelente introdução à robótica, permitindo que estudantes e entusiastas aprendam sobre controle de motores, sensores e automação. Além disso, demonstra como conceitos simples podem ser aplicados em processos industriais avançados.

Experimente modificar o código para incluir mais servos ou sensores, como um potenciômetro para controle de garra, e explore ainda mais as possibilidades da robótica!

🔧 Dica: Use uma fonte externa para alimentar os servos se eles apresentarem instabilidade.


Comentários

Postagens mais visitadas