Braço Robótico meArm V0.4: Manual de Montagem e Programação Completo

Kit Braço Robótico meArm V0.4 — manual técnico completo

Introdução

O meArm V0.4 é um dos braços robóticos de código aberto (open-source) mais populares do mundo, projetado originalmente por Ben Gray em Nottingham, Inglaterra. Com dimensões compactas de bolso e estrutura articulada acionada por 4 micro servomotores, o meArm é o projeto ideal para aprender na prática conceitos fundamentais de cinemática direta e inversa, mecânica de articulações e programação em C++ com Arduino.

Neste guia completo da RoboBuilders, você aprenderá a identificar todas as peças, realizar a centralização obrigatória dos servos em 90°, executar a montagem mecânica passo a passo e controlar o braço por meio de sequências automáticas de movimentos ou através de joysticks analógicos.

🛒 Onde adquirir o kit: Você pode adquirir o Kit Braço Robótico meArm V0.4 na loja oficial da RoboBuilders com garantia e suporte técnico.

Informações gerais e lista de peças

O meArm v0.4 utiliza uma arquitetura de paralelogramo articulado de 4 graus de liberdade (4 DOF), garantindo que a garra permaneça nivelada durante o movimento de elevação do braço.

Dimensões físicas (Posição Neutra)

  • Altura: 17,0 cm
  • Comprimento: 21,0 cm
  • Largura: 9,5 cm
Visão geral de todas as peças cortadas a laser do kit meArm V0.4

Relação de peças estruturais cortadas a laser

IDNome da PeçaQuantidadeFunção no Braço
1Retenções do servo4 unFixação dos micro servos na estrutura
2Suporte triangular1 unArticulação superior do braço direito
3Braço maior1 unTirante superior principal da garra
4Braço menor1 unElo de transmissão de torque do servo direito
5Corpo da alavanca1 unChassi intermediário de suporte
6Espaçadores4 unBuchas de espaçamento entre elos móveis
7Encaixe com suporte da garra1 unEstrutura de fixação da garra ao punho
8Garra direita1 unMandíbula móvel direita
9Alavanca de servo maior1 unAcoplamento ao servo do ombro esquerdo
10Alavanca de servo menor1 unAcoplamento ao servo da garra
11Haste menor1 unBiela de transmissão da garra
12Encaixe da garra1 unTravamento mecânico do servo da garra
13Hastes de suporte3 unTirantes de paralelogramo
14Retenções da garra2 unSuporte da base da garra
15Garra esquerda1 unMandíbula móvel esquerda
16Lateral direita1 unPainel lateral direito da cabine
17Lateral esquerda1 unPainel lateral esquerdo da cabine
18Alavanca central direita1 unTirante de acionamento do cotovelo
19Base da garra1 unMesa de suporte do servo da garra
20Base principal1 unPlaca de apoio com furos de montagem
21Suporte de servo quadrado1 unBase do servo de rotação horizontal
22Alavanca central esquerda1 unTirante de elevação do ombro
23Base da cabine1 unPlataforma giratória superior
24Suporte da alavanca1 unArticulação do servo esquerdo
25Frente e traseira da cabine2 unPainéis transversais de reforço

Lista de parafusos e fixadores M3

ItemMedidaQuantidadeAplicação
Parafuso M3 × 8 mm8 mm15 unFixação de hastes finas e retentores
Parafuso M3 × 10 mm10 mm9 unFixação do punho, garras e articulações
Parafuso M3 × 12 mm12 mm7 unArticulações duplas e laterais da cabine
Parafuso M3 × 20 mm20 mm4 unPilares de sustentação da base giratória
Porca Sextavada M3M310 unTravamento de eixos e articulações
Parafusos dos ServosSortidos8 unFixação das cruzetas plásticas nos eixos

Configuração e centralização dos servomotores (90°)

