Braço Robótico meArm V0.4: Manual de Montagem e Programação 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
Relação de peças estruturais cortadas a laser
| ID | Nome da Peça | Quantidade | Função no Braço |
|---|---|---|---|
| 1 | Retenções do servo | 4 un | Fixação dos micro servos na estrutura |
| 2 | Suporte triangular | 1 un | Articulação superior do braço direito |
| 3 | Braço maior | 1 un | Tirante superior principal da garra |
| 4 | Braço menor | 1 un | Elo de transmissão de torque do servo direito |
| 5 | Corpo da alavanca | 1 un | Chassi intermediário de suporte |
| 6 | Espaçadores | 4 un | Buchas de espaçamento entre elos móveis |
| 7 | Encaixe com suporte da garra | 1 un | Estrutura de fixação da garra ao punho |
| 8 | Garra direita | 1 un | Mandíbula móvel direita |
| 9 | Alavanca de servo maior | 1 un | Acoplamento ao servo do ombro esquerdo |
| 10 | Alavanca de servo menor | 1 un | Acoplamento ao servo da garra |
| 11 | Haste menor | 1 un | Biela de transmissão da garra |
| 12 | Encaixe da garra | 1 un | Travamento mecânico do servo da garra |
| 13 | Hastes de suporte | 3 un | Tirantes de paralelogramo |
| 14 | Retenções da garra | 2 un | Suporte da base da garra |
| 15 | Garra esquerda | 1 un | Mandíbula móvel esquerda |
| 16 | Lateral direita | 1 un | Painel lateral direito da cabine |
| 17 | Lateral esquerda | 1 un | Painel lateral esquerdo da cabine |
| 18 | Alavanca central direita | 1 un | Tirante de acionamento do cotovelo |
| 19 | Base da garra | 1 un | Mesa de suporte do servo da garra |
| 20 | Base principal | 1 un | Placa de apoio com furos de montagem |
| 21 | Suporte de servo quadrado | 1 un | Base do servo de rotação horizontal |
| 22 | Alavanca central esquerda | 1 un | Tirante de elevação do ombro |
| 23 | Base da cabine | 1 un | Plataforma giratória superior |
| 24 | Suporte da alavanca | 1 un | Articulação do servo esquerdo |
| 25 | Frente e traseira da cabine | 2 un | Painéis transversais de reforço |
Lista de parafusos e fixadores M3
| Item | Medida | Quantidade | Aplicação |
|---|---|---|---|
| Parafuso M3 × 8 mm | 8 mm | 15 un | Fixação de hastes finas e retentores |
| Parafuso M3 × 10 mm | 10 mm | 9 un | Fixação do punho, garras e articulações |
| Parafuso M3 × 12 mm | 12 mm | 7 un | Articulações duplas e laterais da cabine |
| Parafuso M3 × 20 mm | 20 mm | 4 un | Pilares de sustentação da base giratória |
| Porca Sextavada M3 | M3 | 10 un | Travamento de eixos e articulações |
| Parafusos dos Servos | Sortidos | 8 un | Fixaçã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
}
- Conecte o cabo de sinal do servo ao pino digital D3 do Arduino, o fio vermelho ao 5V e o marrom ao GND;
- Conecte o Arduino ao computador e envie o código acima;
- Aguarde o servo girar e travar na posição central de 90°;
- 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
- 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:
- 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;
- Posicione a base principal e insira os 4 parafusos M3×20mm de baixo para cima nos 4 cantos;
- Rosqueie as 4 porcas M3 parcialmente nos parafusos de 20mm;
- Encaixe o conjunto do servo sobre os parafusos de 20mm e aperte as porcas com firmeza.
2. Montagem da lateral esquerda (Ombro)
- 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:
- Aloje o micro servo no retentor e posicione-o na abertura da lateral esquerda;
- Fixe o retentor à lateral esquerda com 2 parafusos M3×8mm pela parte inferior;
- Insira 2 parafusos M3×12mm nos furos guia da lateral esquerda e rosqueie as porcas parcialmente;
- Fixe a cruzeta plástica na alavanca de servo maior utilizando o parafuso longo fornecido com o servo;
- Encaixe a alavanca no eixo estriado do servo respeitando o ângulo de alinhamento e fixe com o parafuso curto central;
- Prenda a haste de suporte à alavanca maior com 1 parafuso M3×8mm.
3. Montagem da lateral direita (Cotovelo)
- 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:
- Insira o micro servo no retentor e acople à lateral direita;
- Fixe com 2 parafusos M3×8mm pela parte inferior;
- Insira 2 parafusos M3×12mm com porcas parciais nos furos de fixação lateral;
- Encaixe a cruzeta plástica na alavanca central direita com o parafuso longo do servo;
- Acople o conjunto ao eixo do servo e trave com o parafuso central curto;
- 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 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:
- Una o suporte da alavanca à alavanca central esquerda com 1 parafuso M3×8mm;
- Parafuse a cruzeta plástica longa sob a base da cabine com 2 parafusos longos do servo;
- Fixe a base da cabine ao eixo do servo da base principal com o parafuso central curto;
- Encaixe as paredes frontal e traseira da cabine nas porcas da lateral esquerda;
- 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 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:
- Conecte o braço maior à haste de suporte da lateral esquerda e à alavanca central esquerda com parafusos M3×8mm;
- Conecte o suporte triangular à haste da lateral direita intercalando 1 espaçador com 1 parafuso M3×12mm;
- Conecte a alavanca direita ao braço menor e ao suporte triangular com 1 parafuso M3×10mm;
- Fixe a haste de suporte ao suporte triangular com 1 parafuso M3×8mm.
6. Montagem da garra mecânica (End-Effector)
- 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:
- Insira o quarto micro servo na retenção da garra e monte os encaixes de travamento sobre a base da garra;
- Trave o conjunto da garra com 4 parafusos M3×10mm;
- Articule as mandíbulas direita e esquerda na base com 2 parafusos M3×8mm;
- Una a alavanca menor à cruzeta plástica do servo e fixe a haste menor com 1 parafuso M3×8mm;
- Com 1 parafuso M3×12mm, interligue 2 espaçadores, a haste menor e a garra esquerda;
- 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
Mapeamento dos Servos
| Servomotor | Articulação / Movimento | Pino Digital PWM | Código de Cores dos Fios |
|---|---|---|---|
| Servo 1 (Base) | Rotação Horizontal (Pan) | D3 | Marrom: GND / Vermelho: 5V / Amarelo: Sinal |
| Servo 2 (Ombro) | Braço Inferior (Tilt) | D5 | Marrom: GND / Vermelho: 5V / Amarelo: Sinal |
| Servo 3 (Cotovelo) | Antebraço (Alcance) | D6 | Marrom: GND / Vermelho: 5V / Amarelo: Sinal |
| Servo 4 (Garra) | Abertura e Fechamento | D9 | Marrom: GND / Vermelho: 5V / Amarelo: Sinal |
Mapeamento dos Joysticks Analógicos (Opcional)
| Joystick | Eixo de Controle | Pino Analógico Arduino | Função |
|---|---|---|---|
| Joystick 1 | Eixo X (VRx) | A0 | Giro da Base (Esquerda / Direita) |
| Joystick 1 | Eixo Y (VRy) | A1 | Inclinação do Ombro / Braço |
| Joystick 2 | Eixo X (VRx) | A2 | Elevação do Cotovelo / Antebraço |
| Joystick 2 | Eixo Y (VRy) | A3 | Abrir 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)
| Pergunta | Resposta |
|---|---|
| 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.