Kain が 2024年09月30日16時30分38秒 に編集
コメント無し
本文の変更
# 概要 車速、エンジンの回転数、そのほかの車両の詳細情報を OBD2 診断機から取得し、それをRaspberry Pi のディスプレイに表示する。表示内容は左右反転させ、フロントガラスへ投影させることで**疑似的なヘッドアップディスプレイ(HUD)を表現**する。 超音波距離センサを車両後方に取り付け、センサから算出した障害物との距離を表示させ、距離が近づくと、音を再生させて聴覚的に危険を知らせる。 フロントガラスへ投影することで、視界の移動軽減や死角となる後方の障害物との距離の把握が容易になる。 主な動作概要を視覚化するとこの通りとなる。  ++動作概要に関する追記: 画像内では超音波距離センサのデータをBluetoothで送信するような表記になっているが、実際は超音波距離センサは配線を通してRaspberry Piのピンに接続するものとする。++ # アイデア詳細 今回制作していくシステムの基本機能は以下の通り - OBD2 診断機から車両情報を取得 → ディスプレイに表示 - 超音波距離センサから距離を算出 → ディスプレイに表示 - ディスプレイ表示内容を反転 → フロントガラスへ投影 - アラートサウンドを再生 → 車両の AUX 端子に接続、車内スピーカーから再生。 ソナー機能に関しては、ディスプレイ上に障害物との距離を表示して視覚化、障害物に近づくにつれて画面表示やアラートサウンドを再生してドライバーへ接近していることを知らせる。スピーカーに関しては、車両を AUX で接続し、車内スピーカーから音を再生させる。 また、Raspberry Pi の駆動電源に関しては、車の 12V アクセサリーソケットにアダプタを接続してあるので、そこから USB-A to C ケーブルをRaspberry Pi本体に接続する。 # 使用パーツ 今回の制作にあたり、以下のパーツおよびラズパイを使用する。 - Raspberry Pi 4 - 超音波距離センサ - 7インチディスプレイ - OBD2診断機(ELM327) - 各種ケーブル(AUX、USB-A to C、ジャンパ線など) # GUIレイアウト作成 まずは仮ではあるが、Figmaで仮レイアウトを作成した。 今回はこの仮レイアウトをベースに、GUI面は仕上げていく予定。  ## 実際にPythonで再現 先ほど作ったGUIレイアウトをもとに、Pythonで再現した。 現状はリバース表示のレイアウトがまとまっておらず、仮として右左のセンサ算出距離を表示してある(センサはすでに動作できるようにしてあるため、リアルタイムで値は変化する) 
# OBD診断機を接続 今回は、以下の車両のOBDコネクタに診断機を接続していく。 |メーカー| トヨタ | |:---:|:---| | 車種 | 30系プリウス (ZVW30) - 2009年モデル | | 燃料タイプ | ガソリンハイブリッド | ※現状は、OBD診断機とRaspberryPiではBluetoothのペアリングはできているように見えるが、実際に通信はできていない可能性がある。(Pythonのobdライブラリでも正しく動作しない)今後はこの接続に関する問題の修正に励む必要がある。
# 参考文献 - ラズベリーパイで超音波距離センサーの使い方 https://raspi-school.com/ultrasonic-sensor/ - RaspberryPi+OBD2 で取得した車両情報を解析してみる https://qiita.com/nomunomu0504/items/8876f34fb33d8bf24fcb