ハンドジェスチャ制御ロボット
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
更新:このプロジェクトの更新バージョンはここで見つけることができます
イントロ
手ですべてをコントロールできたらいいのに!私の椅子に座って、BOSSのようなものを制御します。私はそれが大好きです!それで、私はついに、手のジェスチャーによって作られたコマンドに従うことができるクールなDIYの手のジェスチャー認識ロボットを思いつきました。クレイジーに聞こえますが、とてもシンプルだと思います。ジェスチャ制御ロボットの作成は実際には非常に簡単です。このロボットは、RFモジュールを使用した他のDIYプロジェクトのRCカーを改良したものです。
ここでも、ロボットは送信機と受信機の2つの部分に分かれています。受信機の回路は古いポストと同じで、送信機の回路にわずかな変更があります。ここでは、送信機の回路をプログラムする必要があります。そのため、プログラミングプラットフォームとしてArduinoを使用します。行われたジェスチャを認識するために、加速度センサーを使用します。では、構築しましょう!
ロボットの動作を見る
それは何で、どのように機能しますか?
加速度計(ADXL335)とは何ですか? <図>
つまり、加速度計は3軸の加速度測定デバイスです。ここで使用されている加速度計はADXL335で、3軸(X Y Z)があります。
現在、ほとんどすべてのスマートフォンに加速度計が搭載されています(スマートフォンから取得する予定はありませんが)。あなたは間違いなく携帯電話でモーションゲームをプレイしました(テンプルランなど)。ゲーム内のキャラクターは、携帯電話を左右に傾けると、加速度計によってそれぞれ左右に動きます。
スマートフォンにはジャイロスコープと呼ばれる別のセンサーがありますが、今は必要ありません。
それはどのように機能し、ジェスチャーを認識しますか?
ここで、ロボットの頭脳はArduino Uno(Atmega32)であり、いくつかのコードセットが供給されています。手で行われたジェスチャー/モーションは、加速度計(ADXL335)と呼ばれる加速度測定デバイスによって認識されます。
<図>ここで、加速度計は、手でジェスチャーを行うときにX Y Z座標を読み取り、X Y Z座標をArduinoに送信します(ここでは、Z軸は必要ありません。2つの座標XとYのみが必要なので、Z座標は無視してください)。 Arduinoは座標の値をチェックし、4ビットコードをエンコーダICに送信します。エンコーダはデータを送信機に渡し、送信されたデータはRF受信機で受信されます。受信機は4ビットコードをデコーダーICに送信し、デコーダーはそれをモータードライバーICに渡します。その後、モータードライバーは、2つのモーターを必要な方向に回転させることを決定します。
電源を作る
まず、電源回路から始めます。 2つの電源回路が必要です。1つは送信機用、もう1つは受信機用です。受信機回路は12V電源を使用して電力を供給する必要があり(私は12Vモーターを使用しているため)、送信機回路は9Vバッテリーを使用して電力を供給することができます。
<図>右側に受信機電源の回路があります。この図を使用して、供給回路を配線します。 1k抵抗を介してLEDを追加して、電源の状態を示すこともできます。
<図>- 12V電源を5Vに調整するIC7805(12V電源を入手できない場合は、9V電源を使用できます)
- 0.1ufおよび470ufコンデンサ
- ステータスLED用の1k抵抗
注: 7V(12-5)を下げるため、7805にはヒートシンクを使用します。これにより、レギュレーターを燃焼させるために大量の熱が発生するため、ヒートシンクの使用をお勧めします。
送信機(リモート)の作成を始めましょう
送信機セクションは、手のジェスチャーを検出してデータをArduinoに送信する加速度計で構成されています。その後、Arduinoは加速度計から受信したデータに従ってエンコーダICにデータを送信し、データは受信機に送信されます。以下の回路に従って配線します:
注: 一部の加速度計は3.3V電源を使用しており、5Vで損傷する可能性があることに注意してください。サプライヤのドキュメントをチェックして、正しい電圧を確認してください。
<図>これは送信機の単なる例です:
<図>
Arduinoにコードをアップロード
更新されたコードは次のとおりです
レシーバーを作成する <図>
受信回路は、2つのIC(HT12Dデコーダー、L293Dモータードライバー)、RF受信機モジュールで構成されています。
上記の受信機の回路図に従って回路を配線します。受信機ボードには2つのLEDがあり、1つは受信機に電源が供給されると点灯し、もう1つは送信機回路に電源が供給されると点灯します。 IC HT12Dの近くのLEDが点灯するはずです。これにより、接続またはRF-TX-RXモジュールに問題がない場合に、送信機に電力が供給されたときに有効な送信(VT)が提供されます。
受信機のセクションについて詳しく知りたい場合は、この記事をお読みください。
ロボットはどのジェスチャーを認識しますか?
このロボットは、前方、後方、左、右、停止の5セットのジェスチャを認識するように設計されています。以下のジェスチャーの写真を確認すると、より良いアイデアが得られます。
<図> <図> <図> <図> <図>ロボットの運転を楽しんでいます。
縮小して永続的にします。
Arduino Unoは大きく、手にかさばります。また、Arduinoを使用して別のプロジェクトを作成する場合は、Arduinoとその上で作成されたすべての接続を削除する必要があります。そうすると、古い作業が失われます。私はそれをするのが好きではないので、それを永続的なものにするための解決策を思いつきました。この記事をチェックして、Arduinoプロジェクトを縮小する方法を学ぶことができます。
<図>ここからスタンドアロンバージョンのPCBレイアウトをダウンロードします(ミラー)。
スタンドアロン_etch_copper_top_mirror1.pdf スタンドアロン_etch_copper_top1.pdfコードをAtmega8MCUに転送したこのビデオをご覧ください。 LEDを使用したMCUの出力のみを示しました。
私の新しいプロジェクトについては私のブログをチェックしてください
疑問がある場合は、ここにコメントを残してください。私のブログです。ここではなく、定期的にフィードバックをチェックします。
製造プロセス