3軸加速度センサモジュール ADXL345 を使ってみる(Arduino)
私には、加速度などという難しいことは分かりません。
今回は、3軸加速度センサモジュール ADXL345 が
どのような状態の時、どのようなデータを出力するのかをみてみます。
私の所有している製品です。
大陸調達品で、いずれも¥160-程度です。
・GY-291 ADXL345 3軸デジタル重力センサー加速度モジュール
(ADXL345)
・MPU-6050 使用 3軸ジャイロスコープ・3軸加速度センサー モジュール
(GY-521)
・GY-291 ADXL345 3軸デジタル重力センサー加速度モジュール
(GY-291)
![加速度センサモジュール](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_pr001_1.png)
参考:
AliExpress
GY-291 ADXL345 3軸デジタル重力センサー加速度モジュールiic/spi送信
https://ja.aliexpress.com/
¥160-
aitendo
★特売品★3軸加速度センサ [GY-291]
https://www.aitendo.com/product/9548
¥199-
★特売品★マルチ機能センサ [ATD-M4S]
https://www.aitendo.com/product/9551
¥299-
秋月電子通商
3軸加速度センサモジュール ADXL345(SPI/IIC)
https://akizukidenshi.com/catalog/g/gM-06724/
¥700-
回路は図の通りです。
この回路図の作図には fritzing を利用させて頂いております。
https://fritzing.org/home/
![回路図](https://shinog.jp/wp-content/uploads/2021/09/ADXK345_1002_1.png)
※製品によりピン配置が違います。
データシートでの確認が必要です。
![ピン位置情報](https://shinog.jp/wp-content/uploads/2021/09/IMG_6195_1.jpg)
私の製品のピン配置は、画像上から、
GND、VCC、CS、INT1、INT2、SDO、SDA、SCL
の順です。
スケッチですが、今回はスケッチ例を使用させていただきます。
このスケッチには、"Adafruit_ADXL345" ライブラリが使用されています。
ライブラリのインストール方法です。
1.PC と Arduino を接続し、
ボードとシリアルポートを設定・確認します。
・メニュー「ルール」→「ボード:」
・メニュー「ルール」→「シリアルポート:」
![ボードとシリアルポートの設定・確認](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te206_1.png)
2.メニュー「スケッチ」→「ライブラリのインクルード」
→「ライブラリ管理」を選択しします。
![ライブラリのインストール1](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te002_1.png)
3.ライブラリマンジャーの検索欄に、
”Adafruit_ADXL345” と入力します。
表示されたリスト一覧から、
”Adafruit_ADXL345” を選択し、
最新バージョンを選択し、 「インストール」ボタンを押します。
※私の確認時では、1.3.1 が最新バージョンでした。
![ライブラリのインストール2](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te003_1.png)
![ライブラリのインストール3](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te004_1.png)
4.メニュー「ファイル」→「スケッチ例」
→「カスタムライブラリのスケッチ例」
→「Adafruit ADXL345」
→「sensortest」
がを選択出来ればインストール完了です。
![インストールの確認](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te005_1.png)
では、スケッチを選択します。
メニュー「ファイル」→「スケッチ例」
→「カスタムライブラリのスケッチ例」
→「Adafruit ADXL345」
→「sensortest」 を選択します。
![スケッチ例 「sensortest」](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te207_1.png)
検証し、マイコンボードに書き込み実行します。
![検証し、マイコンボードへの書き込み実行](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te207_5-1.png)
![実際の回路](https://shinog.jp/wp-content/uploads/2021/09/IMG_6240_1.jpg)
シリアルモニタを開くと、X、Y、Z の値が表示されています。
![シリアルモニタの実行結果表示](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te208_1.png)
このセンサモジュールの4角を下げた時、
どのような値になるのか確認してみました。
センサモジュールを上向きとして、
図の通りその番号の位置を下げた時の値です。
いい加減ですが、
(1+)→軽く下げた時
(2+)→さらに下げた時
としています。
![ADXL345 モジュール上向き画像](https://shinog.jp/wp-content/uploads/2021/09/IMG_6206_2.png)
![ADXL345 モジュールの向きと下げ位置](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te211_1.png)
平行 | ① (1+) | ② (1+) | ③ (1+) | ④ (1+) | ① (2+) | ② (2+) | ③ (2+) | ④ (2+) | ||
X | 0.04 | 0.94 | -1.33 | -1.14 | 1.06 | 2.55 | -2.51 | -2.43 | 2.39 | |
Y | 0.04 | -0.82 | -0.55 | 1.02 | 0.78 | -1.92 | -1.29 | 2.43 | 2.55 | |
Z | 11.85 | 11.77 | 11.77 | 11.81 | 11.81 | 11.22 | 11.57 | 11.49 | 11.26 |
センサモジュール下向きとして、
図の通りその番号の位置を下げた時の値です。
いい加減ですが、
(1-)→軽く下げた時
(2-)→さらに下げた時
としています。
![ADXL345 モジュール下向き画像](https://shinog.jp/wp-content/uploads/2021/09/IMG_6206_3.png)
![ADXL345 モジュールの向きと下げ位置](https://shinog.jp/wp-content/uploads/2021/09/ADXL345_te212_1.png)
平行 | ⑤ (1-) | ⑥ (1-) | ⑦ (1-) | ⑤ (1-) | ⑤ (2-) | ⑥ (2-) | ⑦ (2-) | ⑧ (2-) | ||
X | -0.04 | -2.55 | 0.71 | 0.71 | -3.45 | -4.16 | 2.63 | 3.77 | -4.35 | |
Y | -0.47 | -3.30 | -1.61 | 2.35 | 2.51 | -4.79 | -3.22 | 4.71 | 3.36 | |
Z | -8.08 | -7.30 | -7.11 | -7.61 | -7.34 | -6.16 | -7.14 | -6.59 | -6.79 |
どのような角度などという情報がありませんので、
意味が無いとは思いますが、
傾きに対する値の傾向は分かるのではと思います。