3軸加速度センサー(KXR94-2050)の使い方 [Arduino]
XYZの3軸の加速度(m/s2)が「アナログ出力」で取得できます。
このKXR94-2050は測定範囲が±2Gでそれ以上の加速度を与えると壊れる可能性があります。強い衝撃を計測する場合は±16Gに対応しているADXL345 (¥450)などを使用すると良いです。
実行結果
※プログラム上ではm/s2を「m/s^2」と表記しています。
地球の重力は「1G = 9.80665m/s2」です。ですので、Z軸には地球の重力が含まれています。
使用部品・材料
総額で約1,120円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
3軸加速度センサモジュール KXR94-2050 | ¥850 | 秋月電子の通販コード(M-05153) |
配線図
スケッチ(プログラム)
各XYZ軸の加速度(m/s2)をシリアルモニターへ出力します。
void setup() { Serial.begin(9600); } void loop() { // 地球の重力である1Gの加速度(m/s^2) float ms2 = 9.80665; // 電源電圧5V時のオフセット電圧(0G = 2.5V = 2500mV) float offset_voltage = 2500.0; // XYZの電圧(mV)を取得する float x = (analogRead(A0) / 1024.0) * 5.0 * 1000; float y = (analogRead(A1) / 1024.0) * 5.0 * 1000; float z = (analogRead(A2) / 1024.0) * 5.0 * 1000; // XYZからオフセット電圧を引いた電圧を求める x = x - offset_voltage; y = y - offset_voltage; z = z - offset_voltage; // XYZから重力を求める float xg = x / 1000.0; float yg = y / 1000.0; float zg = z / 1000.0; // XYZの重力から加速度(m/s^2)を算出して出力する Serial.print("X : "); Serial.print(xg * ms2); Serial.print(" Y : "); Serial.print(yg * ms2); Serial.print(" Z : "); Serial.print(zg * ms2); Serial.println(" m/s^2"); delay(100); }
スポンサーリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
公開日:2017年06月13日 最終更新日:2017年06月20日
記事NO:02420