⚠️ IMPORTANTE: Antes de parafusar qualquer braço plástico aos servomotores, todos os 4 servos devem ser calibrados eletronicamente na posição de 90° (neutro). Instalar os braços sem a centralização prévia causará colisão mecânica e impedirá o funcionamento correto da cinemática.

Carregue o seguinte sketch no seu Arduino para posicionar cada servo a 90°:

#include <Servo.h>

Servo servoTeste;

void setup() {
  Serial.begin(9600);
  servoTeste.attach(3);
  servoTeste.write(90); // Posiciona exatamente a 90 graus
}

void loop() {
  // Mantém a posição fixa para centralização
}
  1. Conecte o cabo de sinal do servo ao pino digital D3 do Arduino, o fio vermelho ao 5V e o marrom ao GND;
  2. Conecte o Arduino ao computador e envie o código acima;
  3. Aguarde o servo girar e travar na posição central de 90°;
  4. Desconecte o cabo USB, substitua pelo próximo servo e repita até que os 4 servos estejam centralizados.

Montagem mecânica passo a passo

⚠️ Aviso de montagem: As peças de corte a laser em MDF ou acrílico não possuem roscas metálicas nos furos. Os parafusos M3 abrirão a rosca diretamente no material. Aperte de forma gradual e firme, sem forçar em excesso para não espanar as furações nem travar os elos móveis.


1. Montagem da base giratória

Diagrama de peças e fixadores para montagem da base giratória
  • Peças necessárias: Base principal (20), Suporte de servo quadrado (21), Retenção de servo (1), 1× Micro Servo, 4× Parafusos M3×20mm, 2× Parafusos M3×8mm e 4× Porcas M3.

Passo a passo:

  1. Encaixe o micro servo dentro da retenção e do suporte quadrado, fixando com 2 parafusos M3×8mm inseridos pela parte inferior da retenção;
  2. Posicione a base principal e insira os 4 parafusos M3×20mm de baixo para cima nos 4 cantos;
  3. Rosqueie as 4 porcas M3 parcialmente nos parafusos de 20mm;
  4. Encaixe o conjunto do servo sobre os parafusos de 20mm e aperte as porcas com firmeza.

2. Montagem da lateral esquerda (Ombro)

Peças da lateral esquerda do braço meArm Orientação do servo e alavanca da lateral esquerda
  • Peças necessárias: Lateral esquerda (17), Alavanca de servo maior (9), Haste de suporte (13), Retenção (1), 1× Micro Servo, cruzeta plástica, 3× Parafusos M3×8mm, 2× Parafusos M3×12mm e 2× Porcas M3.

Passo a passo:

  1. Aloje o micro servo no retentor e posicione-o na abertura da lateral esquerda;
  2. Fixe o retentor à lateral esquerda com 2 parafusos M3×8mm pela parte inferior;
  3. Insira 2 parafusos M3×12mm nos furos guia da lateral esquerda e rosqueie as porcas parcialmente;
  4. Fixe a cruzeta plástica na alavanca de servo maior utilizando o parafuso longo fornecido com o servo;
  5. Encaixe a alavanca no eixo estriado do servo respeitando o ângulo de alinhamento e fixe com o parafuso curto central;
  6. Prenda a haste de suporte à alavanca maior com 1 parafuso M3×8mm.

3. Montagem da lateral direita (Cotovelo)

Peças da lateral direita do braço meArm Orientação do servo do cotovelo na lateral direita Conjunto final da lateral direita montada
  • Peças necessárias: Lateral direita (16), Retenção (1), Alavanca central direita (18), Haste de suporte (13), 1× Micro Servo, 3× Parafusos M3×8mm, 2× Parafusos M3×12mm e 2× Porcas M3.

Passo a passo:

  1. Insira o micro servo no retentor e acople à lateral direita;
  2. Fixe com 2 parafusos M3×8mm pela parte inferior;
  3. Insira 2 parafusos M3×12mm com porcas parciais nos furos de fixação lateral;
  4. Encaixe a cruzeta plástica na alavanca central direita com o parafuso longo do servo;
  5. Acople o conjunto ao eixo do servo e trave com o parafuso central curto;
  6. Fixe a haste de suporte ao furo superior da lateral direita com 1 parafuso M3×8mm.

