Arduinoで実験 (加速度センサ)

2013/05/17


◆ 3軸加速度センサー KXR94-2050

秋月で購入したアナログ出力の加速度センサー KXR94-2050 を試してみます。

ピンは、基板上に数字が書いてあるので間違わないでしょう。

1 Vdd        電源 2.5V ~ 5.25V
2 Enable     HIGH で通常、 LOW でスタンバイ
3 GND        GND
4 Vmux       未使用
5 Self Test  LOW で通常、 HIGH で出力がシフトするテストモード
6 OUT X      X軸出力     
7 OUT Y      Y軸出力
8 OUT Z      Z軸出力


電源電圧         5V   3.3V    誤差
1G 当たりの出力振幅  1000mV   660mV   ±13mV
0G 時の出力電圧    2.500V  1.650V   ±50mV

◆ 読み取りスケッチ

センサの出力をアナログ入力端子へ配線し、値を読み取ります。

//
// 111-01 加速度センサ読み取り実験スケッチ
//

#define pin_X 0  // X軸出力
#define pin_Y 1  // Y軸出力
#define pin_Z 2  // Z軸出力


void setup() {
  Serial.begin(9600);
  Serial.println("Test Start");
} 

void loop() {
  int x = analogRead(pin_X);
  int y = analogRead(pin_Y);
  int z = analogRead(pin_Z);

  Serial.print(" X = ");
  Serial.print(x, DEC);
  Serial.print(", Y = ");
  Serial.print(y, DEC);
  Serial.print(", Z = ");
  Serial.println(z, DEC);
  delay(100);
}

基本は上記のスケッチのみです。 センサからのデータを読み取るだけなので後はそれをどう使うかだけです。

上記のスケッチでは出力される値の振れ幅が大きいので 100 回読み取りその平均値を使用するなど、データを安定させる必要があります。

加速度センサの使用例として傾斜計があります。 角度とセンサから取得した値との対比は装置を製作して実際に検証する必要があります。

スタンバイモードやウオッチドックタイマをうまく使用すれば結構長期のデータを取得することができます。 その際にはデータロガーとしてSDカードや EEPROM の組み合わせが必要になると思います。