プログラムダウンロード(Motion_detection_Arduino_Nano_Every.zip)
動作検出
- 動作、方向、高さを検出
- テープLEDで検出状態を表現
NeoPixel
注意:
- 双方向ハンドセンサーのユーザーマニュアル、プログラム、購入は下記のリンクを参照してください。 ダウンロード(ユーザーマニュアル、プログラム)、Arduino Nano Every Example、センサー発売中
- 双方向ハンドセンサーのArduino Nano Every Exampleが動作する事を前提とします。
- PDFのリンクが開かない場合はこのファイルをwebブラウザから開いて下さい。
1.ハードウェア接続方法
- マイコン(Arduino Nano Every)のUSBを抜いた状態で作業をする。
- Arduino Nano Every Exampleを参考に双方向ハンドセンサーをマイコンに配線する。
- 追加で下図の通りNeoPixelを配線する。
2.ライブラリ、スケッチ保存
- ダウンロードファイルを解凍する。
- IHS11_Nano_Every_MotionフォルダをArduinoフォルダ内sketchフォルダにコピー。
- 残り(Adafruit_NeoPixel、MotionNeoPixel、NeoPixel)のフォルダを、Arduinoフォルダ内librariesフォルダにコピーする。※Adafruit_NeoPixelがある場合はコピー不要です。
3.コンパイル、書き込み
- Arduino IDEを起動し、コピーしたスケッチIHS11_Nano_Every_Motion.inoを開く。
- スケッチ→検証・コンパイル
- ※エラーの時
- 他のスケッチ(Blinkなど)がコンパイルできるか確認
- ライブラリ保存場所が正しいかを確認
- マイコンにPCのUSBケーブルを接続する。
- マイコンにプログラムを書き込む。
- ※エラーの時:ツール→ボード名、シリアルポートを確認
4.動作検出システム
- 手の動きを検出するとNeoPixelが動作する。NeoPixel動作中はセンサーは検出しない。
- NeoPixelの方向は手の動く方向
- NeoPixelのスピードは手の速さの水平成分
- NeoPixelの長さは検出したセンサーの数
- NeoPixelの色は検出した高さの平均値、小さい方から赤、黄色、緑、水色、青、紫
- ※手を動かす時はセンサーや付近の物、人に当たらないように気をつけて下さい。
5.ソフトウェア解説
- MotionNeoPixel:
動作検出するオブジェクト。センサーの値が基準値を超えた時最大値の値とセンサーの番号を配列に保存していく。基準値以下になった時、配列の情報から方向、速さ、長さ、色を算出しNeoPixelオブジェクトをCallする。
- NeoPixel:
NeoPixelを線の状態で動かすオブジェクト。方向、スピード(遅延時間)、長さ、色を指定して1周回る。
NeoPixelの動作を設定する基本的なオブジェクト。