4. Montagem da cabine e corpo central

Peças da cabine giratória do meArm Montagem da base da cabine com alavanca de acoplamento
  • Peças necessárias: Base da cabine (23), Alavanca central esquerda (22), Suporte da alavanca (24), Painéis frontal e traseiro da cabine (25), Corpo da alavanca (5), cruzeta de servo, 1× Parafuso M3×8mm, 2× Parafusos M3×12mm e 2× Porcas M3.

Passo a passo:

  1. Una o suporte da alavanca à alavanca central esquerda com 1 parafuso M3×8mm;
  2. Parafuse a cruzeta plástica longa sob a base da cabine com 2 parafusos longos do servo;
  3. Fixe a base da cabine ao eixo do servo da base principal com o parafuso central curto;
  4. Encaixe as paredes frontal e traseira da cabine nas porcas da lateral esquerda;
  5. Una a base da cabine e as duas laterais (esquerda e direita), apertando os parafusos M3×12mm com as porcas estruturais.

5. Montagem do antebraço e articulações paralelas

Peças do antebraço e articulação triangular do meArm
  • Peças necessárias: Suporte triangular (2), Braço maior (3), Braço menor (4), Haste de suporte (13), 1× Espaçador (6), 3× Parafusos M3×8mm e 2× Parafusos M3×10mm.

Passo a passo:

  1. Conecte o braço maior à haste de suporte da lateral esquerda e à alavanca central esquerda com parafusos M3×8mm;
  2. Conecte o suporte triangular à haste da lateral direita intercalando 1 espaçador com 1 parafuso M3×12mm;
  3. Conecte a alavanca direita ao braço menor e ao suporte triangular com 1 parafuso M3×10mm;
  4. Fixe a haste de suporte ao suporte triangular com 1 parafuso M3×8mm.

6. Montagem da garra mecânica (End-Effector)

Peças da garra mecânica do braço meArm Garra montada e fechada com micro servo acoplado
  • Peças necessárias: Retenção da garra (14), Alavanca de servo menor (10), Encaixe da garra (12), Encaixe com suporte (7), Haste menor (11), Garra esquerda (15), Garra direita (8), Base da garra (19), 3× Espaçadores, 1× Micro Servo, 3× Parafusos M3×8mm, 7× Parafusos M3×10mm e 1× Parafuso M3×12mm.

Passo a passo:

  1. Insira o quarto micro servo na retenção da garra e monte os encaixes de travamento sobre a base da garra;
  2. Trave o conjunto da garra com 4 parafusos M3×10mm;
  3. Articule as mandíbulas direita e esquerda na base com 2 parafusos M3×8mm;
  4. Una a alavanca menor à cruzeta plástica do servo e fixe a haste menor com 1 parafuso M3×8mm;
  5. Com 1 parafuso M3×12mm, interligue 2 espaçadores, a haste menor e a garra esquerda;
  6. Trave a alavanca no eixo do servo e acople o conjunto da garra ao braço robótico com os parafusos M3×10mm restantes.

Esquema elétrico e pinagem com Arduino

Esquema elétrico de ligação dos 4 servos e 2 joysticks no Arduino Nano Sensor Shield montado com conexões dos servomotores

Mapeamento dos Servos

ServomotorArticulação / MovimentoPino Digital PWMCódigo de Cores dos Fios
Servo 1 (Base)Rotação Horizontal (Pan)D3Marrom: GND / Vermelho: 5V / Amarelo: Sinal
Servo 2 (Ombro)Braço Inferior (Tilt)D5Marrom: GND / Vermelho: 5V / Amarelo: Sinal
Servo 3 (Cotovelo)Antebraço (Alcance)D6Marrom: GND / Vermelho: 5V / Amarelo: Sinal
Servo 4 (Garra)Abertura e FechamentoD9Marrom: GND / Vermelho: 5V / Amarelo: Sinal

