音声制御ロボット
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
|
アプリとオンラインサービス
> |
|
このプロジェクトについて
ロボットはかっこいいです。音声コマンドを聞いて動き回ることができるロボットを持つことは、よりクールです。 Arduinoでそのような音声または音声制御ロボットを作ることはますますクールです。 Arduinoは安価で調整が簡単だからです。
作り始めましょう。ビデオチュートリアルもご覧いただけます。
ステップ1:必要な部品 <図> <図> <図>
ロボットはPCBに基づいています。さまざまなロボットで使用するために設計したPCB。私が使用した他のコンポーネントを見てみましょう-
電子機器:
- Arduino Nano-1x
- L298nモータードライバーモジュール-1x
- Hc05Bluetoothモジュール-1x
- DCモーターと互換性のあるホイール-2x
- 多機能ロボットPCB-1x(リンク)
- 一部の男性と女性のヘッダー
体を作るには:
- PVCシート
- ホットグルーガン
ソフトウェア:
- Arduino.ide
- 私が作成したアプリ
以上です。これで準備完了です。
ステップ2:原則:どのように機能しますか?
実際に物事を台無しにする前に、何をしようとしているのかを明確に理解しておくことは常に良いことです。混乱しないかもしれませんが、私は混乱します。
つまり、Arduinoはミニコンピューター、つまりマイクロコントローラーです。 (現在のところ)音声認識を実行するのに十分なパワーや機能がありません。しかし、幸運なことに、私のPCBボードにはBluetoothモジュールを接続するためのポートがあります。つまり、Arduinoを他のデバイスにワイヤレスで接続できます。そして、私はそのことを利用しています。そのため、Google API(インターネットが必要)を使用して「Speechto Text」操作を実行できるAndroidアプリを作成する必要があります。テキストを受信すると、Bluetooth経由でArduinoにコマンドを送信します。
したがって、「進む」と言うと、ロボットは「F」を取得して前進します。それがコンセプトです。それでは作りましょう。
ステップ3:体を作る
このロボットのシャーシ/ボディは13cm / 13.5cmのPVCシートで作りました。刃/ナイフを使用して切断する方が簡単で、接着剤でもうまく機能します。
ビデオでわかるように、私はボードエリアの内側に2つのモーターとホイールを取り付けるために断片を切り取りました。そしてそれらを接着しました。
あなたがあなたのものを作るとき、あなたはそれをこのように正確に見えるようにする必要はありません。あなたのボットはあなたの選択です。
ステップ4:回路を構築するかPCBを使用するか? <図> <図> <図> <図>
ここでも、それが完全にあなたの選択であるところに到達します。しかし、このような回路を作るにはたくさんの配線が必要であり、ブレッドボードを使って作ると、1つの接続ミスがプロジェクト全体を妨げる可能性があります。そのため、プロジェクトでPCBを使用するのが好きです。
EasyEDAを使用してこのPCBを設計し、PCBWay.comに注文しました。 PCBWayは、より安価な料金で品質を提供します。たった5ドルで10枚の多層PCBを手に入れることができます。彼らはまた、私にとって素晴らしいと感じる学生プロジェクトを後援しています。
とにかく、私はクイックオーダーセクションに行きました。そこでは、PCBをアップロードするだけで、システムがボードのすべてのパラメーターを自動的に検出し、色を選択しました。黒は私のお気に入りで、それがどれほど光沢がありクールであるかを見てください。エンジニアリングチームがあなたのPCBを検査するまで、彼らはお金をかけないので、それはより良いことです!
ここからPCBボードを入手してください。
ただし、このPCBを注文または使用できない場合は、ブレッドボードまたはベロボードで行うことができます。フリッツ回路をアップロードしました。以下からダウンロードするか、ここから入手してください。
音声制御ロボット-schematic.fzz
ステップ5:電子機器を接続する <図> <図> <図>
接続は簡単です。回路図に示すようにすべてのものを接続します。モーターをモータードライバーに接続することから始めます-
モーターからモータードライバーへ
- Motor1ワイヤーはドライバーの一方の端に接続されています
- Motor2はもう一方の端に移動します。
モーターを制御するには
- L298nモータードライバーのMotor1ピンは、Arduino 2および3ピン(デジタル)に接続します。
- Motor2は4と5で接続します
Bluetoothモジュール
- TxからArduinoRxへ
- RxからTX
- VCCから5V / VCC
- 接地からGND(接地)
バッテリー
モーターには7.4Vバッテリーを使用しました。これは、モータードライバー入力とArduinoVINおよびアースピンに接続します。共通のアース接続が必要です。
それから私は点灯しているすべてのものにバッテリーを接続しました。つまり、私は間違いを犯しませんでした。
ステップ6:Arduinoのプログラミング
シンプルなプログラムです。プログラムは文字をチェックし、受信された場合は左右に移動します。リストは-
- 'F'-転送
- 「B」-後方
- 「L」-左
- 「R」-そうです
Bluetoothモジュールはシリアルポートに接続されているため、Arduinoは9600bpsでシリアルを介して通信しています。
セットアップセクションピンとバッドレートを定義しました-
void setup(){//ピンのモードを初期化pinMode(lm1、OUTPUT); pinMode(lm2、OUTPUT); pinMode(rm1、OUTPUT); pinMode(rm2、OUTPUT); //設定シリアル通信rateSerial.begin(9600);}
メインループ内シリアル経由で受信したデータをチェックしました-
// arduinoが信号を受信しているかどうかを確認します(Serial.available()==0); val =Serial.read(); // signalSerial.print(val);
を読み取ります
次に、メインコードをここからダウンロードします。以下にコード全体を貼り付けました-
/ **** Arduino Speech / voice Controlled robot **** by Ashraf Minhaj * mail me at [email protected] * tutorial- ashrafminhajfb.blogspot.com * /// arduino pinintlm1を宣言する=4; //最初のモーターピンを宣言しますintlm2 =5; int rm1 =2; //右モーターピンintrm2 =3; char val; void setup(){//ピンのモードを初期化しますpinMode(lm1、OUTPUT); pinMode(lm2、OUTPUT); pinMode(rm1、OUTPUT); pinMode(rm2、OUTPUT ); //シリアル通信レートを設定Serial.begin(9600);} void loop(){// arduinoが信号を受信しているかどうかを確認しますwhile(Serial.available()==0); val =Serial.read(); //信号を読み取ります//Serial.print(val); / *********前進モーションの場合********* / if(val =='F'){//シリアル.println( "FORWARD"); digitalWrite(lm1、HIGH); digitalWrite(rm1、HIGH); digitalWrite(lm2、LOW); digitalWrite(rm2、LOW);} / *********後方モーションの場合********* / else if(val =='B'){digitalWrite(lm2、HIGH); digitalWrite(rm2、HIGH); digitalWrite(lm1、LOW); digitalWrite(rm1、LOW);} / *********右********* / else if(val =='R'){digitalWrite(lm1、HIGH); digitalWrite(rm2、HIGH); digitalWrite(lm2、 LOW); digitalWrite(rm1、LOW);} / ********* Left ********* / else if(val =='L'){digitalWrite(lm2、HIGH); digitalWrite(rm1、HIGH); digitalWrite(lm1、LOW); digitalWrite(rm2、LOW);} / ********* STOP ********* / else {digitalWrite(lm1、LOW ); digitalWrite(rm1、LOW); digitalWrite(lm2、LOW); digitalWrite(rm2、LOW);} delay(10);}
コードをアップロードしてからアプリを作成します。
ステップ7:音声認識アプリからテキストへ <図> <図> <図> <図> <図> <図> <図> <図>
MITアプリの発明者を使ってアプリを作りました。要件に応じて、このアプリを編集およびカスタマイズできます。ここからaiafieを入手してください。
このアプリは、Bluetooth接続を使用してロボットを制御します。そのためには、HC05Bluetoothモジュールを電話にペアリングする必要がありました。デフォルトのパスワードは1234または0000です。
このアプリは、Google Speech to Text APIを使用して、私が言ったことをテキスト形式に変換します。次に、文を小文字にします。そのように処理する方が簡単です。そして、ifelseステートメントを使用して一致します。ユーザーが「進む」と言った場合、Arduonoに「F」の文字を送信すると、先に進みます。それだけです。
ビルドしてAPKファイルとして保存するか、携帯電話にインストールしてください。
音声制御ロボット-schematic.fzz
ステップ8:ボットに電力を供給し、アプリを実行して実行します!
バッテリーを接続し、Androidアプリを使用して、新しいロボットを試してみてください。
読んでくれてありがとう。私の最新のプロジェクトをチェックしてください-
コード
- コードスニペット#1
- コードスニペット#3
コードスニペット#1 プレーンテキスト
void setup(){//ピンのモードを初期化しますpinMode(lm1、OUTPUT); pinMode(lm2、OUTPUT); pinMode(rm1、OUTPUT); pinMode(rm2、OUTPUT); //シリアル通信速度を設定しますSerial.begin(9600);}
コードスニペット#3 プレーンテキスト
/ **** Arduino音声/音声制御ロボット**** AshrafMinhajによる*[email protected]宛てにメール* tutorial- ashrafminhajfb.blogspot.com * /// arduino pinint lm1 =4を宣言します。 //最初のモーターピンを宣言しますintlm2 =5; int rm1 =2; //右モーターピンintrm2 =3; char val; void setup(){//ピンのモードを初期化しますpinMode(lm1、OUTPUT); pinMode(lm2、OUTPUT); pinMode(rm1、OUTPUT); pinMode(rm2、OUTPUT); //シリアル通信速度を設定しますSerial.begin(9600);} void loop(){// arduinoが信号を受信しているかどうかを確認しますwhile(Serial.available()==0); val =Serial.read(); //シグナルを読み取ります//Serial.print(val); / *********前進運動の場合********* / if(val =='F'){// Serial.println( "FORWARD"); digitalWrite(lm1、HIGH); digitalWrite(rm1、HIGH); digitalWrite(lm2、LOW); digitalWrite(rm2、LOW); } / *********後方モーションの場合********* / else if(val =='B'){digitalWrite(lm2、HIGH); digitalWrite(rm2、HIGH); digitalWrite(lm1、LOW); digitalWrite(rm1、LOW); } / *********右********* / else if(val =='R'){digitalWrite(lm1、HIGH); digitalWrite(rm2、HIGH); digitalWrite(lm2、LOW); digitalWrite(rm1、LOW); } / *********左********* / else if(val =='L'){digitalWrite(lm2、HIGH); digitalWrite(rm1、HIGH); digitalWrite(lm1、LOW); digitalWrite(rm2、LOW); } / ********* STOP ********* / else {digitalWrite(lm1、LOW); digitalWrite(rm1、LOW); digitalWrite(lm2、LOW); digitalWrite(rm2、LOW); } delay(10); }
Github
https://github.com/ashraf-minhaj/speech-driven-robothttps://github.com/ashraf-minhaj/speech-managed-robot 回路図
音声制御ロボット-schematic_hUoWKpapKe.fzz 製造プロセス
- Bluetoothで制御されるRaspberryPi Robot
- ArduinoとRaspberryPiを使用してインターネット制御のビデオストリーミングロボットを構築する
- Windows 10 IoT Core:音声制御ロボット
- RaspberryPiを使用したWifi制御ロボット
- ジョイスティック制御のRCカー
- ラインフォロワーロボット
- Nunchuk制御ロボットアーム(Arduino付き)
- イーサネットを介して制御されるロボットアーム
- MobBob:Androidスマートフォンで制御されるDIY Arduino Robot
- Arduino制御ピアノロボット:PiBot
- 自律型ホームアシスタントロボット