障害物を避けて、LEGOとArduinoのロボット





私たちはLEGOとCrazyCircuitsが大好きです[LEGO互換の電子機器/約。transl。]なので、障害物を回避できるシンプルで面白いロボットにそれらを組み合わせることにしました。そのようなロボットを組み立てる方法を示し、プロセスを詳細に説明します。お使いのロボットのバージョンは、私たちのバージョンと正確に一致しない場合があります。



必要な電子機器とLEGOパーツのリストは次のとおりです。それらを自由に試してみてください。















コンポーネント



エレクトロニクス





私たちのプロジェクトでは、ロボットにぴったりと収まる小さな外部電源を選択しました。外部電源用、またはバッテリーのセット用に独自に設計する必要がある場合があります。



レゴ



さまざまなディテールを使用しましたが、適切と思われる方法で、手元にあるものから実行することをお勧めします。サーボを下部に取り付け、超音波センサーを前方に向けて取り付け、ボードと電源を何らかの方法で固定する方法があることが重要です。これを行うには、両面テープ、弾性バンド、ベルクロを使用できます。BrickOwlストアには私たちの作品へのリンクがありますが、LEGOと互換性のあるセットが販売されている場所ならどこでも購入できます。





ステップ1:LEGOシャーシを構築する







私たちは6×12のLEGOプレートから始めました。これは私たちが満足した最小サイズでした。大きい方を使用することもできますが、小さい方がすでに難しくなります。



ロボットを所定の位置にスライドさせる機能が必要だったため、ロボットの幅は、使用可能な外部電源によって決まりました。バッテリーが大きいほど、ロボットも大きくなります。



シャーシは、バッテリーと上部のボードの両方を収容するのに十分な高さである必要があります。



ステップ2:ホイールを追加する































各サーボは、シャーシの下に配置する必要があります。その結果、次のコンポーネントが必要になりました。



  • ストッパー付きアクスル4レゴ(87083)
  • LEGOハブ(32123/42136)
  • ラウンドレゴブリック2x 2(3941/6143)


2つのモーターを固定するには、各コンポーネントが4つ必要です。それらを固定した後、ホイールを追加します:LEGOウェッジベルトホイール(4185/49750)。



他のLEGOモデルと同様に、たくさんのオプションがあります!リストしたコンポーネントで成功しましたが、他のことを試すことができます。



ステップ3:ビデオを追加する



















私たちのローラーは、ロボットが2つの電動ホイールで平面上を回転し、3番目のホイールとして機能することを可能にします。これにより、ロボットの回転と移動が容易になります。



それを保護するには、次の詳細が必要でした。



  • LEGOEV3テクニックボールピボットセット5003245
  • LEGO Technicクロスブロックビーム3、4ピン(48989/65489)
  • LEGO Technic Brick 1 x 6 with Holes(3894)


以前のバージョンでは、「脚」に丸いLEGOピースを使用しましたが、滑らかな表面で問題なく機能しました。しかし、カーペットや滑らかな床では機能しませんでした。ローラーがない場合は、この「脚」の使用を検討してください。



ステップ4:距離センサーを追加する















超音波距離センサーは、ロボットがどこに向かっているのかを「認識」し、障害物と衝突しないようにいつ停止するかを理解できるように、ロボットの前面に取り付ける必要があります。



センサーについては、LEGO互換のハウジングを3Dプリントしました。モデルはThingiverseのWebサイトに掲載されています:www.thingiverse.com/thing:3171004



3Dプリンターをお持ちでない場合は、LEGOピース、ダクトテープ、ラバーバンド、ケーブルタイなどを使用してセンサーを保持する方法を理解してください。彼がまっすぐ前を見ることが重要です-ロボットが前進するときにロボットがどこに向かっているのか。



ステップ5:ボードを追加する



















料金は、操作全体の頭脳です。LEGOブロックの上にあるので、簡単に取り付けることができます。



通常、ロボティクスボードは、LEGOの真上で電気回路をいじくり回すことができる導電性テープと組み合わせて使用​​されますが、モーターが2つと距離センサーしかないため、ボードのピンに直接接続できます。



USB電源ケーブルを簡単に差し込めるようにボードを配置します。ケーブルボックスに非常に短いUSBケーブルが見つかったのは幸運でした。



これで、センサーとモーターを接続できます。



センサーの場合:エコーコネクタはボードのピン3に接続し、トリガーコネクタはピン5に接続し、VCCは5 Vに、GndはGNDに接続する必要があります。したがって、センサーは電力を受け取り、ボードと通信します。



次に、各モーターを接続する必要があります。これは簡単に行えます。茶色のワイヤーをGNDに、赤いワイヤーを5 Vに、オレンジ色のワイヤーを左側のモーターのD6に、右側のD9に接続します。



ステップ6:ロボティクスボードをプログラムする







ロボットが動作する前に、コードをマイクロコンピューターにロードする必要があります。これを行う前に、ArduinoIDEの最新バージョンがコンピューターにインストールされていることを確認してください



コードをGitHubのリポジトリにアップロードしました:



github.com/BrownDogGadgets/CrazyCircuits/tree/master/Projects/Avoidance%20Robot



コードは単純で、何が何の原因であるかが明確になるようにコメントがたくさんあります。



NewPingライブラリbitbucket.org/teckel12/arduino-new-ping/wiki/Homeも必要になります







ステップ7:ロボットを歩かせます















ロボットを構築してコードをロードしたら、テストに進むことができます!



最も簡単な方法は、外部電源を接続してロボットを前進させることです。彼の前に手を置くと、彼は後ろに移動し、向きを変えて、再び前に進む必要があります(彼がテーブルから移動しないように注意してください!)



ロボットが乗る場所を確保するために、段ボールのシンプルな六角形の「アリーナ」を作成しました。あなたが持っているもので実験することを恐れないでください。



ステップ8:さらなる開発











このプロジェクトの開発に興味がある場合は、次の質問があります



。-ロボットの組み立て中に何を学びましたか?

-パーツの選択に影響を与えたものは何ですか?

-ホイールを増やすと、ロボットは速くなりますか?



コードには2つの変数があり、それらを修正します。障害物が検出されたときにロボットがロールバックする時間と、障害物が回転する時間を変更します。goBackwardTimeとturnRightTimeを入れ替えて、ロボットの動作にどのように影響するかを確認してください。



//     

int goBackwardTime = 1000;

//    

int turnRightTime = 1000;




参照:






All Articles