Mapeamento dos Joysticks Analógicos (Opcional)

JoystickEixo de ControlePino Analógico ArduinoFunção
Joystick 1Eixo X (VRx)A0Giro da Base (Esquerda / Direita)
Joystick 1Eixo Y (VRy)A1Inclinação do Ombro / Braço
Joystick 2Eixo X (VRx)A2Elevação do Cotovelo / Antebraço
Joystick 2Eixo Y (VRy)A3Abrir e Fechar Garra

⚠️ Atenção com a alimentação dos servos: NUNCA alimente os 4 micro servos diretamente a partir do pino 5V da placa Arduino. Os servos em carga podem consumir picos superiores a 1,5A a 2,0A, causando reset contínuo no microcontrolador. Utilize uma fonte regulada dedicada de 5V a 6V (mínimo 2A a 3A) ou suporte com 4 pilhas recarregáveis, mantendo o polo negativo (GND) da fonte interligado ao GND do Arduino.


Programação e métodos de controle

O meArm v0.4 suporta dois métodos principais de controle: Cinemática Direta (controle angular servo a servo) e Cinemática Inversa (controle por coordenadas tridimensionais X, Y, Z a partir da base).

Código Arduino: Controle Manual com 2 Joysticks Analógicos

/*
 * RoboBuilders - Controle do Braço Robótico meArm V0.4
 * Controle com 2 Módulos Joystick Analógicos
 */

#include <Servo.h>

// Instâncias dos servomotores
Servo servoBase;
Servo servoOmbro;
Servo servoCotovelo;
Servo servoGarra;

// Definição dos pinos PWM dos servos
const int PIN_SERVO_BASE     = 3;
const int PIN_SERVO_OMBRO    = 5;
const int PIN_SERVO_COTOVELO = 6;
const int PIN_SERVO_GARRA    = 9;

// Definição dos pinos analógicos dos Joysticks
const int PIN_JOY1_X = A0;
const int PIN_JOY1_Y = A1;
const int PIN_JOY2_X = A2;
const int PIN_JOY2_Y = A3;

// Ângulos atuais dos servos
int anguloBase     = 90;
int anguloOmbro    = 90;
int anguloCotovelo = 90;
int anguloGarra    = 25; // Garra aberta

void setup() {
  Serial.begin(115200);
  Serial.println("Inicializando meArm V0.4 - RoboBuilders...");

  // Associação dos servos aos pinos digitais
  servoBase.attach(PIN_SERVO_BASE);
  servoOmbro.attach(PIN_SERVO_OMBRO);
  servoCotovelo.attach(PIN_SERVO_COTOVELO);
  servoGarra.attach(PIN_SERVO_GARRA);

  // Posicionamento inicial
  servoBase.write(anguloBase);
  servoOmbro.write(anguloOmbro);
  servoCotovelo.write(anguloCotovelo);
  servoGarra.write(anguloGarra);
  delay(1000);
}

void loop() {
  // Leitura dos potenciômetros dos joysticks (0 a 1023)
  int valJoy1X = analogRead(PIN_JOY1_X);
  int valJoy1Y = analogRead(PIN_JOY1_Y);
  int valJoy2X = analogRead(PIN_JOY2_X);
  int valJoy2Y = analogRead(PIN_JOY2_Y);

  // Controle proporcional do Servo da Base (0° a 180°)
  if (valJoy1X < 400 && anguloBase > 0)    anguloBase--;
  if (valJoy1X > 600 && anguloBase < 180)  anguloBase++;

  // Controle proporcional do Servo do Ombro (50° a 140°)
  if (valJoy1Y < 400 && anguloOmbro > 50)  anguloOmbro--;
  if (valJoy1Y > 600 && anguloOmbro < 140) anguloOmbro++;

  // Controle proporcional do Cotovelo (30° a 100°)
  if (valJoy2X < 400 && anguloCotovelo > 30)  anguloCotovelo--;
  if (valJoy2X > 600 && anguloCotovelo < 100) anguloCotovelo++;

  // Controle da Garra (0° = fechada, 50° = aberta)
  if (valJoy2Y < 400 && anguloGarra > 0)   anguloGarra--;
  if (valJoy2Y > 600 && anguloGarra < 50)  anguloGarra++;

  // Atualização das posições
  servoBase.write(anguloBase);
  servoOmbro.write(anguloOmbro);
  servoCotovelo.write(anguloCotovelo);
  servoGarra.write(anguloGarra);

  delay(20); // Suavização do movimento
}

