■CurieIMU.interrupts関数
CurieIMU.hライブラリの CurieIMU.interrupts関数は、指定した機能の割り込みを有効にします。
■使用例
CurieIMU.interrupts関数を使ったArduinoIDEのプログラム例は図1の通りです。このプログラムを実行すると「CURIE_IMU_FREEFALL」機能の割り込みを有効にし、CurieIMU.attachInterrupt関数で割り込み発生時に実行する関数(今回はTESTと言う名前の関数)を指定します。セットアップ完了後、Genuino101自体が自由落下したと「CURIE_IMU_FREEFALL」機能が判定すると、図2の様にシリアルモニタ上に「FREEFALL!」と出力します。
#include "CurieIMU.h" void TEST () { Serial.println("FREEFALL!"); } void setup() { Serial.begin(9600); // シリアル通信を初期化 while (!Serial); // シリアルポートが開くのを待つ Serial.println("Initializing IMU device..."); CurieIMU.begin(); // デバイスの初期化 CurieIMU.setAccelerometerRange(2); // 加速度計の範囲を2Gに設定する CurieIMU.interrupts(CURIE_IMU_FREEFALL);//選択した機能の割り込みを有効にします。 CurieIMU.attachInterrupt(TEST);//割り込みアクションをアタッチします。 } void loop() {}
図1:プログラム例
図2:プログラム実行結果
■「CurieIMU.interrupts(int feature)」のパラメータ
feature:割り込みを有効にしたい表1に示すいずれかの機能を指定します。
項目 | 内容 |
CURIE_IMU_FREEFALL | 落下の判定 |
CURIE_IMU_SHOCK | 衝突の判定 |
CURIE_IMU_MOTION | 動くの判定 |
CURIE_IMU_ZERO_MOTION | 止まるの判定 |
CURIE_IMU_STEP | 歩くの判定 |
CURIE_IMU_TAP | 叩くの判定 |
CURIE_IMU_TAP_SHOCK | 強く叩くの判定 |
CURIE_IMU_TAP_QUIET | 弱く叩くの判定 |
CURIE_IMU_DOUBLE_TAP | 二回叩くの判定 |
■その他関数
Curie IMUライブラリに関するその他関数については、コチラをご覧ください。
励みになりますのでよければクリック下さい(^o^)/