今回は、加速度センサーモジュールGY-521(MPU-6050)を使って、
③センサーの感度確認と閾値決め。
④20x4文字LCD画面に全ての情報を表示。
の2パートに分けて進めていきます。
③センサーの感度確認と閾値決め
前回の②で決めたこと
前回の記事では、20x4文字LCDディスプレイに表示する各情報の位置を決めました。
今回の内容
3方向加速度&3軸角加速度センサーのGY-521(MPU-6050)モジュールを使って、傾斜計としてLCDに表示するための準備(閾値決め)をじます。
GY-521(MPU-6050)モジュール
小さなモジュールですが、3方向&3軸まわり加速度に加えて、温度情報も出力しているようです。
私は傾斜計として使いたいので、回転方向のジャイロ情報は使いません。
Arduino Playground - MPU-6050に、モジュールの説明(英語)と、”Short example sketch” という完結で使いやすいスケッチが紹介されているので、使わせていただきます。
Arduino nanoとGY-521(MPU-6050)の接続
I2C接続を使えるので簡単です。
Arduinoの種類によって異なりますがが、nanoの場合のモジュールとの接続は、
・A4をSDA
・A5をSCL
・D2をINT
に繋ぐほかは、電源とグランドだけです。
ブレッドボード上で、接続してみました。
加速度の出力をシリアルモニターで確認
本番では、X方法を前後方向、Y方向を横方向とする予定なので、写真の状態が車が前向きでの取り付け状態になるようにします。
シリアルモニターで出力値を確認してみました。
とりあえず、無事に出力されています。
モジュールをいろんな方向に傾けてみたところ、車用で使用する閾値としては、AcX、AcYともに±5,000あたりが、加減速とコーナリング時に、頻繁でもなく稀でもないぐらいで良さそうな気がします。
暫定の閾値を決定
前後方向は±5,000、左右方向は±2,500と±5,000の二段階を閾値とします。これらの閾値を超えたら▲表示をするスケッチは、次回の記事で紹介いたします。
次は、他のセンサーモジュールもつないで、全ての情報をLCDモニターに出力します。
④20x4文字LCD画面に全ての情報を表示
下表の情報をLCDに表示させます。速度と使用衛星数の配置を、前前回の記事から少し変更しました。
回路図
最後に追加したGY-521(MPU-6050)モジュールが、I2C接続のため必然的にArduino nanoのA4,A5,D2ピンを使うことになり、各モジュールとの接続ピン割振りを見直しました。
回路図はFritzingで作成しました。
左上付近にあるGY521が今回追加するセンサーです。回路図では違う部品が載っていますが接続は同じです。
ブレッドボードで作動確認
スケッチは最後に紹介します。
スケッチをArduinoに書き込んで、ブレッドボード上で配線して表示させてみました。
ウエルカム画面
電源オン後、走り出すまでの画面
動きがないと進行方向が計算できないので、LCD画面の右上に「ACT. REQUIRED」と表示します。
平坦路で、前後および横Gが発生していない時の画面
LCD画面の右下の■(車のイメージ)のまわりには、どの向きにも▲マークがありません。
坂路もしくはGがかかっている状態
写真手前の加速度センサーを傾けたので、LCD画面の右下の■のまわりに、▲マークが表示されます。
スケッチ
③の加速度センサーのサンプルスケッチと、前回記事②のGPS&温湿度センサーのスケッチを足し合わせてから、LCDの表示場所取りを見直したり条件式をいくつか追加したりして書いてみました。
スケッチは、完成した時の記事⑦内で紹介しています。
次回⑤以降の記事
Arduinoとセンサーモジュール類、LCDを汎用基盤に実装したら、車のオ-バーヘッドコンソール部に埋め込みます。
完成後に撮った動画で、車に装着して走った時のディスプレイを確認できます。
Arduino project #1「GPSマルチモニター 」Multi-information monitor with GPS module