Trådløs Bluetooth-styret Robot ved hjælp af Arduino
i dette projekt lærer vi, hvordan man laver trådløs Bluetooth-styret Robot ved hjælp af Arduino og styrer den via Android-App.
oversigt
i dette projekt lærer vi, hvordan man laver trådløs Bluetooth-styret robotbil ved hjælp af Arduino. Robotbilen kan styres trådløst via en Smartphone. Smarttelefonen har en Android-app, hvorigennem brugeren kan sende kommandoer direkte til Robot. Robotten kan bevæge sig fremad, bagud, venstre og højre og kan også stoppes.
Arduinos Bluetooth-styrede robotbil er forbundet med et Bluetooth-modul HC-05 eller HC-06. Vi kan give specifikke stemmekommandoer til roboten gennem en Android-app installeret på telefonen. På modtagersiden modtager et Bluetooth-transceivermodul kommandoerne og videresender dem til Arduino, og dermed styres robotbilen.
tidligere lavede vi et andet robotprojekt. Du kan tjekke et par af dem nedenfor:
1. Trådløs Gestus Styret Robot Ved Hjælp Af Accelerometer &Arduino
2. Trådløs Stemmestyret Robotbil Ved Hjælp Af Arduino
3. Trådløs styret Robot ved hjælp af ESP8266
Materialeregning
de komponenter, der kræves til disse projekter, er angivet nedenfor. Alle disse coponents kan købes fra
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 | batteri | 9v genopladeligt batteri | 1 | https://amzn.to/2L2dusP |
6 | Robot Chasis & hjul & skruer | – | 1 | https://amzn.to/2WGk4eg |
7 | tilslutning ledninger | Jumper ledninger | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
blok Diagram
blokdiagrammet af Arduino trådløs stemme Kontrolleret Robot er angivet nedenfor.
Arduino trådløs stemmestyret Robot består af en sender og en modtagersektion. Senderenden består af Smartphone Bluetooth og Android-appen installeret på den. Tilsvarende har Modtagersektionen Arduino-kort som processor, HC-05 Bluetooth-modul som et trådløst kommunikationsmodul, L293D til kørsel af motorer og par DC gearet som en del til at flytte robot.
kredsløbsdiagram & forbindelser
kredsløbet består af Arduino UNO-kort, HC-05/HC-06 Bluetooth-modul, L293D Motor Driver IC, et par DC-gearmotorer på 200 O / min og et 9V batteri.
Arduino ‘ s pins er forbundet til Bluetooth-modulets pins. Bluetooth-modulet leveres med 5V. tilsvarende er venstre jævnstrømsmotor tilsluttet pin nr.3 & 6 i L293D og højre jævnstrømsmotor til pin nr. 14 & 11 I L293D. Arduino digitale stifter 2,3,4,5 er forbundet til L293D 2, 7, 10, 15 henholdsvis.
L293D IC Pins 2, 5, 12, 13 er GND pins og 9, 1, 16 leveres med 5V. men pin 8 af L293D leveres direkte med 9V.
Android-Appen
appen til dette projekt er angivet nedenfor. Den er designet ved hjælp af MIT App Inventor. UI ser sådan ud.
den interne arkitektur og programmering er også implementeret, så Android-appen trådløst kan styre roboten med Bluetooth.
efter det endelige design ser Android-Appen sådan ud. Du kan hente APK-filen nedenunder og installere direkte på din smartphone.
arbejde af projektet
som nævnt ovenfor app logik kommando behandles via telefon. Kommandoen sendes derefter til modtagersiden via Bluetooth. Kommando modtaget via Bluetooth videresendes til Arduino Uno bord ved hjælp af UART seriel kommunikationsprotokol. Arduino-kode kontrollerer de modtagne kommandoer. Når kommandoen er en matchende streng, styrer Arduino robotens bevægelser i overensstemmelse hermed fremad, bagud, drej til højre, Drej til venstre & Stop.
Signallogikniveauer i de forskellige faser af kredsløbene til korrekt styring af robotbilen er angivet nedenfor.
kildekode / Program
kildekoden til trådløs Bluetooth-Robot Arduino er angivet nedenfor. Du kan kopiere koden og uploade den direkte til Arduino Board.
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;
ugyldig opsætning() {
seriel.begynde (9600);
pinMode (2, udgang);
pinMode (3, udgang);
pinMode (4, udgang);
pinMode (5, udgang);
}
void loop () {
mens (seriel.tilgængelig())
{
forsinkelse(3);
char c = seriel.læse ();
readvoice + = c;
}
hvis (readvoice.længde() > 0)
{
seriel.println(readvoice);
hvis (readvoice = = “fremad”)
{
digitalskriv (2, høj);
digitalskriv (3, Lav);
digitalskriv (4, høj);
digitalskriv (5, Lav);
k=1;
}
hvis (readvoice = = “baglæns”)
{
digitalskriv (2, Lav);
digitalskriv (3, høj);
digitalskriv (4, Lav);
digitalskriv (5, høj);
k=2;
}
hvis (readvoice = = “højre”)
{
hvis (k==2)
{
digitalskriv (2, høj);
digitalskriv (3, Lav);
digitalskriv (4, Lav);
digitalskriv (5, Lav);
forsinkelse(1000);
digitalskriv (2, Lav);
digitalskriv (3, høj);
digitalskriv (4, Lav);
digitalskriv (5, høj);
}
else
{
digitalskriv (2, høj);
digitalskriv (3, Lav);
digitalskriv (4, Lav);
digitalskriv (5, Lav);
forsinkelse(1000);
digitalskriv (2, høj);
digitalskriv (3, Lav);
digitalskriv (4, høj);
digitalskriv (5, Lav);
}
}
hvis (readvoice = = “venstre”)
{
hvis (k==2)
{
digitalskriv (2, Lav);
digitalskriv (3, Lav);
digitalskriv (4, høj);
digitalskriv (5, Lav);
forsinkelse(1000);
digitalskriv (2, Lav);
digitalskriv (3, høj);
digitalskriv (4, Lav);
digitalskriv (5, høj);
}
else
{
digitalskriv (2, Lav);
digitalskriv (3, Lav);
digitalskriv(4, høj);
digitalskriv (5, Lav);
forsinkelse(1000);
digitalskriv (2, høj);
digitalskriv (3, Lav);
digitalskriv (4, høj);
digitalskriv (5, Lav);
}
}
hvis (readvoice = = “stop”)
{
digitalskriv (2, Lav);
digitalskriv (3, Lav);
digitalskriv (4, Lav);
digitalskriv (5, Lav);
}
}
readvoice=””;
}
|