Arduinoだけでスマートトーキングヒューマノイドロボット!
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 3 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
このロボット-モフィザ-(奇妙な名前)は、彼女の周囲を見て、話し、反応することができます。先に進む前に、ビデオをご覧ください:
話すロボットを作るのを見て以来、人々は実際にArduinoではなく他の開発ボードを使って話すロボットを作っているのを見ました。しかし、Arduinoを使ってヒューマノイドロボットを作ることは完全に可能です。Arduinoは話したり、たくさんのサーボを追加して動かしたりすることができます。では始めましょう:
更新(作成方法)-
ステップ1:必要な部品 <図>
<図>
<図>
- Arduino Pro mini(5v 16 Mhz)[どのボードでも問題ありませんが、これを使用して小さくしました)
- PCBに接続するためのメスヘッダーピン
- オスヘッダーピン
- 回路を作るためのベロボード
- SDカードTFモジュール(会話させるため)
- micro sdカード(2GB以下)
- 3xIR近接センサー
- 3xサーボモーター(私はマイクロサーボsg90を使用しました)
- 体を作るための段ボール
ステップ2:IRセンサーと本体を接続する <図>
<図>
<図>
好きなものでボディを作りましょう。ダンボールで作りました。とても簡単です。
IRセンサーをこのようにリボンケーブルではんだ付けし、片方の端にメスのヘッダーを付け、2つの目に2つ、胸に1つ追加しました。
ロボットは、胸部センサーで何かを検出するとウェルカムメッセージを発し、目のセンサーが高い場合は「ああ、私の目に触れないでください」と発声します。その中のサーボが上に移動します。
ステップ3:サーキット <図>
<図>
回路は少し複雑に見えますが、それほど簡単ではありません。1つのバッテリーで電源を入れることができます。回路と他のすべてのコンポーネントをベロボードにはんだ付けし、頭と手に他のサーボを追加します。
ステップ4:コード
コードの前:
このロボットには2つのライブラリを使用する必要がありました。
TMRpcm.h-SDカードからオーディオを再生する場合-トークhttps://github.com/TMRh20/TMRpcm
ServoTimer2.h-TMRpcmはarduinoでTimer1を使用するため、TMRpcmとの競合を回避し、timer2を使用してサーボモーターを実行します。 https://create.arduino.cc/projecthub/ashraf_minhaj/how-to-use-servotimer2-library-simple-explain-servo-sweep-512fd9?ref=user&ref_id=507819&offset=1
これは、ようこそと言うためのコードです。独自の環境とコードを作成できます。コードを作成する前に、ServoTimer2ライブラリを追加する必要があります。ロボットも走りません。
そして、コードをアップします:
#include "ServoTimer2.h"#include#define SD_ChipSelectPin 10#include "TMRpcm.h" #includeTMRpcm tmrpcm; ServoTimer2 matha; ServoTimer2 lhand; ServoTimer2 rhand; int in1 =6; int in2 =7; int in3 =8; void setup(){matha.attach(2); lhand.attach(3); rhand.attach(4); tmrpcm.speakerPin =9; Serial.begin(9600); if(!SD.begin(SD_ChipSelectPin)){Serial.println( "SD FAIL");戻る; }} void loop(){if(!(digitalRead(in3))){tmrpcm.play( "welcome.wav"); lhand.write(2500); delay(2000); lhand.write(1200); //ハンドシェイク位置delay(9000); } else {lhand.write(300); rhand.write(1700); matha.write(1500); }}
ステップ5:終了
電源を入れるだけで完了です。スマートロボットの製作が完了しました。 [他の写真や詳細はすぐにアップロードします]
もっとピンを手に入れることができれば、ロボットを歩かせます。しかし、残りのピンは3つだけでした(デジタル)。必要以上に少ないです。
YouTubeチャンネルに登録してサポートしてください。
コード
- mofiza.welcome.code
mofiza.welcome.code C / C ++
#include "ServoTimer2.h"#include#define SD_ChipSelectPin 10#include "TMRpcm.h" #includeTMRpcm tmrpcm; ServoTimer2 matha; // mathaはHEADServoTimer2lhand; ServoTimer2 rhand; int in1 =6; int in2 =7; int in3 =8; void setup(){matha.attach(2);を意味します。 lhand.attach(3); rhand.attach(4); tmrpcm.speakerPin =9; Serial.begin(9600); if(!SD.begin(SD_ChipSelectPin)){Serial.println( "SD FAIL");戻る; }} void loop(){if(!(digitalRead(in3))){tmrpcm.play( "welcome.wav"); lhand.write(2500); delay(2000); lhand.write(1200); //ハンドシェイク位置delay(9000); } else {lhand.write(300); rhand.write(1700); matha.write(1500); }}
mofiza.fullCode.v1.1
https://github.com/ashraf-minhaj/Mofiza--Humanoid-social-robot 回路図
製造プロセス