Arduinoを使った無線Bluetooth制御ロボット

このプロジェクトでは、Arduinoを使って無線Bluetooth制御ロボットを作り、Androidアプリで制御する方法を学びます。

概要

このプロジェクトでは、Arduinoを使って無線Bluetooth制御ロボットカーを作る方法を学びます。 ロボットカーは、スマートフォンを介してワイヤレスで制御することができます。 スマートフォンは、ユーザーがロボットに直接コマンドを送信することができ、それを通してAndroidアプリを持っています。 ロボットは、前方、後方、左、および右に移動することができ、また停止することができます。

ArduinoのBluetooth制御ロボットカーは、BluetoothモジュールHC-05またはHC-06とインタフェースされています。 私たちは、携帯電話にインストールされているAndroidアプリを介してロボットに特定の音声コマンドを与えることができます。 受信側では、Bluetoothトランシーバモジュールがコマンドを受信してArduinoに転送するため、ロボットカーが制御されます。

以前は、いくつかの他のロボットプロジェクトを作りました。 そのうちのいくつかを以下で確認できます:
1。 加速度計&Arduino
を使用したワイヤレスジェスチャー制御ロボット2. Arduinoを使った無線音声制御ロボットカー
3. ESP8266

部品表

を使用したWiFi制御ロボットこのプロジェクトに必要なコンポーネントは以下のとおりです。 これらのすべてのcoponentsは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 電池 9V充電可能な電池 1 https://amzn.to/2L2dusP
6 ロボットチャシス&ホイール&ネジ 1 https://amzn.to/2WGk4eg
7 接続線 ジャンパー線 10 https://amzn.to/2L8Xc1p
8 ブレッドボード 1 https://amzn.to/2YM6YyS

ブロック図

Arduino Wireless Voiceのブロック図 制御されたロボットは以下の通りである。

ブロック図音声制御ロボット

Arduinoの無線音声制御ロボットは、送信機と受信機のセクションで構成されています。 送信機の端はSmartphone Bluetoothおよびそれに取付けられている人間の特徴をもつappから成っている。 同様に、受信機部にはプロセッサとしてArduinoボード、無線通信モジュールとしてHc-05Bluetoothモジュール、モータを駆動するためのL293D、移動ロボットの部品として対

回路図&接続

回路図Arduino音声制御ロボット

回路は、Arduino UNOボード、HC-05/HC-06Bluetoothモジュール、L293DモータドライバIC、200RPMのDCギヤードモータのペアと9Vバッテリーで構成されています。

ArduinoのTX、RXピンはBluetoothモジュールのRx、Txピンに接続されています。 同様に、左DCモーターはL293Dのピンno3&6に接続され、右DCモーターはL293Dのピンno14&11に接続されています。 Arduinoデジタルピン2,3,4,5は、それぞれL293D2,7,10,15に接続されています。

L293DのICピン2、5、12、13はGNDピンであり、9、1、16は5Vで供給されますが、L293Dのピン8は直接9Vで供給されます.

Android制御ロボット

Androidアプリ

このプロジェクトのアプリは以下のとおりです。 MIT App Inventorを使用して設計されています。 UIは次のようになります。

AndroidアプリがBluetoothでロボットをワイヤレスで制御できるように、内部アーキテクチャとプログラミングも実装されています。

最終的なデザインの後、Androidアプリは次のようになります。 以下からAPKファイルをダウンロードして、スマートフォンに直接インストールすることができます。

ダウンロード:Bluetooth制御APKファイル

プロジェクトの作業

上記のようにApp Logicコマンドは電話で処理されます。 コマンドは、Bluetooth経由で受信機側に送信されます。 Bluetooth経由で受信したコマンドは、Uartシリアル通信プロトコルを使用してArduino Unoボードに転送されます。 Arduinoのコードは、受信したコマンドをチェックします。 コマンドが一致する文字列であるときはいつでも、Arduinoはロボットの動きを前方、後方、右回り、左回り&Stopでそれに応じて制御します。

ロボットカーを適切に制御するための回路のさまざまな段階での信号論理レベルを以下に示します。

音声制御ロボットの動作

ソースコード/プログラム

ワイヤレスBluetoothロボットArduinoのソースコードを以下に示します。 コードをコピーして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

文字列readvoice;
int k=0;
void setup(){
シリアル。開始(9600);
pinMode(2,出力);
pinMode(3,出力);
pinMode(4,出力);
pinMode(5,出力);
}
void loop(){
while(Serial.利用可能())
{
遅延(3);
char c=シリアル。read();
readvoice+=c;
}
もし(readvoice.長さ() > 0)
{
連載。println(readvoice);
if(readvoice==”forward””)
{
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
k=1;
}
if(readvoice==”後方へ””)
{
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
k=2;
}
if(readvoice==”右”)
{
if(k==2)
{
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
(1000);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
その他
{
digitalwrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
delay(1000);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
}
if(readvoice==”左”)
{
if(k==2)
{
digitalwrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
delay(1000);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
}
その他
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
遅延(1000);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
}
}
if(readvoice==”停止””)
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
}
readvoice=””;
}

Leave a Reply

メールアドレスが公開されることはありません。