【Arduino】Arduino Nano(互換機)と赤外線センサで死角検知装置を作る

とあるYoutube動画で死角センサーなるものが紹介されていました。
maxwin.jp

どうやらクラファンで数万円するものらしく、これぐらいなら自分で作れんものかな?ということで電子工作。

材料は以下。
・赤外線センサ:GP2Y0A710K(https://akizukidenshi.com/catalog/g/gI-03157/)
・ブレッドボード
・0.2sqの配線
Arduino Nano(互換機)
・配線コネクタ([https://amzn.to/3oQaIw2)

1.赤外線センサの概要

GP2Y0A710Kは最大550cmまで測距してくれるらしい。
値段は1200円ぐらい(秋月)ですが、2個必要なのでまーまー高い。でも見た感じ秋月で買うのが一番安い。
このセンサはVccの接続を2つ設ける必要があるため(たぶん送信と受信で2つ?)、GNDの2つと信号線で計5つの線をArduinoと接続します。

とりあえず、買ったセンサはコード延長が必要になるため、コネクタを追加します。
f:id:engetu21:20211009102205j:plain
f:id:engetu21:20211009102555j:plain
両端から出ている黄色と赤の線がGND、青と黒がVcc、白が信号線になります。まぁ説明書に書いてあるのでよく読みましょう。
5足のオスコネクタをセンサ側につけます。
延長コードは0.2sqの配線コードを使って作成し、メスコネクタを付けます。(写真撮り忘れ)

2.ブレボイメージと回線図

ブレボイメージと回路図はこんな感じ。アイコンの関係上、以下画像でセンサから出ているコードは3本ですが、実際は先ほどの記載の通り5本です。
f:id:engetu21:20211010013017p:plain
f:id:engetu21:20211010013045p:plain
また、実際にはもっと小さいブレボ使ってます。

LEDも似たような感じで延長コードを作成して動作確認。
f:id:engetu21:20211009115319j:plain
 
以前書いたPWM Pinを使えば、プログラムで明るさを制御できる。抵抗を挟まなくていいので非常に楽。
engetu21.hatenablog.com
 
ESP-WROOM-02を2つ使えばLEDと赤外線センサを分ければ無線(Wifi)経由でAPIでやり取りできるけど、あんまりメリットはないなぁ。

3.プログラム

LEDはPWMが使えるD3,D5に接続することを前提にする。
赤外線センサはアナログ出力らしい。ラズパイはデジタル信号しか取り扱えないので、工夫が必要になるけど、Arduinoはアナログ/デジタルどちらも使えるので楽。

コメントアウトにしているのは、シリアルモニタで電圧や距離を確認するデバッグ用。
f:id:engetu21:20211014175016j:plain
まぁ5m以内、というので反応できればいいので、多少アバウトな数値で取れても問題はない。

なお、距離の算出は以下のサイトを参考にさせていただきました。
Raspberry Piにシャープ製の赤外線距離センサー”GP2Y0A710K”つけてみた: EeePCの軌跡
Arduinoで赤外線測距センサー”GP2Y0A710K”を使ってみた: EeePCの軌跡

4.ハンターカブへの設置

そういえばこのブログには、バイクを持っていることも、それがハンターカブであることも書いてなかった気がする。
設置は以下のように赤外線センサをリアキャリアに二か所設置。
死角検知なので、大体45度ぐらいのところに左右取り付けるようにする。
f:id:engetu21:20211009194419j:plain
f:id:engetu21:20211009194424j:plain

LEDはウインドスクリーンの金具裏に。
わかりづらいけど赤丸の部分に設置。対向車には光が見えない、かつ運転中でもわかりやすいところに。
f:id:engetu21:20211009192854j:plain
 
本体はボディの空いてるスペースに押し込む。
f:id:engetu21:20211009183701j:plain
本当はブレボじゃないほうがいいんだろうけど、ハンダ付け面倒なので…。
  
実際にはまだ走っていないため、あとは確認しながら調整だなぁ。