Trådlös Bluetooth-styrd Robot med Arduino
i det här projektet lär vi oss hur man gör trådlös Bluetooth-styrd Robot med Arduino och styr den via Android-appen.
översikt
i det här projektet kommer vi att lära oss hur man gör trådlös Bluetooth-styrd robotbil med Arduino. Robotbilen kan styras trådlöst via en Smartphone. Smartphone har en Android-app genom vilken användaren kan skicka kommandon direkt till Robot. Roboten kan röra sig framåt, bakåt, vänster och höger och kan också stoppas.
Arduinos Bluetooth-styrda robotbil är kopplad till en Bluetooth-modul HC-05 eller HC-06. Vi kan ge specifika röstkommandon till roboten via en Android-app installerad på telefonen. På mottagningssidan tar en Bluetooth-sändtagarmodul emot kommandona och vidarebefordrar dem till Arduino, och därmed styrs robotbilen.
tidigare gjorde vi något annat robotprojekt. Du kan kolla några av dem nedan:
1. Trådlös Geststyrd Robot Med Accelerometer & Arduino
2. Trådlös Röststyrd Robotbil Med Arduino
3. WiFi-kontrollerad Robot med ESP8266
materialförteckning
komponenterna som krävs för detta projekt ges nedan. Alla dessa coponents kan köpas från 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 | batteri | 9V laddningsbart batteri | 1 | https://amzn.to/2L2dusP |
6 | Robot Chassis & hjul & skruvar | – | 1 | https://amzn.to/2WGk4eg |
7 | Anslutningskablar | Bygelkablar | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
blockschema
blockschemat för Arduino trådlös röst Kontrollerad Robot ges nedan.
den trådlösa röststyrda roboten Arduino består av en sändare och en mottagarsektion. Sändaränden består av Smartphone Bluetooth och Android-appen installerad på den. På samma sätt har Mottagarsektionen Arduino styrelse som en processor, HC-05 Bluetooth-modul som en trådlös kommunikationsmodul, L293D för att driva motorer och par DC inriktad som en del för att flytta robot.
kretsschema & anslutningar
kretsen består av Arduino UNO-kort, HC-05/HC-06 Bluetooth-modul, L293D motordrivare IC, ett par DC-växelmotorer på 200 RPM och ett 9V-batteri.
Arduinos TX, RX-stift är anslutna till RX, TX-stift i Bluetooth-modulen. Bluetooth-modulen levereras med 5V. på samma sätt är vänster likströmsmotor ansluten till Stift nr 3 & 6 av L293D och höger likströmsmotor till Stift nr 14 & 11 av L293D. Arduino digitala stift 2,3,4,5 är ansluten till L293D 2, 7, 10, 15 respektive.
L293D IC-stiften 2, 5, 12, 13 är GND-stift och 9, 1, 16 levereras med 5V. men stift 8 av L293D levereras direkt med 9V.
Android App
appen för detta projekt ges nedan. Den är utformad med MIT App Inventor. Användargränssnittet ser ut så här.
den interna arkitekturen och programmeringen har också implementerats så att Android-appen trådlöst kan styra roboten med Bluetooth.
efter slutlig design ser Android-appen ut så här. Du kan ladda ner APK-filen underifrån och installera direkt på din smartphone.
arbetet med projektet
som nämnts ovan App Logic kommando behandlas via telefon. Kommandot skickas sedan till mottagarsidan via Bluetooth. Kommando tas emot via Bluetooth vidarebefordras till Arduino Uno styrelse med UART seriell kommunikationsprotokoll. Arduino-koden kontrollerar de mottagna kommandona. När kommandot är en matchande sträng styr Arduino robotens rörelser i enlighet därmed framåt, bakåt, Sväng höger ,sväng vänster & stopp.
Signallogiknivåer vid de olika stadierna av kretsarna för korrekt styrning av robotbilen ges nedan.
källkod / Program
källkoden för trådlös Bluetooth Robot Arduino ges nedan. Du kan kopiera koden och ladda upp den direkt till 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
|
sträng readvoice;
int k = 0;
void setup() {
seriell.börja (9600);
pinMode (2, utgång);
pinMode (3, utgång);
pinMode (4, utgång);
pinMode (5, utgång);
}
void loop () {
medan (seriell.tillgänglig())
{
fördröjning(3);
char c = seriell.läsa();
readvoice + = c;
}
om (readvoice.längd() > 0)
{
serie.println (readvoice);
om (readvoice = = ”framåt”)
{
digitalWrite (2, hög);
digitalWrite(3, låg);
digitalWrite (4, hög);
digitalWrite (5, låg);
k=1;
}
om (readvoice = = ”bakåt”)
{
digitalWrite (2, låg);
digitalWrite (3, hög);
digitalWrite (4, låg);
digitalWrite(5, hög);
k=2;
}
om (readvoice = = ”rätt”)
{
om (k==2)
{
digitalWrite (2, hög);
digitalWrite (3, låg);
digitalWrite (4, låg);
digitalWrite (5, låg);
fördröjning(1000);
digitalWrite (2, låg);
digitalWrite (3, hög);
digitalWrite (4, låg);
digitalWrite (5, hög);
}
annat
{
digitalWrite (2, hög);
digitalWrite (3, låg);
digitalWrite (4, låg);
digitalWrite (5, låg);
fördröjning(1000);
digitalWrite (2, hög);
digitalWrite (3, låg);
digitalWrite (4, hög);
digitalWrite (5, låg);
}
}
om (readvoice = = ”vänster”)
{
om (k==2)
{
digitalWrite (2, låg);
digitalWrite (3, låg);
digitalWrite (4, hög);
digitalWrite (5, låg);
fördröjning(1000);
digitalWrite (2, låg);
digitalWrite (3, hög);
digitalWrite (4, låg);
digitalWrite (5, hög);
}
annat
{
digitalWrite (2, låg);
digitalWrite (3, låg);
digitalWrite(4, hög);
digitalWrite (5, låg);
fördröjning(1000);
digitalWrite (2, hög);
digitalWrite (3, låg);
digitalWrite (4, hög);
digitalWrite (5, låg);
}
}
om (readvoice = = ”stopp”)
{
digitalWrite (2, låg);
digitalWrite (3, låg);
digitalWrite (4, låg);
digitalWrite (5, låg);
}
}
readvoice=””;
}
|