Robô controlado por Bluetooth sem fio usando Arduino

neste projeto, aprenderemos como fazer robô controlado por Bluetooth Sem Fio usando Arduino e controlá-lo via aplicativo Android.

visão geral

neste projeto, aprenderemos como fazer um carro robô controlado por Bluetooth Sem Fio usando Arduino. O carro robótico pode ser controlado sem fio através de um Smartphone. O smartphone possui um aplicativo Android através do qual o usuário pode enviar comandos diretamente para o robô. O robô pode se mover para frente, para trás, para a esquerda e para a direita e também pode ser interrompido.

o carro robô controlado por Bluetooth do Arduino está conectado com um módulo Bluetooth HC-05 ou HC-06. Podemos dar comandos de voz específicos ao robô por meio de um aplicativo Android instalado no telefone. No lado receptor, um módulo transceptor Bluetooth recebe os comandos e os encaminha para o Arduino e, portanto, o carro robótico é controlado.

anteriormente, fizemos algum outro projeto robótico. Você pode verificar alguns deles abaixo:
1. Robô Controlado Por Gestos Sem Fio Usando Acelerômetro&Arduino
2. Carro Robô Controlado Por Voz Sem Fio Usando Arduino
3. Robô controlado por WiFi usando ESP8266

lista de materiais

os componentes necessários para esses projetos são fornecidos abaixo. Todos esses coponents podem ser comprados no Amazoon Link.

S. N. Components Description Quantity
1 Arduino UNO Arduino UNO R3 Development Board 1 https://amzn.to/388eC7D
2 Bluetooth Module HC-05/HC-06 Bluetooth Module 1 https://amzn.to/2MjYbi4
3 Motor Driver IC L293D H-Bridge Motor Driver IC 1 https://amzn.to/2Z6WsyG
4 Motors 12V DC Geared Motors, 300 RPM 2 https://amzn.to/2L2dusP
5 Bateria 9V Bateria Recarregável 1 https://amzn.to/2L2dusP
6 Robô de Chassis & Rodas & Parafusos 1 https://amzn.to/2WGk4eg
7 Ligar Os Cabos Jumper De Fios 10 https://amzn.to/2L8Xc1p
8 Protoboard 1 https://amzn.to/2YM6YyS

Diagrama de blocos

O diagrama de blocos do Arduino sem Fio de Voz Robô controlado é dado abaixo.

 Diagrama de blocos robô controlado por voz

o robô controlado por Voz Sem Fio Arduino consiste em um transmissor e uma seção de receptor. A extremidade do transmissor consiste em Smartphone Bluetooth e o aplicativo Android instalado nele. Da mesma forma, a seção do receptor tem placa Arduino como um processador, módulo Bluetooth HC-05 como um módulo de comunicação sem fio, L293D para motores de condução e par de DC voltado como uma parte para o robô em movimento.

Diagrama de Circuitos & Conexões

diagrama de Circuito Arduino Voz do Robô Controlado

O circuito consiste de Placa Arduino UNO, HC-05/HC-06 Módulo Bluetooth, L293D Motor Driver IC, um par de DC redutores de 200 RPM e uma Bateria de 9V.

os pinos TX, RX do Arduino estão conectados aos pinos Rx, Tx do módulo Bluetooth. O módulo Bluetooth é fornecido com 5V. Similarmente, o motor esquerdo da C. C. É conectado ao pino nenhum 3 & 6 de L293D e o motor direito da C. C. ao pino nenhum 14 & 11 de L293D. Os pinos digitais Arduino 2,3,4,5 estão conectados ao L293D 2, 7, 10, 15, respectivamente.

O L293D os Pinos 2, 5, 12, 13 pinos GND e 9, 1, 16 é fornecido com 5V. Mas o pino 8 do L293D é diretamente fornecido com 9V.

Android Robô Controlado

O Aplicativo para Android

O aplicativo para este projeto é dado abaixo. Ele é projetado usando MIT App Inventor. A interface do Usuário se parece com isso.

a arquitetura interna e a programação também foram implementadas para que o aplicativo Android possa controlar sem fio o robô com Bluetooth.

após o design final, o aplicativo Android se parece com isso. Você pode baixar o arquivo APK abaixo e instalar diretamente no seu smartphone.

Baixar: arquivo APk controlado por Bluetooth

o trabalho do projeto

como mencionado acima, o comando App Logic é processado por telefone. O comando é então enviado para o lado do receptor via Bluetooth. O comando recebido via Bluetooth é encaminhado para a placa Arduino Uno usando o protocolo de comunicação serial UART. O código Arduino verifica os comandos recebidos. Sempre que o comando é uma string correspondente, o Arduino controla os movimentos do robô de acordo com a frente, para trás, virando para a direita, virando para a esquerda & parar.

os níveis de lógica de sinal nos diferentes estágios dos circuitos para o controle adequado do carro robótico são fornecidos abaixo.

 trabalho de robô controlado por voz

código-fonte / programa

o código-fonte para Arduino Robô Bluetooth Sem Fio é dado abaixo. Você pode copiar o código e enviá-lo diretamente para a placa Arduino.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106

Cadeia readvoice;
int k=0;
void setup() {
Serial.começar (9600);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,SAÍDA);
pinMode(5,SAÍDA);
}
void loop() {
enquanto (de Série.disponível())
{
atraso(3);
char c = Serial.leia();
readvoice += c;
}
se(readvoice.comprimento() > 0)
{
Serial.println(readvoice);
se(readvoice == “forward”)
{
digitalWrite(2, HIGH);
digitalWrite(3, BAIXA);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
k=1;
}
se(readvoice == “para trás”)
{
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, ALTO);
k=2;
}
se(readvoice == “right”)
{
se (k==2)
{
digitalWrite(2, ALTA);
digitalWrite(3, BAIXA);
digitalWrite(4, LOW);
digitalWrite(5, BAIXA);
atraso(1000);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, ALTO);
}
mais
{
digitalWrite(2, ALTA);
digitalWrite(3, BAIXA);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
atraso(1000);
digitalWrite(2, HIGH);
digitalWrite(3, BAIXA);
digitalWrite(4, HIGH);
digitalWrite(5, BAIXA);
}
}
se(readvoice == “left”)
{
se (k==2)
{
digitalWrite(2, LOW);
digitalWrite(3, BAIXA);
digitalWrite(4, ALTA);
digitalWrite(5, LOW);
atraso(1000);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, ALTO);
}
mais
{
digitalWrite(2, LOW);
digitalWrite(3, BAIXA);
digitalWrite(4, ALTA);
digitalWrite(5, LOW);
atraso(1000);
digitalWrite(2, HIGH);
digitalWrite(3, BAIXA);
digitalWrite(4, HIGH);
digitalWrite(5, BAIXO);
}
}
se(readvoice == “parar”)
{
digitalWrite(2, LOW);
digitalWrite(3, BAIXA);
digitalWrite(4, LOW);
digitalWrite(5, BAIXO);
}
}
readvoice=””;
}

Leave a Reply

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