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

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

前回の記事はこちら

chibi:bit 縦スクロールゲームっぽいものを作ってみる

コンパスを実行してみる

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

コンパスっぽいもの #chibibit

tacckさん(@tacck)がシェアした投稿 –

ちょっと不安定なところもありますが、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()

まとめ

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

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

tacck
  • tacck
  • 北の大地の普通のソフトウェアエンジニア。
    インフラ・バックエンド・フロントエンドと、色々やります。

    初心者・若手向けのメンターも希望あればお受けします。

    勉強会運営中
    * ゆるWeb勉強会@札幌
    * スマートスピーカーで遊ぼう会@札幌

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください