Controle IoT Remoto de Braço Robótico Personalizado
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino MKR1000 | 1 |
| Compensado 15"x20" 1/8 pol. | 1 |
| 5x Servo GS9025MG | 5 |
| Conector Jack DC 2.1mm para protoboard | 1 |
| Fonte DC 6V Jack | 1 |
| Jumpers | vários |
| Transistores 2N2222A | 3 |
| Parafusos e porcas M2, M3 | conforme lista |
Ferramentas Necessárias
- Cortadora a laser (genérica)
Aplicativos e Serviços Online
- MATLAB
- Simulink
- Arduino IDE
- MATLAB Support Package for Arduino Hardware
- Simulink Support Package for Arduino Hardware
- MATLAB Support Package for ThingSpeak
Sobre o Projeto
Projeto completo de design, construção e programação de um braço robótico do zero, controlado remotamente via IoT. O foco está na programação avançada usando Simulink no Arduino MKR1000, com controle remoto via ThingSpeak (plataforma IoT com analytics MATLAB).
Design Mecânico
Projetado para servos hobby GS-9025MG (baixo custo, torque limitado). Inicialmente usou compensado 1/4 pol., muito pesado; mudou para 1/8 pol. e reduziu o comprimento dos braços. Desenhado no Fusion 360, exportado como DXF e cortado a laser. Alimentação DC contínua de tomada de parede, pois baterias descarregavam rápido.
O MKR1000 tem 4 pinos PWM, mas 5 servos precisam de controle. Solução criativa: um pino PWM controla 2 servos, e um pino digital alterna entre eles via transistors 2N2222A.


Programação
Duas fases: prototipagem (comandos de ângulo via sliders/constantes no Simulink para achar vieses e limites) e controle preciso (comando de posição XY via ThingSpeak).
Prototipagem
Usou cinemática inversa para braço planar 2D para converter coordenadas XY em ângulos dos servos. Referência: appliedgo.net/roboticarm.

Controle Preciso
Entradas X e Y vêm do canal ThingSpeak. Bloco MATLAB Function loc2angles converte para ângulos comandados. Bloco angles2loc monitora via cinemática direta. Recurso External Mode do Simulink permite monitorar o sistema rodando no Arduino em tempo real. Blocos com nuvem cinza são blocos de leitura ThingSpeak (Channel ID, Field Number, Read API Key).

Usando ThingSpeak: Criando e Usando um Canal
- Acesse thingspeak.com e faça login com conta MathWorks gratuita.
- Clique em "New Channel".
- Preencha: Name, Field 1 (X), Field 2 (Y), Fields 3-5 (opcionais). Salve.
- No MATLAB, escreva dados:
thingSpeakWrite(chID, [X Y 0 0 0], 'WriteKey', APIKEY, 'Fields', [1 2 3 4 5]);


Executando o Modelo
No Simulink: Model Configuration Parameters → Hardware Implementation → Hardware Board: Arduino MKR1000. Em Target Hardware Resources → WiFi Properties, insira credenciais da rede. Clique em Run (External Mode) ou Deploy (para hardware).

Com o modelo rodando, escreva novos dados no ThingSpeak via MATLAB ou app móvel e veja o braço mover-se!
Código
Arquivos completos no MATLAB Central File Exchange: Controlling a Robotic Arm from Anywhere Using IoT
Processo de manufatura
- Controle Remoto Universal Android com Arduino, 1Sheeld e IR
- Mealheiro Inteligente: Controlar Aceitador de Moedas com Arduino Nano
- Central de Controle de Potência Arduino: N-FET, P-FET, Relé e Kit RTC
- Monitor de Frequência Cardíaca IoT em Tempo Real com Arduino e MAX30100
- Construa um Pote Inteligente IoT com ESP8266, Arduino e Sensor Ultrassônico – Monitoramento em Tempo Real
- Construa um Braço Robótico 3D Impresso Funcional com Arduino – Guia Passo a Passo
- Controle um Rover Arduino com Firmata e Gamepad Xbox One
- Controlador de Umidificador DIY com Arduino e Relé – Configuração Segura de Alta Tensão
- Braço Robótico 6 GDL Controlado por Nunchuk com Arduino Mega
- Braço Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil