Last updated on

chibi:bit コンパス(方位磁針)を作ってみる


今回は、 chibi:bit に搭載されている「方角センサー」を使ってコンパス(方位磁針)を作ってみます。

Amazon.co.jp ウィジェット

前回の記事はこちら

https://blog.tacck.net/archives/181

コンパスを実行してみる

いつも通り、動画から確認してみます。

コンパスっぽいもの #chibibit

tacckさん(@tacck)がシェアした投稿 - 2017 3月 3 2:56午前 PST

ちょっと不安定なところもありますが、LEDの方向がある程度一定になっていると思います。

今回も、プログラムを共有します。リンクをクリックすると、WebのIDEが開きます。 http://chibibit.io/ide/#pub:48831-04794-92862-02014

画像はこちらです。

JavaScriptのコードはこちらです。 かなり地道な書き方ですが、360度を12分割して良い感じLEDを光らせています。

let dig = 0
basic.forever(() => {
    basic.clearScreen()
    dig = 360 - input.compassHeading()
    if (0 < dig && dig <= 15) {
        led.plot(2, 0)
    }
    if (15 < dig && dig <= 45) {
        led.plot(3, 0)
    }
    if (45 < dig && dig <= 75) {
        led.plot(4, 1)
    }
    if (75 < dig && dig <= 105) {
        led.plot(4, 2)
    }
    if (105 < dig && dig <= 135) {
        led.plot(4, 3)
    }
    if (135 < dig && dig <= 165) {
        led.plot(3, 4)
    }
    if (165 < dig && dig <= 195) {
        led.plot(2, 4)
    }
    if (195 < dig && dig <= 225) {
        led.plot(1, 4)
    }
    if (225 < dig && dig <= 255) {
        led.plot(0, 3)
    }
    if (255 < dig && dig <= 285) {
        led.plot(0, 2)
    }
    if (285 < dig && dig <= 315) {
        led.plot(0, 1)
    }
    if (315 < dig && dig <= 345) {
        led.plot(1, 0)
    }
    if (345 < dig && dig <= 360) {
        led.plot(2, 0)
    }
    basic.pause(200)
})
dig = 360 - input.compassHeading()

まとめ

「方角センサー」を使って、コンパスを作成しました。 分解能の問題もあるでしょうが、コンパスとしての動作はしましたね。

引き続き、他のセンサーも使って遊んでみたいですね。