Posted at

Raspberry Pi をゼスチャーセンサーで操作する【GrovePi】

More than 1 year has passed since last update.

トイロボットを操作するのに使えそうだなと思っていた、ゼスチャーセンサーをRaspberryPiに取り付けてみました。こんな感じです。

結構いろんなゼスチャーに対応していて、9種類のゼスチャーに対応しています。Pythonで試してみたかったので、RaspberryPiにGroveシステムを接続出来る拡張ボード「GrovePi+」も合わせて購入してみました。


環境


  • Raspberry Pi3 (RASPBIAN JESSIE WITH PIXEL 4.4 / Python 3.4.2)

  • GrovePi

  • GROVE - ジェスチャー

  • GROVE - RGBバックライト液晶モジュール


GrovePiのセットアップ

結構古い情報が多いのですが、公式アカウントのGitHubよりライブラリをクローンし、インストールスクリプトを実行するだけで利用出来ます。

DexterInd/GrovePi - GitHub

公式サイトのソフトウェアインストールのページに沿って実行します。

Setting Up The Software - Dexter Industries

$ cd /home/pi/Desktop

$ sudo git clone https://github.com/DexterInd/GrovePi
$ cd /home/pi/Desktop/GrovePi/Script
$ sudo chmod +x install.sh
$ sudo ./install.sh

インストールが完了したら、電源を落としてGrovePi+を取り付け、再度電源を入れます。ホームディレクトリよりI2C接続を確認します。

$ sudo i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- 04 -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


Pythonライブラリ(Python3対応)を使う

公式ページのこちらでテスト済みのGroveモジュールが確認出来ますので事前に確認すると良いと思います。Pythonライブラリは

DexterInd/GrovePi/Software/Python - GitHub

こちらにあるのでサンプルコードを加工して利用することが出来ます。Python3系で利用出来ます。

今回はゼスチャーセンサと

Grove - Gesture Sensor v1.0 Python library and examples - GitHub

RGBバックライト液晶モジュールを使います。

grove_rgb_lcd - GitHub


ゼスチャーの種類

ゼスチャーセンサーを利用する際は、上記のサンプルコードよりgrove_gesture_sensor.pyを読み込みインポートして使います。

gesture.py - Gist

思ったより反応も良いので各ゼスチャーを紹介します。


UP(上)


DOWN(下)


RIGHT(右)


LEFT(左)

ちょっと面白いゼスチャーも対応しています。


CLOCKWISE(時計回り)


ANTI_CLOCKWISE(反時計回り)


WAVE(波)


FORWARD(接近)

あとは BACKWARD を入れて9種類のゼスチャーに対応しています。


まとめ

センサーが反応する距離は大体30cm位なので、デスク周りに設置して、音楽再生などをしたりするのに向いているかもしれません。

ちょっと未来っぽい気分になれますね。