こんにちは、ナナです。
「microbit」には「タッチセンサー」が搭載されています。タッチセンサーによって、みんなが機器を触ったことを検知することができます。
この記事では、次のことを学習できます。
では、makecodeを使った、「タッチセンサー」の使い方を学んでいきましょう。
「触られた」ことをどうやって知ることができるの?
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
師範!「microbit」には、わたくしが触ったことを感じる力があると聞いたことがあります。「microbit」はまさか「生き物」なんですか?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
人間や動物には「触覚」と呼ばれる「触れたことを感じとる感覚」が備わっていますね。IT機器の中にも触れたことを感じることができるものがあるんですよ。
この機能を「タッチセンサー」と呼びます。
「タッチセンサー」を使うことで、みんなが機器に触れているかを知ることができます。ただし、どこでもというわけではなく、特定の場所が触られているかを知ることができます。
人の感覚を機械化するのがセンサー
ここまで、「光センサー」や「温度センサー」など様々なセンサーを使ってきました。みんなは目で光を感じ、肌で温度を感じることができますね。
![五感](https://monozukuri-c.com/wp-content/uploads/2019/09/bd67ca7cca54e8f76fa12705c3be52d0-1.png)
人というのは様々なセンサーを持っており、代表的なものが「五感」と呼ばれる感覚のセンサーです。「視覚」「聴覚」「嗅覚」「味覚」「触覚」が、その「五感」なのです。
今回のタッチセンサーは「触覚」を機械化したものです。
「タッチセンサー」が使われているモノ
みんなの周りで「タッチセンサー」はタブレットやスマートフォンなどはもちろん、ロボット型ペットなどにも搭載されています。
![タッチセンサーが使われているモノ](https://monozukuri-c.com/wp-content/uploads/2019/09/e1f68a6bb03f9b30db486818ef9b7d91-1.png)
「タッチイベント」ブロックを使ってみよう!
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
師範!さっそく、その「タッチセンサー」とやらを使ってみたいです。今度はどんなブロックを使えばいいのでしょうか?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
もう「makecode」の扱いにはかなり慣れてきたね。ブロックを使えばプログラムできることが理解できてきたね。
タッチセンサーの機能は「タッチイベント」ブロックを使うよ!
それでは「タッチイベント」ブロックの使い方を学んでいきましょう!
「タッチイベント」ブロックとは
「タッチイベント」ブロックは、入力ブロック一覧の中に含まれています。
![タッチイベントブロックの選択](https://monozukuri-c.com/wp-content/uploads/2019/09/d935af37092b1ee475e6e0f33ffcc5b4-1.png)
このブロックは「イベントブロック」の一種なので、タッチされたときに動かしたいプログラムを組み込むことができます。
「タッチイベント」ブロックは何を触ることを検知できるのか?
「タッチイベント」で選択できるイベントには、3つの種類があります。
![タッチイベントブロックの種類](https://monozukuri-c.com/wp-content/uploads/2019/09/950149d093d616c434a007472f484b60-1.png)
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
「microbit」の数字が並んでいる場所を触ると、プログラムが反応するよ!
「タッチイベント」ブロックを使ったプログラムを作ってみよう!
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
師範!さっそくですが、「タッチイベント」ブロックを使ってプログラミングしてみたいです。どのようなプログラムを作ればいいですか?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
そうだね。じゃあ、実際にブロックを使ってみようね! タッチしたときに「キリン」を出してもらおうかな。
「P0」が触られたときに「キリン」を表示してみよう!
それでは「P0」を触ったときに「キリン」マークをLEDに表示してみますよ。
![P0を触るとキリン](https://monozukuri-c.com/wp-content/uploads/2019/09/7624d062e606d9fddc88174213386082-1.png)
![](https://monozukuri-c.com/wp-content/uploads/2019/09/137ec2de355e4ec050018f6daed24417-2.png)
実際の「microbit」機器を持っている子は、作ったプログラムをダウンロードして動かしてみましょう。「P0」を指で触るとキリンが表示されますよ。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
触っても反応しない時は「0」と「GND」を両方を同時に触るといいよ!
「タッチ状態」ブロックを使ってみよう!
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
「タッチイベント」ブロックって触ったときに1度だけ発生するイベントですよね。これって「加速度イベント」ブロックと同じですね。
それじゃあ、タッチし続けたときに動き続けるプログラムも「加速度センサー」のときと同じように作ることってできるんですか?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
うんうん、よく理解しているね。その通り、タッチセンサーには「タッチ状態」ブロックがあるんだよ。これを使うとタッチしている間は動かし続けるプログラムが作れるよ!
「タッチセンサー」は「加速度センサー」と使い方が似ています。
「加速度センサー」について知りたい子は、『microbit【makecode 加速度センサーで傾きを検知】』の記事を読んでくださいね。
「タッチ状態」ブロックを使ってみよう!
「タッチ状態」ブロックは、入力ブロック一覧の中に含まれています。
![タッチ状態ブロックの選択](https://monozukuri-c.com/wp-content/uploads/2019/09/91f414ac132392a8a193de7cd0fab9a5-1.png)
この形は「もし」ブロックなどの条件式で利用する形となっていますね。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
「タッチ状態」ブロックで選択できる項目は、「タッチイベント」ブロックと同じものですよ。▽を押すと選ぶことができます。
「タッチ状態」ブロックによる状態継続のプログラムを作ってみよう!
「ずっと」ブロックの中で「タッチ状態」ブロックを組み合わせてみましょう。
![タッチ状態ブロックで順に表示するプログラム](https://monozukuri-c.com/wp-content/uploads/2019/09/91484454a66c51dc14591c6616222dd7-2.png)
「0」をクリックし続けることで、「キリン」と「カメ」が交互に表示されるようになります。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
「microbit」機器を持っている子は、ダウンロードして動かしてみましょう。「0」と「GND」を指で触ると同じように動きますよ!
やってみようコーナー:「タッチセンサー」を使ったプログラミングの巻
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
それじゃあ「タッチイベント」ブロックを使ったプログラムを作ってみよう!
修行その1:「タッチイベント」ブロックを使ったプログラム
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
みんな!人間の体には「経穴」と呼ばれる見えないツボがあるのよ。これを押すことで、肉体を活性化することができるの。つまり、チャクラを高めることができるんだよっ!
「経穴」をタッチすることで、チャクラを高めるプログラムを作ってほしいわ!
![連打でチャクラ量がアップ](https://monozukuri-c.com/wp-content/uploads/2019/09/0b8cc7f2a09eeefa36276142c93ff032-1.png)
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
「経穴」が押される度に、チャクラがみなぎるわよっ!
![チャクラ量を増加するプログラム](https://monozukuri-c.com/wp-content/uploads/2019/09/f8d8462fc393dc0fd7d799c622a514b4-1.png)
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
「タッチイベント」ブロックを3つとも利用しますよ。「変数値を増やす」ブロックを使って、チャクラ量を1つ上げます。
修行その2:「タッチイベント」ブロックを使ったプログラム
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
みんな!チャクラが限界まで行くとどうなると思う? そう「レベルアップ」するのよ。忍者レベルがアップすることで、わたしはもっと強くなるの!
やっぱり、レベルアップするなら音楽が必要よ。みんな、レベルアップしたときに、素敵なメロディを鳴らしてよねっ!
「修行その1」のプログラムに、次のプログラムを追加してください。
![レベルアップ時の筋肉マーク](https://monozukuri-c.com/wp-content/uploads/2019/09/75fdf2a438638feb3c395bc91e1762af-1.png)
![](https://monozukuri-c.com/wp-content/uploads/2019/07/88c0a382ed2194932102ef5a18874664.png)
やったわ、レベルアップしたときに、メロディがあるとすごく強くなった気がするわね!みんな、ありがとう。
![筋肉マークを表示するプログラム](https://monozukuri-c.com/wp-content/uploads/2019/09/02a055feff2e037b5d3c8793d7cb6c9e-1.png)
点滅するための3回をループで表現し、「筋肉マーク」と「表示を消す」を100ミリ秒の間隔で繰り返しますよ。最後にチャクラ量を「0」にするのを忘れないようにね!
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
「microbit」機器にダウンロードして動かしてみましょう。メロディを鳴らすためには、「スピーカー」を接続する必要がありますよ。
使い方を忘れてしまった人は、『microbit【makecodeでスピーカーから音を出そう!】』を見て思い出しましょうね!
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
microbitのプログラムを最初から学びたい子は、ここから始めよう!