機材の準備

  • CHIRIMEN
  • microUSBケーブル
  • microHDMI-HDMIケーブル
  • ACアダプタ
  • HDMIディスプレイ
  • ブレットボード
  • I2Cセンサ
  • スルーホール用ジャンパワイヤ適量

ハードウェアの準備

  • CHIRIMEN Basic Shieldを使用します。
  • SRF02という印字のある場所に図のように距離センサ(SRF02)を接続してください。
  • ADT4710という印字のある場所に図のように温度センサ(ADT4710)を接続してください。
  • Grove Digital Light Sensor、Grove Digital Accelerometer Sensorは写真のように、I2C0という印字のある列の5Vという印字のある箇所に接続してください。
  • シールドがない場合はCHIRIMEN I2C sensorを参考にして回路を準備してください。

ソフトウェアの準備

  • CHIRIMENの代表的なセンサーの使い方を参考にソースコードを準備してください。
  • task.js、webgpio polyfillを使用するので準備してください。
  • WoTsignageアプリと同様に準備すれば大丈夫です。

プログラムの説明

サンプルプログラムについて解説する。
  • I2Cポートの初期化
  • 温度センサの読み込み
  • 距離センサの読み込み
  • 光センサの読み込み
  • 加速度センサの読み込み

I2Cポートの初期化

  • CHIRIMENアプリのベースを準備します。
  • I2Cポートの初期化処理をspawn関数内に記述します。

温度センサの読み込み

  • 温度センサを読み込む処理はgetTemp関数にまとめてあります。
  • 初期化したI2Cポートオブジェクトと温度センサのアドレス(0x48)を指定して、温度センサの取得処理を記述します。

距離センサの読み込み

  • 距離センサを読み込む処理はgetDistance関数にまとめてあります。
  • 初期化したI2Cポートオブジェクトと距離センサのアドレス(0x70)を指定して、距離センサの取得処理を記述します。

光センサの読み込み

  • 光センサ(Grove Digital Light Sensor)の読み込みには初期処理が必要です。
  • 光センサの初期化はgroveLightInit関数にまとめてあります。
  • 初期化したI2Cポートオブジェクトと光センサのアドレス(0x29)を指定して、光センサの初期化処理を記述してください。初期化処理は1度で良いので、setInterval関数の前に実行します。
  • 光センサを読み込む処理はgetLight関数にまとめてあります。明るさをluxの単位で表示するため、calculateLux関数も一緒に追記してください。
  • 他のセンサと同様、光センサの取得処理を記述してください。

加速度センサの読み込み

  • 加速度センサ(Grove Accelerometer Sensor)の読み込みには、光センサと同様初期処理が必要です。
  • 加速度センサの初期化はgroveAccelerometerInit関数にまとめてあります。
  • 初期化したI2Cポートオブジェクトと加速度センサのアドレス(0x53)を指定して、加速度センサの初期化処理を記述してください。
  • 加速度センサを読み込む処理はgetAccelerometer関数にまとめてあります。
  • 他のセンサと同様、加速度センサの取得処理を記述してください。

センサ値の出力

  • 正しくセンサ値の取得ができていれば、センサ値の出力処理を記述することで、各センサの値が出力される。