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.
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
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.
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.
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.
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=””;
}
|