Vezeték nélküli Bluetooth vezérelt Robot segítségével Arduino
ebben a projektben megtanuljuk, hogyan lehet A vezeték nélküli Bluetooth vezérelt Robot segítségével Arduino és irányítani keresztül Android App.
áttekintés
ebben a projektben megtanuljuk, hogyan készítsünk vezeték nélküli Bluetooth vezérlésű robotautót az Arduino használatával. A robotautó vezeték nélkül vezérelhető okostelefonon keresztül. Az okostelefon rendelkezik egy Android alkalmazással, amelyen keresztül a felhasználó parancsokat küldhet közvetlenül a robotnak. A robot előre, hátra, balra és jobbra mozoghat, és megállítható.
az Arduino Bluetooth-vezérlésű robotautója HC-05 vagy HC-06 Bluetooth modullal van összekötve. Konkrét hangutasításokat adhatunk a robotnak a telefonra telepített Android alkalmazáson keresztül. A fogadó oldalon egy Bluetooth adó-vevő modul fogadja a parancsokat, és továbbítja azokat az Arduino – nak, így a robotautó vezérelhető.
korábban más robotprojektet készítettünk. Az alábbiakban néhányat ellenőrizhet:
1. Vezeték Nélküli Gesztus Vezérelt Robot Segítségével Gyorsulásmérő & Arduino
2. Vezeték Nélküli Hangvezérelt Robot Autó Segítségével Arduino
3. WiFi vezérelt Robot segítségével ESP8266
Anyagjegyzék
az alkatrészek szükségesek a projektek alább. Mindezek a koponensek megvásárolhatók az Amazoon linkről.
Sz. | 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 | akkumulátor | 9V újratölthető akkumulátor | 1 | https://amzn.to/2L2dusP |
6 | Robot Chasis & kerekek & csavarok | – | 1 | https://amzn.to/2WGk4eg |
7 | összekötő vezetékek | áthidaló vezetékek | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
blokkdiagram
az Arduino vezeték nélküli hang blokkdiagramja Az Ellenőrzött Robot az alábbiakban található.
az Arduino vezeték nélküli hangvezérelt Robot egy adóból és egy vevőből áll. Az adó végén áll okostelefon Bluetooth és az Android app telepítve van. Hasonlóképpen, a Vevő részben Arduino tábla van processzorként, HC-05 Bluetooth modul vezeték nélküli kommunikációs modulként, L293D hajtómotorokhoz és pár DC hajtómű a mozgó robot részeként.
kapcsolási rajz & csatlakozások
az áramkör áll Arduino UNO tábla, HC-05/HC-06 Bluetooth modul, L293D Motor meghajtó IC, egy pár DC hajtóműves motorok 200 RPM és egy 9V akkumulátor.
az Arduino TX, RX csapjai a Bluetooth modul Rx, Tx csapjaihoz vannak csatlakoztatva. A Bluetooth modul 5V-os. Hasonlóképpen, a bal egyenáramú motor a 3.számú & 6. számú l293d-csatlakozóhoz, a jobb oldali egyenáramú motor pedig a 14. számú & 11. számú l293d-csatlakozóhoz van csatlakoztatva. Arduino digitális csapok 2,3,4,5 csatlakozik L293D 2, 7, 10, 15 illetőleg.
az L293D IC csapok 2, 5, 12, 13 is GND Csapok és 9, 1, 16 szállítjuk 5V. De pin 8 L293D közvetlenül szállítjuk 9V.
az Android App
az alkalmazás a projekt alább. Úgy tervezték, a MIT App Inventor. Az UI valahogy így néz ki.
a belső architektúra és programozás is megvalósult, hogy az Android alkalmazás vezeték nélkül vezérelhesse a robotot Bluetooth-on keresztül.
a végleges tervezés után az Android alkalmazás így néz ki. Az APK fájlt alulról letöltheti, majd közvetlenül telepítheti okostelefonjára.
munka a projekt
mint már említettük App logikai parancs feldolgozása telefonon. A parancsot ezután Bluetooth-on keresztül elküldik a vevő oldalára. Parancs kapott Bluetooth továbbítja Arduino Uno tábla segítségével UART soros kommunikációs protokoll. Az Arduino kód ellenőrzi a kapott parancsokat. Amikor a parancs egy megfelelő karakterlánc, az Arduino ennek megfelelően vezérli a robot mozgását előre,hátra, jobbra, balra & Stop.
az áramkörök különböző szakaszaiban a robotkocsi megfelelő vezérléséhez szükséges Jellogikai szinteket az alábbiakban adjuk meg.
forráskód / Program
az Arduino vezeték nélküli Bluetooth Robot forráskódja az alábbiakban található. Másolhatja a kódot, és feltöltheti közvetlenül az Arduino táblára.
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
|
String readvoice;
int k=0;
void setup() {
Soros.kezdődik(9600);
pinMode (2, kimenet);
pinMode (3, kimenet);
pinMode (4, kimenet);
pinMode (5, kimenet);
}
void loop() {
while (Soros.elérhető())
{
késés(3);
char c = Soros.read ();
readvoice + = c;
}
ha (readvoice.hossz() > 0)
{
sorozat.println (readvoice);
if (readvoice = = “előre”)
{
digitalWrite (2, magas);
digitalWrite (3, alacsony);
digitalWrite (4, magas);
digitalWrite (5, alacsony);
k=1;
}
if (readvoice = = “visszafelé”)
{
digitalWrite (2, alacsony);
digitalWrite (3, magas);
digitalWrite (4, alacsony);
digitalWrite (5, magas);
k=2;
}
if (readvoice = = “jobb”)
{
if (k==2)
{
digitalWrite (2, magas);
digitalWrite (3, alacsony);
digitalWrite (4, alacsony);
digitalWrite (5, alacsony);
késleltetés(1000);
digitalWrite (2, alacsony);
digitalWrite (3, magas);
digitalWrite (4, alacsony);
digitalWrite (5, magas);
}
else
{
digitalWrite (2, magas);
digitalWrite (3, alacsony);
digitalWrite (4, alacsony);
digitalWrite (5, alacsony);
késleltetés(1000);
digitalWrite (2, magas);
digitalWrite (3, alacsony);
digitalWrite (4, magas);
digitalWrite (5, alacsony);
}
}
if (readvoice = = “left”)
{
if (k==2)
{
digitalWrite (2, alacsony);
digitalWrite (3, alacsony);
digitalWrite (4, magas);
digitalWrite (5, alacsony);
késleltetés(1000);
digitalWrite (2, alacsony);
digitalWrite (3, magas);
digitalWrite (4, alacsony);
digitalWrite (5, magas);
}
else
{
digitalWrite (2, alacsony);
digitalWrite (3, alacsony);
digitalWrite (4, magas);
digitalWrite (5, alacsony);
késleltetés(1000);
digitalWrite (2, magas);
digitalWrite (3, alacsony);
digitalWrite (4, magas);
digitalWrite (5, alacsony);
}
}
if (readvoice = = “stop”)
{
digitalWrite (2, alacsony);
digitalWrite (3, alacsony);
digitalWrite (4, alacsony);
digitalWrite (5, alacsony);
}
}
readvoice=””;
}
|