「入力」を使おう(1)
今回は「入力」について見ていきましょう。
micro:bit(マイクロビット)には「明るさ」や「傾き」や「温度」など、様々なセンサーがついています。
それらのセンサーから値を取得するのが「入力」になります。
シミュレーターでも実機と同じように取得できるようになっていますので、今回も無料でできますよ🌟
実機を買うのは、遊び方や使い方を覚えてからでも遅くありません✨
入力
命令セットの中にある「入力」について学んでいきましょう。
ボタン[A▼]が押されたとき
第2回で学びましたね。
ボタンAが押されたら何かをする、という命令です。「A▼」をクリックすることで、「Aボタン」と「Bボタン」を切り替えることができます。
[ゆさぶられた▼]とき
Micro:bitの傾きセンサーを利用して、micro:bitが傾いた(ゆさぶられた)ときに、何か処理を行うというものです。
[ゆさぶられた▼]をクリックしてみましょう。
様々な傾きを検出することができることがわかりますね。
これを使って「micro:bitが下を向いたら」何かする、「micro:bitが右に傾いたら」何かする、などが可能になります。
このブロックを配置すると、画面左のmicro:bitシミュレーターに[SHAKE]という文字が表示され、マウスを当てるとmicro:bitシミュレーターが傾きます。
端子[P0▼]がタッチされたとき
micro:bitの下にあるP0,P1,P2がタッチされたら何かする、という命令です。
マウスのクリック位置で数字が変わりますが、実機ではちょっと動作が異なるので注意してくださいね。
それと、実機ではP1,P2のどれかを押したら、必ず一番右のGNDをタッチしていないと動きません。
また、P3は電源用(機会があれば書きます)なので、現段階では使用しません。
ボタン[A▼]が押されている
条件ブロックになります。似たような命令に「ボタン[A▼]が押されとき」というのがありますが、こちらは条件なので使い方が違います。
たとえば、「揺さぶられた時にAボタンが押されていたら、アイコンを表示する」など↓のように使います。
端子[P0▼]がタッチされている
これも条件ブロックですね。
上の「端子[P0▼]がタッチされたとき」とは使い方が異なりますのでご注意ください。
たとえば、「ボタンAが押された時に、端子P2がタッチされていたら音を鳴らす」という↓ふうに使用します。
加速度[X▼]
これは入力ブロックです。micro:bitには3軸センサーが付いているので、x軸、y軸、z軸、絶対値の加速度を取得することができます。
上の「揺さぶられたとき」と同じですが、より細かい数値を取ることができます。
↓の画像はx軸について傾きを検出してみたものです。シミュレータの横に「ax:数値」の」ように表示されます。
各軸については
- Xのときは ax:数値と表示
- Yのときは ay:数値と表示
- Zのときは az:数値と表示
- 絶対値のときは 表示されません
となります。
また、実機の方がより細かく、広い範囲で取得できます。
例えば、腕につけてパンチ力を計測するなどの使い方ができそうですね。
明るさ
micro:bitには明るさを検出するセンサーがついていますので、それを利用する入力ブロックです。
じつはこのセンサーとはLEDのことです。
なので、実機で試す際には、LED部分を手で覆ったりすると明るさが変化しますよ!
方角
micro:bitには磁気センサーがついていますので、これを利用して向いている方角を取得できます。
micro:bitを水平に持った時に向いている方向の値で東西南北が決まります。
- 北:0 〜 89
- 東:90 〜 179
- 南:180 〜 269
- 西:270 〜 359
ただし、精度は高くありませんw
これを使うと、micro:bitの顔をマウスドラッグでくるくる回せるようになります。
簡単なコンパスを作ってみるのもいいかもしれませんね。
温度
micro:bitには温度を計測するセンサーがついています。
この入力ブロックを使用すると、micro:bitシミュレーターに温度が表示されますので、マウスドラッグで0〜50度までを入力することが可能です。
最後に
ここまで入力の命令ブロックをみてきましたが、いかがでしたか?
予想よりも多くのセンサーが付いていますので、色々試せそうですよね。
でも。。。じつは。。。
micro:bitには、まだまだ入力ブロックがあるんです😅
「入力」命令ブロックをクリックした時に、「その他…」というのが表示されたことに気が付いていたでしょうか?
「入力:その他」の中にもまだまだブロックがあります。
次回はそれらの紹介をしますね!
ここまで読んでいただいてありがとうございました!
ではまた!
コメント