ラズベリーパイで車載用速度計(スピードメーター)を作成する

2020年10月9日

キャラクタLCDのSC1602が使えるようになったので、車で使う速度メーターを作成してみました。車の速度計は、タイヤの回転から取得するため、正確ではない場合があります。私の経験では、実際の速度よりも5kmほど早く表示される傾向があるように感じます。また、タイヤが正規のサイズでなければ、表示される速度は実際と異なってしまいます。

そこで、GPSから取得する速度も合わせて利用すると、より正しい速度を判断できます。速度違反で捕まると違反金がとても高いので、定期的でも良いのでGPSによる速度を確認すると良いでしょう。

それでは、ラズベリーパイ(Raspberry Pi)を用いた車載用の速度計の作り方を紹介していきます。

1.車載スピードメーターの概要

液晶部をダッシュボードに固定して見れるようにします。今回は、スマートフォンホルダーを利用しました。液晶部からケーブルを使い、ラズベリーパイへ接続します。

LCDの速度表示は、上段がバーグラフ、下段が数値になります。

また今回は、速度だけでなく、緯度経度も表示できるようにします。これは、切り替えスイッチにより表示を切り替えます。

2.配線

今までに紹介したGPSロガーとキャラクタLCDを流用して配線します。終了スイッチなどの配線が若干変更されていることに注意してください。

GPSユニットの配線

5V / GPIOピン番号4
GND / GPIOピン番号6
TXD0 / GPIOピン番号8 / GPIO14
RXD0 / GPIOピン番号10 / GPIO15
1PPS / GPIOピン番号12 / GPIO18

キャラクタLCDの配線

液晶ピン番号1 → GPIOピン番号2 5V
液晶ピン番号2 → GND
液晶ピン番号3 → ボリューム抵抗(10kΩ)の真ん中 両端は5Vとアースへ
液晶ピン番号4 → GPIOピン番号7 GPIO4
液晶ピン番号5 → GND
液晶ピン番号6 → GPIOピン番号11 GPIO17
液晶ピン番号11 → GPIOピン番号13 GPIO27
液晶ピン番号12 → GPIOピン番号15 GPIO22
液晶ピン番号13 → GPIOピン番号29 GPIO5
液晶ピン番号14 → GPIOピン番号31 GPIO6

切り替えスイッチと終了スイッチ

終了スイッチ / GPIOピン番号37 GPIO26
GND / GPIOピン番号39

キャラクタLCDや切り替えスイッチの配線を直接ラズベリーパイ本体に接続してしまうと、配線が入り組んでしまうのと、違うテストで使いにくくなるので、ブレッドボードを中間に配しています。本格的な装置を作る場合は、ブレッドボードの部分を基板にしてハンダ付けすると良いでしょう。

切り替えスイッチ / GPIOピン番号23 GPIO11
GND / GPIOピン番号25

3.ソフトウェア

ソフトウェアをダウンロードできるようにしました。今までのソースを流用したため、理想的なソースではないことをご了承ください。このソースを参考にして改良することをおすすめします。

キャラクタLCDに表示する内容は、速度と緯度経度です。モードを切り替えて使いますが、時計モードは実装していませんので注意してください。

ダウンロード

4.使用してみて

速度表示に関しては、バー表示に必要をあまり感じませんでした。ここは、進行方向の方が良いかもと思っています。緯度・経度を普通使うことはあまりなさそうです。高度は欲しいのですが、GPSユニットの高度取得がイマイチなので実装には至っていません。普通に時計があると便利だと思います。

将来的には、ブザーを付けたり、オービスの警告機能など、いろいろな機能を拡張すると良いですね。ケースは1Dinに収めるとスッキリしそうです。

車好きの方も、自分好みの他にはない速度メーターを作ってはいかがでしょうか。

5.フォーム版のスピードメーターを作成しました