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.

SCHEMAT BLOKOWY Robot sterowany głosem

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

schemat obwodu robot sterowany głosem Arduino

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.

Robot sterowany Androidem

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.

Pobierz: plik APK sterowany przez Bluetooth

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.

praca robota sterowanego głosem

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

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.