Robot Wireless controlat prin Bluetooth folosind Arduino
în acest proiect vom învăța cum să facem Robot Wireless controlat prin Bluetooth folosind Arduino și să îl controlăm prin aplicația Android.
Prezentare generală
în acest proiect, vom învăța cum să facem o mașină Robot controlată fără fir Bluetooth folosind Arduino. Mașina robotizată poate fi controlată fără fir prin intermediul unui Smartphone. Smartphone-ul are o aplicație Android prin care utilizatorul poate trimite comenzi direct la Robot. Robotul se poate deplasa înainte, înapoi, stânga și dreapta și poate fi, de asemenea, oprit.
mașina robotului controlată prin Bluetooth Arduino este interfațată cu un modul Bluetooth HC-05 sau HC-06. Putem da comenzi vocale specifice robotului printr-o aplicație Android instalată pe telefon. La partea de recepție, un modul de emisie-recepție Bluetooth primește comenzile și le transmite către Arduino și, astfel, mașina robotizată este controlată.
anterior am făcut un alt proiect robotizat. Puteți verifica câteva dintre ele mai jos:
1. Wireless Gest Controlat Robot Folosind Accelerometru & Arduino
2. Mașină Robot Controlată Prin Voce Fără Fir Folosind Arduino
3. Robot controlat WiFi folosind ESP8266
Bill of Materials
componentele necesare pentru aceste proiecte sunt prezentate mai jos. Toate aceste coponente pot fi achiziționate de pe link-ul Amazoon.
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 | baterie | baterie reîncărcabilă 9V | 1 | https://amzn.to/2L2dusP |
6 | Robot Chasis & roți & șuruburi | – | 1 | https://amzn.to/2WGk4eg |
7 | Cabluri de conectare | cabluri Jumper | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
Diagrama bloc
Diagrama bloc a vocii fără fir Arduino Robotul controlat este prezentat mai jos.
robotul vocal Wireless Arduino este format dintr-un transmițător și o secțiune receptor. Capătul emițătorului este format din smartphone Bluetooth și aplicația Android instalată pe acesta. În mod similar, secțiunea receptorului are placa Arduino ca procesor, modulul Bluetooth HC-05 ca modul de comunicare fără fir, L293D pentru motoarele de acționare și perechea de DC orientată ca parte pentru robotul în mișcare.
diagrama circuitului& conexiuni
circuitul constă din placa Arduino UNO, modulul Bluetooth HC-05/HC-06, driverul motorului L293D IC, o pereche de motoare cu angrenaj DC de 200 RPM și o baterie de 9V.
pinii Tx, Rx ai Arduino sunt conectați la pinii Rx, Tx ai modulului Bluetooth. Modulul Bluetooth este livrat cu 5V.în mod similar, motorul DC stâng este conectat la pinul nr. 3 & 6 al L293D și motorul DC drept la pinul nr. 14 & 11 al L293D. Arduino digital pins 2,3,4,5 este conectat la L293D 2, 7, 10, respectiv 15.
pinii IC L293D 2, 5, 12, 13 este GND pini și 9, 1, 16 este livrat cu 5V. dar pin 8 de L293D este furnizat direct cu 9V.
aplicația Android
aplicația pentru acest proiect este prezentată mai jos. Acesta este proiectat folosind MIT App Inventor. UI arata ceva de genul asta.
arhitectura și programarea internă au fost, de asemenea, implementate, astfel încât aplicația Android să poată controla fără fir robotul cu Bluetooth.
după designul final, aplicația Android arată cam așa. Puteți descărca fișierul APK de mai jos și instalați direct pe telefonul smartphone.
de lucru a proiectului
după cum sa menționat mai sus App comandă logică sunt procesate prin telefon. Comanda este apoi trimisă către partea receptorului prin Bluetooth. Comanda primită prin Bluetooth este redirecționată către placa Arduino Uno folosind protocolul de comunicare serial UART. Codul Arduino verifică comenzile primite. Ori de câte ori COMANDA este un șir de potrivire, Arduino controlează mișcările robotului în mod corespunzător înainte, înapoi, virând la dreapta, virând la stânga & Stop.
nivelurile logice ale semnalului în diferitele etape ale circuitelor pentru controlul corect al mașinii robotizate sunt prezentate mai jos.
cod sursă / Program
codul sursă pentru robotul Bluetooth Wireless Arduino este prezentat mai jos. Puteți copia codul și încărcați-l direct la bord 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
|
șir readvoice;
int k=0;
void setup() {
Serial.incepe (9600);
pinMode (2, ieșire);
pinMode (3, ieșire);
pinMode (4, ieșire);
pinMode (5, ieșire);
}
buclă void () {
în timp ce (Serial.disponibil())
{
întârziere(3);
char c = Serial.read();
readvoice + = c;
}
dacă (readvoice.lungime() > 0)
{
Serial.println (readvoice);
dacă (readvoice = = „înainte”)
{
digitalWrite (2, ridicat);
digitalWrite(3, scăzut);
scriere digitala (4, inalta);
scriere digitala (5, scazuta);
k=1;
}
dacă (readvoice = = „înapoi”)
{
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
k=2;
}
dacă (readvoice = = „dreapta”)
{
dacă (k==2)
{
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
întârziere(1000);
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
}
else
{
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite(4, LOW);
digitalWrite (5, LOW);
delay(1000);
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
}
}
dacă (readvoice = = „stânga”)
{
dacă (k==2)
{
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite(4, HIGH);
digitalWrite (5, LOW);
delay(1000);
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
}
else
{
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, scăzut);
întârziere(1000);
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
}
}
dacă (readvoice = = „stop”)
{
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
}
cititvoce=””;
}
|