Drahtloser Bluetooth-gesteuerter Roboter mit Arduino
In diesem Projekt lernen wir, wie man einen drahtlosen Bluetooth-gesteuerten Roboter mit Arduino herstellt und über eine Android-App steuert.
Übersicht
In diesem Projekt lernen wir, wie man mit Arduino ein drahtloses, Bluetooth-gesteuertes Roboterauto herstellt. Das Roboterauto kann drahtlos über ein Smartphone gesteuert werden. Das Smartphone verfügt über eine Android-App, über die der Benutzer Befehle direkt an den Roboter senden kann. Der Roboter kann sich vorwärts, rückwärts, links und rechts bewegen und kann auch gestoppt werden.
Das Bluetooth-gesteuerte Roboterauto des Arduino ist mit einem Bluetooth-Modul HC-05 oder HC-06 verbunden. Wir können dem Roboter über eine auf dem Telefon installierte Android-App bestimmte Sprachbefehle erteilen. Empfangsseitig empfängt ein Bluetooth-Transceiver-Modul die Befehle und leitet sie an den Arduino weiter, und so wird das Roboterauto gesteuert.
Zuvor haben wir ein anderes Roboterprojekt gemacht. Sie können einige von ihnen unten überprüfen:
1. Drahtloser gestengesteuerter Roboter mit Beschleunigungsmesser & Arduino
2. Drahtloses sprachgesteuertes Roboterauto mit Arduino
3. WiFi Gesteuert Roboter mit ESP8266
Bill von Materialien
Die komponenten erforderlich für diese projekte sind unten angegeben. Alle diese Komponenten können über den Amazoon-Link erworben werden.
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 | Batterie | 9 V Rechargable Batterie | 1 | https://amzn.to/2L2dusP |
6 | Roboterchasis & Räder & Schrauben | – | 1 | https://amzn.to/2WGk4eg |
7 | Anschluss Drähte | Jumper Drähte | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
Block Diagramm
Die block diagramm von Arduino Drahtlose Stimme Gesteuerter Roboter ist unten angegeben.
Die Arduino Drahtlose Stimme Gesteuert Roboter besteht aus einem sender und einem empfänger abschnitt. Das Senderende besteht aus Smartphone Bluetooth und der darauf installierten Android App. In ähnlicher Weise hat der Empfängerabschnitt Arduino-Board als Prozessor, HC-05 Bluetooth-Modul als drahtloses Kommunikationsmodul, L293D für Antriebsmotoren und ein Paar DC-Getriebe als Teil zum Bewegen von Robotern.
Schaltplan & Verbindungen
Die schaltung bestehen aus Arduino UNO Board, HC-05/HC-06 Bluetooth Modul, L293D Motor Fahrer IC, ein paar von DC Ausgerichtet Motoren von 200 RPM und eine 9 V Batterie.
Die TX, RX pins von Arduino ist verbunden zu Rx, Tx pins von Bluetooth Modul. Die Bluetooth Modul ist geliefert mit 5 V. ebenso, links DC motor ist verbunden zu pin keine 3 & 6 von L293D und rechts DC motor zu pin keine 14 & 11 von L293D. Arduino Digital Pins 2,3,4,5 ist mit L293D 2, 7, 10, 15 verbunden.
Die L293D IC Pins 2, 5, 12, 13 ist GND pins und 9, 1, 16 ist geliefert mit 5 V. aber pin 8 von L293D ist direkt geliefert mit 9 V.
Die Android App
Die App für dieses Projekt ist unten angegeben. Es wurde mit MIT App Inventor entwickelt. Die Benutzeroberfläche sieht ungefähr so aus.
Die interne Architektur und Programmierung wurde ebenfalls implementiert, sodass die Android-App den Roboter drahtlos mit Bluetooth steuern kann.
Nach dem endgültigen Design sieht die Android-App ungefähr so aus. Sie können die APK-Datei von unten herunterladen und direkt auf Ihrem Smartphone installieren.
Arbeiten des Projekts
Wie oben erwähnt, werden App Logic Command per Telefon verarbeitet. Befehl wird dann an die Empfängerseite über Bluetooth gesendet. Befehl erhalten über Bluetooth ist weitergeleitet zu Arduino Uno board mit UART serielle kommunikation protokoll. Arduino-Code überprüft die empfangenen Befehle. Immer wenn der Befehl eine passende Zeichenfolge ist, steuert Arduino die Bewegungen des Roboters entsprechend in vorwärts, rückwärts, Rechts abbiegen, Links abbiegen & Stop.
Signallogikpegel in den verschiedenen Stufen der Schaltungen zur ordnungsgemäßen Steuerung des Roboterautos sind unten angegeben.
Quellcode / Programm
Der Quellcode für den drahtlosen Bluetooth-Roboter Arduino ist unten angegeben. Sie können den Code kopieren und direkt auf das Arduino-Board hochladen.
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() {
Seriell.beginnen(9600);
pinMode (2, AUSGANG);
pinMode (3, AUSGANG);
pinMode (4, AUSGANG);
pinMode (5, AUSGANG);
}
leere Schleife() {
while ().verfügbar())
{
verzögerung(3);
zeichen c = Seriell.lesen ();
readvoice += c;
}
wenn(readvoice.länge() > 0)
{
Seriell.println(readvoice);
wenn(readvoice == „vorwärts“)
{
digitalWrite (2, HOCH);
digitalWrite (3, NIEDRIG);
digitalWrite(4, HOCH);
digitalWrite(5, NIEDRIG);
k=1;
}
if(readvoice == „rückwärts“)
{
digitalWrite (2, NIEDRIG);
digitalWrite (3, HOCH);
digitalWrite (4, NIEDRIG);
digitalWrite (5, HOCH);
k=2;
}
if(readvoice == „richtig“)
{
wenn (k==2)
{
digitalWrite (2, HOCH);
digitalWrite (3, NIEDRIG);
digitalWrite (4, NIEDRIG);
digitalWrite (5, NIEDRIG);
Verzögerung(1000);
digitalWrite (2, NIEDRIG);
digitalWrite (3, HOCH);
digitalWrite (4, NIEDRIG);
digitalWrite (5, HOCH);
}
sonst
{
digitalWrite (2, HOCH);
digitalWrite (3, NIEDRIG);
digitalWrite (4, NIEDRIG);
digitalWrite (5, NIEDRIG);
Verzögerung(1000);
digitalWrite (2, HOCH);
digitalWrite (3, NIEDRIG);
digitalWrite (4, HOCH);
digitalWrite (5, NIEDRIG);
}
}
wenn (readvoice == „links“)
{
wenn (k==2)
{
digitalWrite (2, NIEDRIG);
digitalWrite (3, NIEDRIG);
digitalWrite (4, HOCH);
digitalWrite (5, NIEDRIG);
Verzögerung(1000);
digitalWrite (2, NIEDRIG);
digitalWrite (3, HOCH);
digitalWrite (4, NIEDRIG);
digitalWrite (5, HOCH);
}
sonst
{
digitalWrite (2, NIEDRIG);
digitalWrite (3, NIEDRIG);
digitalWrite (4, HOCH);
digitalWrite (5, NIEDRIG);
Verzögerung(1000);
digitalWrite (2, HOCH);
digitalWrite (3, NIEDRIG);
digitalWrite (4, HOCH);
digitalWrite (5, NIEDRIG);
}
}
if(readvoice == „stoppen“)
{
digitalWrite (2, NIEDRIG);
digitalWrite (3, NIEDRIG);
digitalWrite (4, NIEDRIG);
digitalWrite (5, NIEDRIG);
}
}
readvoice=““;
}
|