PR

microbit ボタンの使い方

microbit

本記事の内容はこちらに移動しました!

microbit カウンター
...

マイクロビットのボタンを使ってLEDの表示を切り替えます。

早速ですが、以下のプログラムを作って書き込んでみましょう。

Aを押したときはAと表示され、Bを押した時はBと表示され、A+Bを押したときはABと表示されましたか?

これがボタンの扱い方です。

文字列を表示するブロックは英語もしくは数字だけですからね。日本語は表示できませんから注意してくださいね。

はい、ではボタンのプログラムはこれで終わりです。

って、おーい!

よくあるプログラムの例はこのようになってますが、これは全然ボタンのことをうまく説明できていません。

それに何と言っても退屈なプログラムです。

タテプロくん
タテプロくん

まずは説明できていない理由をこれから紹介していきます。

姫野秀徳

組み込みエンジニアとしてメーカー勤務10年。
第二種電工事士、基本情報技術者、Code.org認定教師。
microbitを用いた電子工作&プログラミング教室を開校。
組み込み開発の実際を発信するyoutube活動も行う。

無料で学べる組み込み開発オンラインスクールはじめました!
https://kumicla.tatepro.com

姫野秀徳をフォローする

押された時っていつ?

よく考えてみてください、いきますよ。

ボタンAが押されたときにボタンAが押された時ブロックの処理をしますよね。

では、ボタンAが押されている状態で、そのまま続けてボタンBを押したとします。

この時ボタンA+Bと判断してボタンA+Bが押された時ブロックの処理をしますよね。

けどちょっと待ってください、このときの状態をよく見てみて下さい、おかしいと思いませんか?

AもBも押されているから、

ボタンAが押された時ブロックの処理
ボタンBが押された時ブロックの処理
ボタンA+Bが押された時ブロックの処理

この全部の処理をすると思いませんか。

実際に動かしてみましょう、ボタンAとボタンBを押すと、ボタンA+Bの処理だけしますよね。

たしかに、なんかおかしいね!

これどういうことかと言うと。。。

・・・

実はボタンを離した時に処理するんですね!

これはゆっくり操作すると分かります、ボタンAだけを押し続けても何もLED表示されず、その後ボタンAを離すと処理されます。

だからなぜボタンA+Bという処理ができるかというと、ボタンを押した段階では何もしてないのです。

このように、何かの処理を始めるタイミングをトリガと言います。
microbitのボタンは離した時がトリガです。

ユーザビリティ

身の回りのボタンの動きをたしかめてみましょう。

たとえば、家のテレビのリモコンとか、スマホのカメラのボタンとか、今使ってるキーボードとか。

押した時に反応するものと離した時に反応するものがありますね。

こうした違いによって、使い勝手が良かったり悪かったりするものです。

これをユーザビリティと言います。

ユーザビリティを上げる、ユーザビリティが悪いなど、使い勝手を評価するときによく使いますよ。

ボタンで変数を制御する

ボタンを押した回数でもLEDに表示させましょうかね。

以下のようなプログラムを作ってみましょう。

まず、

を選択します。

変数は、データを出し入れできる箱のようなものです。

変数名は「押した回数」にしておきましょうか。

そして次のようなプログラムを作りましょう。

ボタンAが押されたとき、押した回数を1だけ増やす
ボタンBが押されたとき、押した回数を-1だけ増やす
ボタンA+Bが押されたとき、押した回数を0にする

ボタンAを押すと押した回数が1増えて、ボタンBを押すと押した回数が1減ります。A+Bを押すと0にリセットされますね。

数字を減らす場合は、ー1を足す、と考えます。詳細は割愛しますが、2進数の引き算を見てみてください。

またプログラミングするときに、1足すことをインクリメント、1引くことをデクリメントと言いますよ!

課題

以下のプログラムを作ってみてください。

  • 最初に表示する数字は5
  • ボタンAを押すと数字が1つ増える
  • ボタンBを押すと数字が1つ減る
  • ボタンA+Bを押すと数字が5になる
  • LEDに表示する数字は2~8の範囲まで
  • 2を下回る、8を超えるときはブザーを鳴らす(ブザーの鳴らし方は自由)

ヒント:論理->もし真ならブロック、をボタン処理の中で使います

さあ、がんばって作ってみましょ!

完成イメージ↓

まとめ

ボタンは離したときに処理が実行されるんですねえ。

この内容が良いと思ったら、いいね💖を押して教えてください!

組みクラ – 組み込み開発を学び、未来を創るエンジニアへ
無料で学べる!組み込み開発の基礎から応用までをマスターできるオンラインスクール「組みクラ」

組み込みエンジニアは、あらゆる産業の基盤を支える重要な職業です。
私たちタテプロは、次世代の組み込みエンジニアを育成し、業界の競争力を高めるために活動しています。
あなたも、無料で学べる「組みクラ」で、組み込み開発のスキルをしっかり身につけ、キャリアを加速させましょう!
今すぐ学び始めて、将来の自分をステップアップさせる第一歩を踏み出しませんか?

\立プロとLINEで友だちになりませんか/
立プロと友だちになる
microbit
シェアしていただけると嬉しいです!

コメント

タイトルとURLをコピーしました