Wireless Bluetooth Controlled Robot utilizzando Arduino
In questo progetto impareremo come fare Wireless Bluetooth Controlled Robot utilizzando Arduino e controllarlo tramite Android App.
Panoramica
In questo progetto, impareremo come rendere Wireless Bluetooth controllato Robot Auto utilizzando Arduino. L’auto robotica può essere controllata in modalità wireless tramite uno smartphone. Lo smartphone ha un’app Android attraverso la quale l’utente può inviare comandi direttamente al Robot. Il robot può muoversi in avanti, indietro, sinistra e destra e può anche essere fermato.
L’auto robot controllata Bluetooth di Arduino è interfacciata con un modulo Bluetooth HC-05 o HC-06. Possiamo dare comandi vocali specifici al robot attraverso un’app Android installata sul telefono. Sul lato ricevente, un modulo ricetrasmettitore Bluetooth riceve i comandi e li inoltra all’Arduino, e quindi l’auto robotica viene controllata.
In precedenza abbiamo fatto qualche altro progetto robotico. È possibile controllare alcuni di loro qui sotto:
1. Wireless Gesto controllato Robot utilizzando accelerometro & Arduino
2. Voce senza fili controllato Robot Auto utilizzando Arduino
3. WiFi controllato Robot utilizzando ESP8266
Bill of Materials
I componenti necessari per questo progetti sono riportati di seguito. Tutti questi coponenti possono essere acquistati dal link Amazoon.
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 | Batteria | 9V Batteria Ricaricabile | 1 | https://amzn.to/2L2dusP |
6 | Robot Chasis & Ruote & Viti | – | 1 | https://amzn.to/2WGk4eg |
7 | Collegamento Dei Cavi | Jumper Cavi | 10 | https://amzn.to/2L8Xc1p |
8 | Breadboard | – | 1 | https://amzn.to/2YM6YyS |
Schema a Blocchi
Il diagramma a blocchi di Arduino Wireless Voce Robot controllato è dato di seguito.
Il Arduino Wireless Voice Controlled Robot è costituito da un trasmettitore e un ricevitore sezione. Il trasmettitore end è costituito da Smartphone Bluetooth e l’applicazione Android installato su di esso. Allo stesso modo, la sezione ricevitore ha scheda Arduino come processore, modulo Bluetooth HC-05 come modulo di comunicazione wireless, L293D per la guida di motori e coppia di DC orientata come parte per robot in movimento.
Schema elettrico & Connessioni
Il circuito è composto da Arduino UNO Bordo, HC-05/HC-06 modulo Bluetooth, L293D driver del motore IC, una coppia di DC motoriduttori di 200 RPM e un 9 V Batteria.
Il TX, RX pin di Arduino è collegato a Rx, Tx pin del modulo Bluetooth. Il modulo Bluetooth viene fornito con 5V. Allo stesso modo, il motore CC sinistro è collegato al pin n.3 & 6 di L293D e il motore CC destro al pin n. 14 & 11 di L293D. Pin digitali Arduino 2,3,4,5 è collegato a L293D 2, 7, 10, 15 rispettivamente.
I pin IC L293D 2, 5, 12, 13 sono pin GND e 9, 1, 16 sono forniti con 5V. Ma il pin 8 di L293D viene fornito direttamente con 9V.
L’app Android
L’app per questo progetto è riportata di seguito. È stato progettato utilizzando MIT App Inventor. L’interfaccia utente assomiglia a questo.
L’architettura interna e la programmazione è stata implementata in modo che l’app Android possa controllare in modalità wireless il robot con Bluetooth.
Dopo la progettazione finale l’applicazione Android sembra qualcosa di simile a questo. È possibile scaricare il file APK dal basso e installare direttamente sul tuo smartphone.
Lavoro del progetto
Come accennato in precedenza App Comando logico vengono elaborati per telefono. Il comando viene quindi inviato al lato ricevitore tramite Bluetooth. Il comando ricevuto tramite Bluetooth viene inoltrato alla scheda Arduino Uno utilizzando il protocollo di comunicazione seriale UART. Il codice Arduino controlla i comandi ricevuti. Ogni volta che il comando è una stringa corrispondente, Arduino controlla i movimenti del robot di conseguenza in avanti, indietro, girando a destra, girando a sinistra & Stop.
I livelli logici di segnale nei diversi stadi dei circuiti per il corretto controllo della macchina robotica sono riportati di seguito.
Codice sorgente / Programma
Il codice sorgente per Wireless Bluetooth Robot Arduino è dato di seguito. È possibile copiare il codice e caricarlo direttamente sulla scheda 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
|
Stringa readvoice;
int k=0;
void setup() {
Seriale.inizio (9600);
pinMode (2,USCITA);
pinMode(3, USCITA);
pinMode (4, USCITA);
pinMode (5, USCITA);
}
void loop() {
while (Seriale.disponibile())
{
ritardo(3);
carattere c = Seriale.leggi ();
readvoice + = c;
}
se (readvoice.lunghezza() > 0)
{
Seriale.println (readvoice);
if (readvoice = = “avanti”)
{
digitalWrite (2, ALTO);
digitalWrite (3, BASSO);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
k=1;
}
se(readvoice == “indietro”)
{
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
k=2;
}
se(readvoice == “right”)
{
se (k==2)
{
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, BASSO);
ritardo(1000);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, ALTA);
}
altro
{
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
ritardo(1000);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, BASSO);
}
}
se(readvoice == “left”)
{
se (k==2)
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
ritardo(1000);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, ALTA);
}
altro
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, ALTA);
digitalWrite(5, LOW);
ritardo(1000);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, BASSO);
}
}
se(readvoice == “stop”)
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, BASSO);
}
}
readvoice=””;
}
|