microbit タッチセンサーで触って動くプログラム!

micro:bitでプログラミング
この記事は約7分で読めます。

こんにちは、ナナです。

「microbit」には「タッチセンサー」が搭載とうさいされています。タッチセンサーによって、みんなが機器ききさわったことを検知けんちすることができます。

この記事きじでは、次のことを学習がくしゅうできます。

この記事で学習できること
  • 「タッチセンサー」を使うとできることって何?
  • 「タッチセンサー」って何に使われているの?
  • 「タッチイベント」ブロックの使い方
  • 「タッチ状態」ブロックの使い方

では、makecodeを使った、「タッチセンサー」の使い方をまなんでいきましょう。

スポンサー

「触られた」ことをどうやって知ることができるの?

師範しはん!「microbit」には、わたくしがさわったことを感じる力があると聞いたことがあります。「microbit」はまさか「生き物」なんですか?

ナナ
ナナ

人間にんげん動物どうぶつには「触覚しょっかく」とばれる「さわられたことをかんじとる感覚かんかく」がそなわわっていますね。IT機器ききの中にも触れたことを感じることができるものがあるんですよ。

この機能きのうを「タッチセンサー」と呼びます。

「タッチセンサー」を使うことで、みんなが機器ききれているかを知ることができます。ただし、どこでもというわけではなく、特定とくてい場所ばしょが触られているかを知ることができます。

人の感覚を機械化するのがセンサー

ここまで、「光センサー」や「温度センサー」など様々さまざまなセンサーを使ってきました。みんなは目で光を感じ、はだ温度おんどを感じることができますね。

五感

人というのは様々さまざまなセンサーを持っており、代表的なものが「五感ごかん」と呼ばれる感覚かんかくのセンサーです。「視覚しかく」「聴覚ちょうかく」「嗅覚きゅうかく」「味覚みかく」「触覚しょっかく」が、その「五感」なのです。

今回のタッチセンサーは「触覚しょっかく」を機械化きかいかしたものです。

「タッチセンサー」が使われているモノ

みんなのまわりで「タッチセンサー」はタブレットやスマートフォンなどはもちろん、ロボットがたペットなどにも搭載とうさいされています。

タッチセンサーが使われているモノ
スポンサー

「タッチイベント」ブロックを使ってみよう!

師範しはん!さっそく、その「タッチセンサー」とやらを使ってみたいです。今度こんどはどんなブロックを使えばいいのでしょうか?

ナナ
ナナ

もう「makecode」のあつかいにはかなりれてきたね。ブロックを使えばプログラムできることが理解りかいできてきたね。

タッチセンサーの機能きのうは「タッチイベント」ブロックを使うよ!

それでは「タッチイベント」ブロックの使い方をまなんでいきましょう!

「タッチイベント」ブロックとは

「タッチイベント」ブロックは、入力ブロック一覧いちらんの中にふくまれています。

タッチイベントブロックの選択

このブロックは「イベントブロック」の一種なので、タッチされたときにうごかしたいプログラムを組み込むことができます。

「タッチイベント」ブロックは何を触ることを検知できるのか?

「タッチイベント」で選択せんたくできるイベントには、3つの種類しゅるいがあります。

タッチイベントブロックの種類
ナナ
ナナ

「microbit」の数字がならんでいる場所ばしょさわると、プログラムが反応はんのうするよ!

スポンサー

「タッチイベント」ブロックを使ったプログラムを作ってみよう!

師範!さっそくですが、「タッチイベント」ブロックを使ってプログラミングしてみたいです。どのようなプログラムを作ればいいですか?

ナナ
ナナ

そうだね。じゃあ、実際にブロックを使ってみようね! タッチしたときに「キリン」を出してもらおうかな。

「P0」が触られたときに「キリン」を表示してみよう!

それでは「P0」をさわったときに「キリン」マークをLEDに表示してみますよ。

P0を触るとキリン

実際じっさいの「microbit」機器ききを持っている子は、作ったプログラムをダウンロードして動かしてみましょう。「P0」をゆびさわるとキリンが表示されますよ。

ナナ
ナナ

さわっても反応はんのうしない時は「0」と「GND」を両方りょうほうを同時に触るといいよ!

スポンサー

「タッチ状態」ブロックを使ってみよう!

「タッチイベント」ブロックってさわったときに1度だけ発生はっせいするイベントですよね。これって「加速度かそくどイベント」ブロックと同じですね。

それじゃあ、タッチしつづけたときに動き続けるプログラムも「加速度センサー」のときと同じように作ることってできるんですか?

