Tanque Esteira Bluetooth com Arduino
E aí makers como andam os projetos?
No post de hoje vamos lhe ensinar a controlar seu tanque esteira via Bluetooth com arduino utilizando seu smartphone.
Lembre-se que o céu é o limite, você pode acrescentar novos componentes ao projeto de maneira fácil com uma simples alteração no código.
Prepare suas ferramentas e vamos para mais um projeto.
Materiais necessários para montagem:
Segue a lista do material que será utilizado no tanque esteira, todos esses são encontrados na Loja virtual da Autocore Robótica.
1 – Chassi Robô Tanque com Esteira Lagarta;
1 – Módulo Bluetooth RS232 HC-05;
1 – Driver Motor Ponte H L298N;
1 – Buzzer 5V 12MM;
2 – Led Alto Brilho 5mm Branco;
1 – Resistor de 150 Ohm;
1 – Resistor de 100 Ohm;
Montagem:
Preste bastante atenção na montagem de seu projeto, pois se ocorrer erro pode ocasionar danos aos seus componentes.
Para montar seu veículo siga o esquema abaixo:
Para maiores detalhes sobre a utilização do módulo bluetooth, acesse o link abaixo:
Utilizando Módulo Bluetooth no Arduino
No exemplo estamos utilizando o modelo Uno, mas pode ser utilizada outra placa como o Nano, Leonardo ou Mega.
Pinos utilizados da Ponte H:
N1 = 10;
N2 = 9;
ENA = 11;
N3 = 6;
N4 = 5;
ENB = 3;
Para mais informações sobre a Ponte H acesse este link:
Aprenda a utilizar a ponte H L293D com Arduino
OBSERVAÇÕES:
> Atenção para não inverter a polaridade pois pode ocorre danos ao regulador de tensão de seu ARDUINO;
>Ao realizar a gravação do Arduino desconectar os pinos de conexão RX e TX;
Programa:
/*Projeto tanque esteira Bluetooth, controlado pelo app arduino my car */ // /\ // \\ ////\\\\\ \\\\\\////// //////// \\\\//// \\\\//// /////// // /\ // \\ /\ // \\ // // \\ // \\ // //\\ // \\ /\ // \\ // // \\ // \\ // // \\ // \\ /\ // \\ // // \\ ////\\\\ /////// ////\\\\ // \\ /\ // \\ // // \\ // \\ // // \\ // \\ /\ // \\ // // \\ // \\ // // \\ /////\\\\\ /\ /////\\\\\ //////// ////\\// // \\ /////// // Pinos do motor direito: int N1 = 10; int N2 = 9; int ENA = 11; //Pino para regulagem de velocidade // Pinos do Motor esquerdo: int N3 = 6; int N4 = 5; int ENB = 3; //Pino para regulagem de velocidade. // Definição de pinos dos periféricos: const int ledF = 12 ; // Led's frontais. const int ledT = 13 ; // Led's traseiros. const int buzina = 4 ; // Buzzer. const int BTState = 2; // Comunicação do Bluetooth. // Variáveis. int i = 0; int j = 0; int state_rec; char state; void setup() { //Funções que são executadas apenas quando inicia-se o programa. // Definição de portas OUTPUT= Saída ----INPUT= Entrada. pinMode(N1, OUTPUT); pinMode(N2, OUTPUT); pinMode(N3, OUTPUT); pinMode(N4, OUTPUT); pinMode(BTState, INPUT); // Inicializa a comunicação serial. // Na comunicação serial você pode ve os comandos enviados pelo smartphone. Serial.begin(9600); } void loop() { // Funções que são executadas infinitamente. if (digitalRead(BTState) == LOW) { // O carro para ao ser desconectado do Bluetooth. state_rec = 'S'; } if (state != 'S') { Serial.print(state); } if (Serial.available() > 0) { // Salva os valores da variável 'state' state_rec = Serial.read(); state = state_rec; } //Definições de direções do Veículo: if (state == 'F') { // Ao receber o comando 'F' desloca-se para frente. digitalWrite(N1, LOW); digitalWrite(N2, HIGH); analogWrite(ENA, 255);//Define velocidade do motor em 255. //ESQUERDO digitalWrite(N3, LOW); digitalWrite(N4, HIGH); analogWrite(ENB, 255);//Define velocidade do motor em 255. } else if (state == 'G') { // Ao receber o comando 'L' desloca-se para frente e direita. digitalWrite(N1, HIGH ); digitalWrite(N2, LOW ); analogWrite(ENA, 255 );//Define velocidade do motor em 255. //ESQUERDO digitalWrite(N3, LOW); digitalWrite(N4, HIGH); analogWrite(ENB, 255);//Define velocidade do motor em 255. } else if (state == 'I') { // Ao receber o comando 'I' desloca-se para frente e esquerda. digitalWrite(N1, LOW ); digitalWrite(N2, HIGH); analogWrite(ENA, 255 );//Define velocidade do motor em 255. //ESQUERDO digitalWrite(N3, HIGH); digitalWrite(N4, LOW); analogWrite(ENB, 255);//Define velocidade do motor em 255. } else if (state == 'R') { // Ao receber o comando 'R' desloca-se para direita. digitalWrite(N1, LOW ); digitalWrite(N2, HIGH ); analogWrite(ENA, 255 );//Define velocidade do motor em 255. //ESQUERDO digitalWrite(N3, HIGH); digitalWrite(N4, LOW); analogWrite(ENB, 255);//Define velocidade do motor em 255. } else if (state == 'L') { // Ao receber o comando 'G' desloca-se para esquerda. digitalWrite(N1, HIGH ); digitalWrite(N2, LOW ); analogWrite(ENA, 255 );//Define velocidade do motor em 255. //ESQUERDO digitalWrite(N3, LOW); digitalWrite(N4, HIGH); analogWrite(ENB, 255);//Define velocidade do motor em 255. } else if (state == 'B') { // Ao receber o comando 'B' desloca-se para trás. digitalWrite(N1, HIGH); digitalWrite(N2, LOW); analogWrite(ENA, 255 ); //ESQUERDO digitalWrite(N3, HIGH); digitalWrite(N4, LOW ); analogWrite(ENB, 255); } else if (state == 'S') { // Ao receber o comando 'S' não realiza movimentos. digitalWrite(N1, LOW); digitalWrite(N2, LOW); //ESQUERDO digitalWrite(N3, LOW ); digitalWrite(N4, LOW ); } else if (state == 'V') {// Ao receber o comando 'V' aciona a buzina. if (j == 0) { tone(buzina, 1000); j = 1; } else if (j == 1) { noTone(buzina); j = 0; } state = 'n'; } else if (state == 'W') { // Ao receber o comando 'W' acende os leds frontais. if (j == 0) { tone(ledF, 1000); j = 1; } else if (j == 1) { noTone(ledF); j = 0; } else if (state == 'U') { // Ao receber o comando 'U' acende os leds Traseiros. if (j == 0) { tone(ledT, 1000); j = 1; } else if (j == 1) { noTone(ledT); j = 0; } } } }
Utilização do aplicativo:
O controle do tanque é feito por meio do App “Arduino Bluetooth RC Car”.
Download do app para smartphone com sistema Android
Ao iniciar o aplicativo será apresentada esta tela, nela você encontra os comandos para seu Tanque esteira.
1=Acender luz frontal;
2=Acender luz traseira;
3=Acionar buzina;
4=Ligar pisca alerta;
5=Menu;
6=Frente;
7=Trás;
8=Esquerda;
9=Direita;
10=Controlador de velocidade;
Menu:
Connect to car: Conectar ao veículo;
Accelerometer control: Esta função você controla o carro por meio dos movimentos de seu telefone;
Settings: Configurações
Close app: Fechar app;
Conectando o Tanque esteira ao aplicativo:
Primeiramente Clique em “Connect to car” e siga os passos abaixo:
- Abra o Aplicativo;
- Configure de acordo com seu móculo;
- Acione a função Bluetooth de seu celular;
- Siga as Imagens abaixo:
Nessa aba escolha seu módulo Bluetooth que está interligado ao arduino:
Se todo procedimento estiver correto vai aparecer conectado no canto superior:
Por fim, este foi mais um projeto elaborado pela Autocore Robótica, qualquer dúvida, sugestões e erros deixe seu comentário logo Abaixo…