Tanque Reboque com Arduino e Braço Robótico controlado por Bluetooth

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:

Resultado final com o Tanque e o Braço Robótico

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

circuito tanque reboque arduino
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.

braco robotico arduino omega
Braço Robótico desmontado

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:

braco robotico montado arduino omega
Braço Robótico montado

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:

App braço robótico

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!

Sobre Sandro Mesquita 6 artigos
Prof. Sandro Mesquita, Msc. Eng de Software, CREA - 44680 .

Seja o primeiro a comentar

Deixe uma resposta

O seu endereço de email não será publicado.


*