ナナ
ナナ

うんうん、よく理解りかいしているね。そのとおり、タッチセンサーには「タッチ状態じょうたい」ブロックがあるんだよ。これを使うとタッチしている間は動かし続けるプログラムが作れるよ!

「タッチセンサー」は「加速度センサー」と使い方がています。

「加速度センサー」について知りたい子は、『microbit【makecode 加速度センサーで傾きを検知】』の記事を読んでくださいね。

「タッチ状態」ブロックを使ってみよう!

「タッチ状態」ブロックは、入力ブロック一覧いちらんの中にふくまれています。

タッチ状態ブロックの選択

この形は「もし」ブロックなどの条件式じょうけんしき利用りようする形となっていますね。

ナナ
ナナ

「タッチ状態」ブロックで選択せんたくできる項目こうもくは、「タッチイベント」ブロックと同じものですよ。▽をすとえらぶことができます。

「タッチ状態」ブロックによる状態継続のプログラムを作ってみよう!

「ずっと」ブロックの中で「タッチ状態」ブロックを組み合わせてみましょう。

タッチ状態ブロックで順に表示するプログラム

「0」をクリックしつづけることで、「キリン」と「カメ」が交互こうごに表示されるようになります。

ナナ
ナナ

「microbit」機器ききを持っている子は、ダウンロードして動かしてみましょう。「0」と「GND」を指でさわると同じように動きますよ!

スポンサー

やってみようコーナー:「タッチセンサー」を使ったプログラミングの巻

ナナ
ナナ

それじゃあ「タッチイベント」ブロックを使ったプログラムを作ってみよう!

修行その1:「タッチイベント」ブロックを使ったプログラム

修行内容:チャクラを高めるプログラムを作ってみよう!

みんな!人間の体には「経穴けいけつ」と呼ばれる見えないツボがあるのよ。これを押すことで、肉体にくたい活性化かっせいかすることができるの。つまり、チャクラを高めることができるんだよっ!

経穴けいけつ」をタッチすることで、チャクラを高めるプログラムを作ってほしいわ!

チャクラ量を高めてレベルアップするプログラム
  • 「チャクラ」変数を用意よういして、チャクラりょう管理かんりすること
  • 経穴けいけつ」として「P0」「P1」「P2」のいずれかを押すことで、チャクラ量が1つ上がること
  • 「A」スイッチを途中とちゅうで押したときは、チャクラ量が「0」にもどること
  • ぼうグラフを使ってチャクラ量を表示すること。最大値さいだいちは「20」とすること
連打でチャクラ量がアップ

経穴けいけつ」が押されるたびに、チャクラがみなぎるわよっ!

チャクラ量を増加するプログラム
ナナ
ナナ

「タッチイベント」ブロックを3つとも利用しますよ。「変数値を増やす」ブロックを使って、チャクラ量を1つ上げます。

修行その2:「タッチイベント」ブロックを使ったプログラム

修行内容:チャクラ量によってレベルアップするプログラムを作ってみよう!

みんな!チャクラが限界げんかいまで行くとどうなると思う? そう「レベルアップ」するのよ。忍者にんじゃレベルがアップすることで、わたしはもっと強くなるの!

やっぱり、レベルアップするなら音楽が必要よ。みんな、レベルアップしたときに、素敵なメロディを鳴らしてよねっ!

「修行その1」のプログラムに、次のプログラムを追加ついかしてください。

チャクラ量を高めるとレベルアップするプログラム
  • チャクラ量が最大さいだいの「20」までいくとレベルアップしたとみなし、メロディ「パワーアップ」をらすこと♪
  • レベルアップが発生はっせいすると、次に示す「筋肉きんにくマーク」をLEDに3回点滅てんめつさせ、その後チャクラ量は「0」にもどること
レベルアップ時の筋肉マーク

やったわ、レベルアップしたときに、メロディがあるとすごく強くなった気がするわね!みんな、ありがとう。

筋肉マークを表示するプログラム

点滅てんめつするための3回をループで表現ひょうげんし、「筋肉マーク」と「表示を消す」を100ミリ秒の間隔かんかくり返しますよ。最後さいごにチャクラ量を「0」にするのをわすれないようにね!

ナナ
ナナ

「microbit」機器ききにダウンロードして動かしてみましょう。メロディをらすためには、「スピーカー」を接続せつぞくする必要ひつようがありますよ。

使い方をわすれてしまった人は、『microbit【makecodeでスピーカーから音を出そう!】』を見て思い出しましょうね!