
Fala galera, tudo bem com vocês? Já conseguiram montar o nosso Tanque Esteira Lagarta contralado por Bluetooth? Caso ainda não tenham montando clique neste link e acesso o tutorial completo! O tutorial de hoje é uma continuação do nosso Tanque controlado por Bluetooth, agora vamos fazer um Tanque Reboque com Arduino e Braço Robótico controlado por Bluetooth! Gostou da ideia? Então vamos começar!
Na primeira parte nós já mostramos como seria o resultado final do nosso projeto, mas vamos mostrar de novo aqui nessa segunda parte, o projeto final ficou assim:

Material necessário para a montagem
O material que será usado nesta parte do projeto será tudo o que já foi feito na parte 1, que mencionamos anteriormente, e o Kit Braço Robótico 3D!
Já o reboque, este carrinho de 04 rodas que o braço está montado, ele foi impresso com impressora 3D e instalado as rodas mini, porém caso você não tenha onde imprimir, poderia usar qualquer material reciclado de sucata de eletrônicos, tipo uma tampa de HD, DVD ou mesmo um pedaço de acrílico velho, assim você cortaria nas dimensões que coubesse seu braço robótico e para fixar as rodas basta pino de 1mm de diâmetro ou um arame.
Essa prática vai mexer muito com sua criatividade e espírito maker, não deixe os obstáculos fazer você parar, qualquer dificuldade pode comentar aqui que tentaremos ajudar. Este Tanque Reboque com Arduino é um projeto desafiador mas que no fim a recompensa vale a pena!
Montagem do Circuito

O circuito de montagem do braço nada mais é do que inserir os quatro servos no circuito que foi montado no artigo anterior, cumprindo o mesmo objetivo, é simplicidade, observe que tudo está distribuído e organizado de uma forma que possibilita uma manutenção rápida e entendimento claro para qualquer maker montar o seu, desde o iniciante até os mais avançados, aliás, caso você tenha sugestão de melhorias, pode comentar neste post, quem sabe seu nome poderá ser citado no próximo artigo.
Caso deseje o arquivo no formato .fzz editável do fritzing, comenta aqui deixando seu e-mail que enviaremos o arquivo editável e todos os componentes que tenho incluído no meu programa pessoal.
Montando o Braço Robótico
Para montar o braço é bem simples e intuitivo, aliás, como todo kit vendido aqui na Arduino Ômega, e “cá” pra nós, o gostoso é o desafio de você voltar a ser criança e tentar entender o processo de montagem descobrindo sozinho onde cada peça se encaixa.

Mas, se você preferir, temos uma guia de montagem completo, lá na página de descrição do braço em nossa loja, clique aqui e confira!
Após a montagem seu braço deverá ficar semelhante a este da imagem abaixo:

Mergulhando no código fonte
O código está todo comentado, mas creio que não difere muito dos outros tutoriais de braço robótico que temos aqui no blog, que temos postado aqui no nosso blog, caso tenha alguma dúvida ou necessite de uma explicação mais detalhada, comenta aqui que iremos ajudar.
#include <Servo.h> // Chama a biblioteca do Servo Servo myservo1, myservo2, myservo3, myservo4; // nome dos servos #define N1 5 #define N2 4 #define N3 3 #define N4 2 void setup() { Serial.begin(9600); myservo1.attach(7); // Anexar o motor 01 ao pino 03 (GARRA) myservo2.attach(8); // Anexar o motor 02 ao pino 05 (ELEVAÇÃO) myservo3.attach(9); // Anexar o motor 03 ao pino 06 (AVANÇO) myservo4.attach(10); // Anexar o motor 04 ao pino 09 (GIRO) for (byte pin = 2; pin < 6; pin++) { pinMode(pin, OUTPUT); } } void loop() //Lê o Bluetooth { if (Serial.available() >= 2 ) { unsigned int servopos = Serial.read(); unsigned int servopos1 = Serial.read(); unsigned int realservo = (servopos1 * 256) + servopos; //Serial.println(realservo); if (realservo == 300) { //Comando tanque para frente direcao(0, 1, 0, 1); //Chamada da função direção N1=0, N2=1, N3=0, N4=1 delay(10); } if (realservo == 400) { //Comando tanque parado direcao(0, 0, 0, 0); //Chamada da função direção N1=0, N2=0, N3=0, N4=0 delay(10); } if (realservo == 500) { //Comando tanque ré direcao(1, 0, 1, 0); //Chamada da função direção N1=1, N2=0, N3=1, N4=0 delay(10); } if (realservo == 600) { //Comando tanque para direita direcao(0, 1, 1, 0); //Chamada da função direção N1=0, N2=1, N3=1, N4=0 delay(10); } if (realservo == 700) { //Comando tanque para esquerda direcao(1, 0, 0, 1); //Chamada da função direção N1=1, N2=0, N3=0, N4=1 delay(10); } //comandos para o braço if (realservo >= 1000 && realservo < 1180) { int servo1 = realservo; servo1 = map(servo1, 1000, 1180, 0, 180); myservo1.write(servo1); delay(10); } if (realservo >= 2000 && realservo < 2180) { int servo2 = realservo; servo2 = map(servo2, 2000, 2180, 0, 180); myservo2.write(servo2); delay(10); } if (realservo >= 3000 && realservo < 3180) { int servo3 = realservo; servo3 = map(servo3, 3000, 3180, 0, 180); myservo3.write(servo3); delay(10); } if (realservo >= 4000 && realservo < 4180) { int servo4 = realservo; servo4 = map(servo4, 4000, 4180, 0, 180); myservo4.write(servo4); delay(10); } } } void direcao(byte N1, byte N2, byte N3, byte N4) { digitalWrite(11, N1); //Motor Esquerdo digitalWrite(6, N2); digitalWrite(7, N3); //Motor Direito digitalWrite(8, N4); }
Aplicativo para controle do tanque e do braço
Chegamos na última parte de nosso projeto, o aplicativo para controlar o tanque e o braço está disponível neste link, ao instalar o APK no seu celular Android, será necessário permitir a instalação de aplicativos não averiguados, e depois o Android irá perguntar se deseja enviar para verificação, clique em não enviar.
O link para o código editável no App Inventor pode ser acesso por esse link.
Nosso aplicativo tem essa aparência:

E abaixo um vídeo do projeto funcionando:
Então é isso pessoal, qualquer dúvida deixe um comentário abaixo, nós vamos fazer o máximo para te ajudar! Abraço!
Deixe uma resposta