Eyes, JAPAN Blog > IchigoJamで加速度センサーを読み取る

IchigoJamで加速度センサーを読み取る

shimizu

この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。

20170425_01今回は、IchigoJamにセンサーを繋げて、情報を読み取る方法をご紹介します。センサーを用いると、外界の状況を記録・分析したり、環境の状態に応じた処理を行うことができるので、さらに制作の幅が広がりますね。ここでは、一例として、加速度センサーのデータを取得してみましょう。

IchigoJamで使えるセンサー

IchigoJamは、外部のセンサー回路とデータをやり取りする際にアナログI2Cの2つの方式が使えます。アナログ方式では、IN2またはBTN端子のアナログ入力値(電圧を元にした数値)を読み取れます。I2C方式では、複数のデバイスとデータを送受できます。

今回は、手軽に使えるアナログ入力対応の加速度センサーを使用します。

20170425_03

必要なもの

  • IchigoJam
  • 3軸加速度センサー [ATD335](ブレッドボードに差すためにピンヘッダを取り付けました)
  • ブレッドボード
  • ジャンパー線(20センチ程度の長さのもの)

実際に使ってみた

加速度センサーをIchigoJamに接続します。ジャンパー線で、それぞれ以下のように結線します。この加速度センサーは3軸に対応していますが、Z軸のみ使用します。

ATD335     IchigoJam 
+-----+    +-----+
|Z_OUT|====| IN2 |
| VCC |====| VCC |
| GND |====| GND |
+-----+    +-----+

それでは早速加速度を取得してみましょう。IchigoJamの電源を入れ、「?ANA(2)」と実行します。

?ANA(2)
551
OK

表示される値はセンサー基板の向きに応じた結果となります(静止した状態では重力のみが作用します)が、ここでは「551」と出ました。「ANA(2)」は、IN2端子の外部入力の電圧(0V〜3.3V)を、0〜1023の数値で返してくれる命令です。

デバイスの状態による値の変化を分かりやすくするために、加速度の値を連続で表示させてみましょう。以下のプログラムを入力して、RUNで実行します。

10 ?ANA(2):WAIT 2:GOTO 10

するとセンサーの値が流れて表示され、センサー基板を色々な角度で振ってみると、それに伴って値が変わるのが分かります。(Z軸は基板を水平に置いた状態の高低方向です)

20170425_02

せっかくなので、もう少しグラフィカルに出してみましょう。振れ幅に応じて画面にグラフを表示します。以下のプログラムを入力して、RUNで実行します。

動作している様子を動画で見るにはこちら

10 LC(ANA(2)-512)/10+15,23:?"@"
20 WAIT 1:GOTO 10

おわりに

IchigoJamにセンサーを繋げて、値を取得する例をご紹介しました。今回は加速度センサーを用いましたが、他にも温度や湿度、照度など様々な環境を検出するデバイスが利用できますので、アイディア次第で面白いものが作れるはずです。前回記事のMixJuiceと組み合わせて、データをネット経由でやり取りすればIoTへ応用できますね。ぜひチャレンジしてみてください。

Comments are closed.