Bezdrátový Bluetooth řízený Robot pomocí Arduino
v tomto projektu se naučíme, jak vytvořit bezdrátový Bluetooth řízený Robot pomocí Arduina a ovládat jej pomocí aplikace pro Android.
přehled
v tomto projektu se naučíme, jak vyrobit Bezdrátové Bluetooth řízené robotické auto pomocí Arduina. Robotické auto lze ovládat bezdrátově pomocí smartphonu. Smartphone má aplikaci pro Android, pomocí které může uživatel odesílat příkazy přímo robotovi. Robot se může pohybovat dopředu, dozadu, doleva a doprava a může být také zastaven.
robotické auto Arduino řízené Bluetooth je propojeno s modulem Bluetooth HC-05 nebo HC-06. Robotovi můžeme dát konkrétní hlasové příkazy prostřednictvím aplikace pro Android nainstalované v telefonu. Na přijímací straně modul Bluetooth transceiveru přijímá příkazy a předává je do Arduina, a tím je ovládán robotický vůz.
dříve jsme udělali nějaký jiný robotický Projekt. Několik z nich můžete zkontrolovat níže:
1. Bezdrátový Robot Ovládaný Gesty Pomocí Akcelerometru & Arduino
2. Bezdrátový Hlas Řízený Robot Auto Pomocí Arduino
3. WiFi řízený Robot pomocí ESP8266
kusovník materiálů
komponenty potřebné pro tyto projekty jsou uvedeny níže. Všechny tyto koponenty lze zakoupit na odkazu Amazon.
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 | 9V dobíjecí baterie | 1 | https://amzn.to/2L2dusP |
6 | Robot Chasis & kola & šrouby | – | 1 | https://amzn.to/2WGk4eg |
7 | připojovací vodiče | propojovací vodiče | 10 | https://amzn.to/2L8Xc1p |
8 | prkénko | – | 1 | https://amzn.to/2YM6YyS |
blokové schéma
blokové schéma bezdrátového hlasu Arduino Řízený Robot je uveden níže.
bezdrátový hlasově řízený Robot Arduino se skládá z vysílače a sekce přijímače. Konec vysílače se skládá ze smartphonu Bluetooth a na něm nainstalované aplikace pro Android. Podobně má sekce přijímače desku Arduino jako procesor, modul HC-05 Bluetooth jako bezdrátový komunikační modul, L293D pro pohon motorů a pár DC zaměřených jako součást pro pohyb robota.
Schéma zapojení & připojení
obvod se skládá z desky Arduino Uno, modulu Bluetooth HC-05/HC-06, ovladače motoru L293D IC, dvojice stejnosměrných převodových motorů 200 ot / min a baterie 9V.
Tx, Rx piny Arduino je připojen k Rx, Tx piny Bluetooth modulu. Modul Bluetooth je dodáván s 5V. podobně je levý stejnosměrný motor připojen k pinu č. 3 & 6 L293D a pravý stejnosměrný motor k pinu č. 14 & 11 l293d. Arduino digitální piny 2,3,4,5 je připojen k L293D 2, 7, 10, 15 resp.
L293D IC kolíky 2, 5, 12, 13 je GND kolíky a 9, 1, 16 je dodáván s 5V. ale pin 8 L293D je přímo dodáván s 9V.
aplikace pro Android
aplikace pro tento projekt je uvedena níže. Je navržen pomocí MIT App Inventor. Uživatelské rozhraní vypadá nějak takto.
interní architektura a programování byly také implementovány tak, aby aplikace pro Android mohla bezdrátově ovládat robota pomocí Bluetooth.
po konečném návrhu aplikace pro Android vypadá něco takového. Soubor APK si můžete stáhnout zespodu a přímo nainstalovat do smartphonu.
práce projektu
jak je uvedeno výše App Logic příkaz jsou zpracovány telefonicky. Příkaz je poté odeslán na stranu přijímače přes Bluetooth. Příkaz přijatý přes Bluetooth je přesměrován na desku Arduino Uno pomocí sériového komunikačního protokolu UART. Arduino kód kontroluje přijaté příkazy. Kdykoli je příkaz odpovídající řetězec, Arduino řídí pohyby robota odpovídajícím způsobem vpřed, vzad, odbočka vpravo, odbočka vlevo & Stop.
úrovně logiky signálu v různých fázích obvodů pro správné řízení robotického vozu jsou uvedeny níže.
zdrojový kód / Program
zdrojový kód pro bezdrátový Bluetooth Robot Arduino je uveden níže. Kód můžete zkopírovat a nahrát přímo na desku 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
|
řetězec readvoice;
int k=0;
void setup () {
Serial.začít (9600);
pinMode (2, Výstup);
pinMode (3, výstup);
pinMode (4, výstup);
pinMode (5, výstup);
}
void loop () {
while (Serial.dostupné())
{
zpoždění(3);
char c = sériový.read();
readvoice += c;
}
pokud (readvoice.délka() > 0)
{
seriál.println(readvoice);
if (readvoice = = „forward“)
{
digitalWrite (2, HIGH);
digitalWrite (3, LOW) ;
digitalWrite (4, HIGH);
digitalWrite(5, LOW);
k=1;
}
pokud (readvoice = = „zpět“)
{
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
k=2;
}
pokud (readvoice = = „správně“)
{
if (k==2)
{
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
zpoždění(1000);
digitalWrite (2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite (5, HIGH);
}
else
{
digitalWrite (2, vysoká);
digitalWrite (3, nízká);
digitalWrite (4, nízká);
digitalWrite (5, nízká);
zpoždění(1000);
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW) ;
}
}
pokud (readvoice = = „vlevo“)
{
if (k==2)
{
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
zpoždění(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, LOW);
zpoždění(1000);
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
}
}
pokud (readvoice = = „stop“)
{
digitalWrite (2, LOW);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite (5, LOW);
}
}
readvoice=““;
}
|