Bezprzewodowy Robot sterowany Bluetooth za pomocą Arduino
w tym projekcie dowiemy się, jak zrobić bezprzewodowego robota sterowanego Bluetooth za pomocą Arduino i sterować nim za pomocą aplikacji Android.
przegląd
w tym projekcie dowiemy się, jak stworzyć bezprzewodowy sterowany przez Bluetooth samochód robota za pomocą Arduino. Zautomatyzowanym samochodem można sterować bezprzewodowo za pomocą smartfona. Smartfon posiada aplikację na Androida, za pomocą której użytkownik może wysyłać polecenia bezpośrednio do robota. Robot może poruszać się do przodu, do tyłu, w lewo iw prawo, a także można go zatrzymać.
sterowany Bluetooth samochód robota Arduino jest połączony z modułem Bluetooth HC-05 lub HC-06. Możemy dać konkretne polecenia głosowe robotowi za pośrednictwem aplikacji na Androida zainstalowanej w telefonie. Po stronie odbiorczej moduł nadajnika-odbiornika Bluetooth odbiera polecenia i przekazuje je do Arduino, a tym samym sterowany jest samochód robota.
wcześniej wykonaliśmy inny projekt robotyczny. Możesz sprawdzić kilka z nich poniżej:
1. Bezprzewodowy Robot Sterowany Gestem Za Pomocą Akcelerometru & Arduino
2. Bezprzewodowy Sterowany Głosem Samochód Robota Za Pomocą Arduino
3. Robot sterowany WiFi za pomocą ESP8266
zestawienie materiałów
poniżej podano elementy wymagane do tego projektu. Wszystkie te koponenty można kupić w 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 | akumulator 9V | 1 | https://amzn.to/2L2dusP |
6 | Robot Chasis & koła & śruby | – | 1 | https://amzn.to/2WGk4eg |
7 | przewody łączące | przewody połączeniowe | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
SCHEMAT BLOKOWY
SCHEMAT BLOKOWY bezprzewodowego głosu Arduino Sterowany Robot jest podany poniżej.
robot sterowany głosem Arduino składa się z sekcji nadajnika i odbiornika. Koniec nadajnika składa się ze smartfona Bluetooth i zainstalowanej na nim aplikacji Android. Podobnie sekcja odbiornika ma płytę Arduino jako procesor, moduł Bluetooth HC – 05 jako moduł komunikacji bezprzewodowej, L293D do napędzania silników i parę DC nastawioną jako część ruchomego robota.
schemat obwodu & połączenia
obwód składa się z płyty Arduino Uno, modułu Bluetooth HC-05/HC-06, układu sterującego silnikiem L293D, pary motoreduktorów DC o 200 obr. / min i baterii 9V.
piny Tx, Rx Arduino są podłączone do pinów Rx, Tx modułu Bluetooth. Moduł Bluetooth jest dostarczany z 5V. podobnie, lewy silnik PRĄDU STAŁEGO jest podłączony do pinu nr 3 & 6 L293D, a prawy silnik PRĄDU STAŁEGO do pinu nr 14 & 11 L293D. Piny cyfrowe Arduino 2,3,4,5 są podłączone odpowiednio do L293D 2, 7, 10, 15.
piny L293D IC 2, 5, 12, 13 to piny GND, a 9, 1, 16 jest dostarczane z 5V. ale pin 8 L293D jest bezpośrednio zasilany 9V.
aplikacja na Androida
aplikacja dla tego projektu jest podana poniżej. Został zaprojektowany przy użyciu MIT App Inventor. Interfejs wygląda mniej więcej tak.
zaimplementowano również wewnętrzną architekturę i programowanie, dzięki czemu aplikacja Android może bezprzewodowo sterować robotem za pomocą Bluetooth.
po ostatecznym zaprojektowaniu aplikacja na Androida wygląda mniej więcej tak. Możesz pobrać plik APK od dołu i bezpośrednio zainstalować na smartfonie.
praca projektu
jak wspomniano powyżej polecenia logiczne aplikacji są przetwarzane przez telefon. Polecenie jest następnie wysyłane do odbiornika przez Bluetooth. Polecenie odebrane przez Bluetooth jest przekazywane do płyty Arduino Uno za pomocą protokołu komunikacji szeregowej UART. Kod Arduino sprawdza otrzymane polecenia. Ilekroć polecenie jest pasującym ciągiem, Arduino kontroluje ruchy robota odpowiednio do przodu, do tyłu, skręcając w prawo, skręcając w lewo & Stop.
poziomy logiki sygnału na różnych etapach obwodów do prawidłowego sterowania samochodem robota podano poniżej.
kod źródłowy / Program
kod źródłowy bezprzewodowego robota Bluetooth Arduino podano poniżej. Możesz skopiować kod i przesłać go bezpośrednio do tablicy 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
|
String readvoice;
int k=0;
void setup() {
Serial.begin (9600);
pinMode (2, wyjście);
pinMode (3, Wyjście);
pinMode (4, wyjście);
pinMode (5, Wyjście);
}
void loop () {
while (Serial.dostępne())
{
opóźnienie(3);
char c = Serial.read ();
readvoice + = c;
}
if (readvoice.długość() > 0)
{
seryjny.println(readvoice);
if (readvoice = = „forward”)
{
digitalWrite (2, HIGH);
digitalWrite (3, LOW);
digitalWrite(4, HIGH);
digitalWrite (5, LOW);
k=1;
}
if (readvoice = = „wstecz”)
{
digitalWrite(2, LOW);
digitalWrite (3, HIGH);
digitalWrite (4, LOW);
digitalWrite(5, HIGH);
k=2;
}
if (readvoice = = „right”)
{
if (k==2)
{
digitalWrite(2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, LOW);
digitalWrite(5, LOW);
opóźnienie(1000);
digitalWrite(2, LOW);
digitalWrite(3, WYSOKI);
digitalWrite(4, NISKI);
digitalWrite(5, WYSOKI);
}
jeszcze
{
digitalWrite(2, HIGH);
digitalWrite(3, NISKI);
digitalWrite(4, NISKI);
Cyfrowy zapis(5, LOW);
opóźnienie(1000);
digitalWrite(2, HIGH);
digitalWrite(3, NISKI);
digitalWrite(4, WYSOKI);
Cyfrowy zapis(5, NISKI);
}
}
if(readvoice == „po lewej stronie”)
{
jeśli (k==2)
{
Cyfrowy zapis (2, LOW);
Cyfrowy zapis(3, NISKI);
Cyfrowy zapis (4, WYSOKI);
Cyfrowy zapis(5, LOW);
opóźnienie (1000);
digitalWrite(2, LOW);
digitalWrite(3, WYSOKI);
digitalWrite(4, NISKI);
digitalWrite(5, WYSOKI);
}
jeszcze
{
digitalWrite(2, LOW);
digitalWrite(3, NISKI);
digitalWrite(4, WYSOKI);
digitalWrite (5, LOW);
opóźnienie(1000);
digitalWrite(2, HIGH);
digitalWrite (3, LOW);
digitalWrite (4, HIGH);
digitalWrite (5, LOW);
}
}
if (readvoice = = „stop”)
{
digitalWrite(2, LOW);
digitalWrite (3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
}
readvoice=””;
}
|