HatenaPocketLINELINECopy皆さんこんにちは、シオナイト(@sheonite)です。前回からずいぶん間が空いてしまいましたが、今回もmicro:bitを使って遊んでみようと思います。micro:bitの標準機能として搭載されている、地磁気センサーを使ったコンパス(方位磁石)作りです。「かつ」と「または」を間違えないでとりあえず北を教えるコンパス今回もプログラミングはmicro:bitのMakeCodeから行います。今回使用するのはこういうブロックです。論理式が入ってきてますね。これらを組み合わせますまず、基本となる「ずっと」ブロックに、条件分岐をさせる論理ブロック「もし〜なら〜でなければ」を噛ませます。〜なら〜でなければ「もし」の条件に、更に論理ブロックの「または」をくっつけます。「または」ブロックで、「または」の左右に開いてるスペースに、論理ブロックの「大なり小なり」的なブロックをはめ込みます。比較演算子でいいのかな?名称がわからない「大なり小なり」?ややこしくなってまいりました(笑)。今回は地磁気センサーから方角のデータを入力しますので、入力ブロックから「方角」を引っ張りだして、比較演算子ブロックの左側にはめ込みます。地磁気センサーが検知する方角は数値として反映されるのですが、これがちょっとややこしくて、真北を「0」として、時計回りに「1,2,3...」と数値が増えていきます。315方角と数値の関係はこんな感じですね。北西から北東の間を「N(北)」と表示させることにしますので、数値は次のようになります。地磁気センサーの返す値が北西の「315」より大きい、または北東の「45」よりも小さい場合に次の動作を実行するように設定しました。あとは表示させるだけ。値が範囲内なら「N」を表示させ、範囲外の場合は表示を消します。ブロックの組み方はこんな感じ。北を向いたら「N」を表示では、プログラムをmicro:bitにインストールして実行してみましょう。インストールの方法については第3回を御覧ください。ちなみに、micro:bitに地磁気センサーを使用するプログラムをインストールすると、初回起動時にセンサーがイニシャライズされるのか、動作確認のプログラムが実行されます。CIRCLE」という文字が流れ、LEDの1箇所が点滅を始めます。要は本体を傾けて円を描けってことですね。北を向けると「N」を表示するコンパスが動いているところはこんな感じです。一安心です(笑)東西南北を教えるコンパスのはずが...折角なので、北以外にも方角を表示するプログラムを作ってみましょう。条件分岐を4つ作るだけだな。さっき作ったプログラムのブロックを右クリックで複製します。ブロックをコピーあとは先程示した方角の数値に入れ替えていくだけです。条件分岐を4つ作ったう〜ん、なんかスマートじゃないなぁ。実機に入れて実行してみるか。あれ?なんかすごい勢いで点滅してるぞ!?ちゃんとやったつもりなのになぁ。条件分岐を入れ子にしてみるか。入れ子にした条件分岐これでどうだ!あれ?今度は「N」と「E」しか表示されない。このmicro:bit壊れてるんじゃねぇの?......あ!「かつ」と「または」を間違えないでない頭を捻って気が付きました。論理式間違ってるんじゃないかと。これ「または」じゃなくて「かつ」なんじゃないか、と。「または」をクリックすると「かつ」を選べる「N」だけを表示させる場合は「または」でも問題なかったのですが、論理式を2つ以上入れた場合は条件が被ってしまうケースが出てくるので、さっきみたいに変な表示になってしまうんですね。コンパスのコード(修正版)今回は「E」でも「W」でも「S」でもなければ「N」を表示する条件に変えて、全体をちょっと短くしてみました。うまくいきましたね(安堵)今回はいままでのようにすんなりいかずに苦労しましたが、うまくいかない原因を探す時間も、それはそれで楽しかったりします。これが仕事レベルになると大変なんでしょうけどね。次はなにか、音を鳴らすようなプログラムを作ってみようかな。HatenaPocketLINELINECopymicro:bitで遊んでみよう!(7)〜ファミマ入店音編〜NextSteamの斑鳩でゲーム画面をセカンダリディスプレイに表示したいPrev関連記事micro:bitで遊んでみよう!(4)〜サイコロ編〜皆さんこんにちは、シオナイト(@sheonite)です。...micro:bitで遊んでみよう!(2)〜起動編〜皆さんこんにちは、シオナイト(@sheonite)です。...【2018年まとめ】今年アクセスの多かった記事ベスト10皆さんこんにちは、シオナイト(@sheonite)です。...micro:bitで遊んでみよう!(5)〜番外編:電源ボード装着〜こんにちは、micro:bit大好きシオナイト(@sheonite)です。...micro:bitで遊んでみよう!(8)〜明るさセンサーでオルゴール編〜皆さんこんにちは。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。人気記事SONYのWF-1000XM3にフィットする「コンプライ」のノズルタイプは200だけど注意点あり皆さんこんにちは、先日SONYのWF-1000XM3を買ったシオナイト(@sheonite)です。Switch」のTVモードで画面が一瞬消える不具合が発生したらドックを疑った方がいいかも(交換して解決)こんにちは。赤壁の戦い」のシオナイト(@sheonit...Steamの斑鳩でゲーム画面をセカンダリディスプレイに表示したい皆さんこんにちは。斑鳩大好きシオナイト(@sheonite)です。Steam版の斑鳩で遊んでいる時にちょっと不...MacのHandBrakeでPanasonicのカーナビ「ストラーダ(2018年モデル)」で再生できる動画ファイルを作ってみる皆さんこんにちは。ドライブは誰にも邪魔されず一人で行きたいと思っているシオナイト(@sheonite)です。私...MacでWindowsキーボードの「半角/全角」(または「E/J」)キーを文字どおり入力切替に使いたい人のための設定方法皆さんこんにちは。