動機
今はナビゲーションシステムがあるので、方角を意識して車を運転する必要はほとんどない。しかし、ナビにたよりすぎると、あと少しで目的地ということろにきて高速道路の出口を間違えたり、一つ手前で曲がってしまったりしてあたふたしてしまう。最初から方角を意識して運転していれば少しは勘も働くのだが、曇っていたり夜だったりすると太陽や影の向きもわからないし、お手上げである。そこで、よくある車載用の方位磁石を買って車に置くことにした。
さて、会社からの帰り、どこに方位磁石をつけようか考えていてふと気が付いた。
夜だと見えない、これ。
そこで、夜でも見えるように、光モノ (Neopixelを使用)で方向を表すことができるものを作ることにした。
材料
以前、他の工作で使っていた部品を含め、以下のものを使用。
- Adafruit Triple-axis Magnetometer – LIS3MDL – STEMMA QT / Qwiic
Accelerometerと一緒になったようなものもあるのだが、これはmagnetometerのみのもの。 - Adafruit Trinket M0 – for use with CircuitPython & Arduino IDE
小さい。センサーのボードと同じぐらいで、レゴのビームの上にうまくまとまると思ったのでこれを使うことにした。 - NeoPixel Ring – 16 x 5050 RGB LED with Integrated Drivers
- Lego Technic Seriesのbeamなど
- 配線用のリード線とはんだ、両面テープなど
接続
接続は以下の通り。
組み立て風景早送り。
code
Arduino codeはgithubに載せました。
Adafruitのページにしたがってmotioncalでcalibrationしようとしたのだが、imucalがうまく動かなかった。Calibrationなしではheadingとして計算される値と向きとの辻褄がうまくあわなかったので、Eamples > Adafruit Sensor Lab > calibration > mag_hardiron_simplecalを使ってoffsetを取得した。回路のほかの部分の影響も受けるかもしれないと思ったので、組み立てを行ってからoffsetをとった。
表示の説明
矢印を進行方向とするとき、赤が北の方向。青は、矢印の方向を北としたとき、自分が向かっている方向を表す。例えば上の写真では北東に向かっていて、北は11時の方向にあるのがわかる。
動作の様子
試作段階での動作チェックの様子。
車での動作の様子。
使ってみて
夜でも見えるようにということでNeopixelを使って表示させているのですが、暗い時間にあわせて輝度を調節すると昼間のダッシュボード上では明るさが足りない。昼間の明るさに合わせると今度は夜にギラついてじゃまになる。光センサーと組み合わせて周りの明るさに合わせて輝度調節してくれるようにすると便利だなあと思っています。— (*)
単に方角を指しているだけなのですが、まっすぐだと思っていた道が緩やかに向きを変えていくのがわかったりしてそれだけで見ていて面白い。
今度は方角ではなく、GPSと組み合わせて、指定した位置の方向をひたすら指さし続けるガジェットを作ろうと思い立ちました。できるかな?
(*)結局日傘が解決してくれました。見た感じも予期せずリゾートっぽい。