Modo Automático com Frames e Roteiro de Movimentos

Para executar rotinas automáticas de pegar e soltar objetos (Pick and Place), declare a matriz frame[][] contendo os ângulos de cada etapa:

// Matriz de movimentos: {Base, Ombro, Cotovelo, Garra}
const int sequenciaMovimentos[][4] = {
  { 90,  90,  90,  50 }, // 1. Posição neutra com garra aberta
  { 45,  70,  60,  50 }, // 2. Desce até a peça
  { 45,  70,  60,   0 }, // 3. Fecha a garra prendendo o objeto
  { 45, 110,  80,   0 }, // 4. Eleva o braço com a carga
  { 135, 110,  80,   0 }, // 5. Gira a base até o destino
  { 135,  70,  60,   0 }, // 6. Abaixa a carga na mesa
  { 135,  70,  60,  50 }, // 7. Abre a garra soltando o objeto
  { 90,  90,  90,  50 }  // 8. Retorna ao centro
};

Resolução de dúvidas frequentes (FAQ)

PerguntaResposta
Por que os servos ficam tremendo ou o Arduino reinicia quando o braço se move?A placa Arduino não fornece corrente suficiente para os 4 servos operando em conjunto. Ligue os servos a uma fonte externa de 5V/3A conectada ao barramento de alimentação do Sensor Shield, mantendo o GND comum ao Arduino.
Os parafusos M3 ficaram frouxos nos furos das placas?Como os furos não possuem rosca de metal, se forem parafusados com força excessiva o material espana. Aplique uma gota de cola branca PVA (em MDF) ou cola instantânea na rosca para fixar com segurança.
O braço não atinge a amplitude total de movimento?Os braços plásticos dos servos devem ser parafusados nos eixos estriados com o servo rigorosamente centralizado a 90°. Caso tenha parafusado fora de centro, remova o parafuso central, reposicione a cruzeta em 90° e reaperte.
Qual é a capacidade de carga máxima que a garra consegue erguer?Utilizando micro servos SG90 de 9g com engrenagens plásticas, a carga recomendada é de até 30 a 50 gramas (pequenos cubos, tampas ou pilhas). Para maior capacidade e robustez mecânica, utilize servos MG90S com engrenagens de metal.
Posso controlar o meArm via Bluetooth ou aplicativo de celular?Sim. Você pode adicionar um módulo Bluetooth HC-05/HC-06 nas portas seriais (RX/TX) do Arduino e enviar comandos numéricos de ângulo a partir de qualquer aplicativo de controle robótico para Android ou iOS.

Conclusão

O kit do braço robótico meArm V0.4 une aprendizado mecânico e controle eletrônico de precisão em um projeto compacto e didático. Com a estrutura montada, calibração a 90° e o circuito de joysticks funcional, você pode expandir o projeto integrando garras com sensores de pressão, visão computacional ou controle sem fio via Wi-Fi/ESP32.

Solução de problemas

Olá! Sou o assistente técnico da RoboBuilders. Descreva seu problema com o Braço Robótico meArm V0.4: Manual de Montagem e Programação Completo e eu ajudarei a encontrar a solução.

O assistente usa IA e pode errar. Confirme informações críticas no datasheet oficial do fabricante.