この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新リビジョン 両方とも次のリビジョン | ||
ch_microbit [2019/02/01 16:11] klab |
ch_microbit [2019/03/19 17:59] klab [ 地磁気センサ] |
||
---|---|---|---|
ライン 82: | ライン 82: | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
最初に実行=「 | 最初に実行=「 | ||
- | LED!321表示。 | + | LED!321 表示。 |
」。 | 」。 | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
ライン 140: | ライン 140: | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 「ボタンA!押された?」!なら「 | + | 「(ボタンA!押された?)==はい」!なら「 |
LED!"A"表示。 | LED!"A"表示。 | ||
」実行。 | 」実行。 | ||
- | 「ボタンB!押された?」!なら「 | + | 「(ボタンB!押された?)==はい」!なら「 |
LED!"B"表示。 | LED!"B"表示。 | ||
」実行。 | 」実行。 | ||
ライン 158: | ライン 158: | ||
## 光センサ | ## 光センサ | ||
+ | microbitに搭載している光センサを使ってみる。光センサの**明るさ?**を使うことで、周辺の明るさの変化に合わせて動作するプログラムの作成が可能である。\\ | ||
+ | ここでは、周辺が明るい場合に文字を表示するプログラムを作成してみる。 | ||
<code> | <code> | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
ライン 176: | ライン 177: | ||
## 加速度センサ | ## 加速度センサ | ||
+ | microbitに搭載している加速度センサを使ってみる。microbitには3軸加速度センサが搭載している。**上下加速度?**、**左右加速度?**、**前後加速度?**を使うことで、x軸、y軸、z軸の加速度の計測が可能である。また、**横の傾き?**、**縦の傾き?**を使うことで、前後左右の傾きを計測できる。\\ | ||
+ | ここでは、microbitの横の傾きを計測し、右に傾いている場合に、「→」を表示するプログラムを作成してみる。 | ||
<code> | <code> | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
ライン 196: | ライン 198: | ||
## 地磁気センサ | ## 地磁気センサ | ||
+ | microbitに搭載している地磁気センサを使ってみる。**磁力**を使うことで周辺の磁力を計測が可能である。また、**角度?**を使うことで方位磁石としての利用も可能になる。コンパスで角度を計測する場合は、自動的にキャリブレーションが実行される。\\ | ||
+ | ここでは、ボタンAを押した際に、コンパスで計測した方角をLEDに表示している。 | ||
<code> | <code> | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
ライン 204: | ライン 207: | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 「ボタンA!押されている?」!なら「 | + | 「(ボタンA!押された?)==はい」!なら「 |
- | LED!"A"表示。 | + | LED!(コンパス!角度?)表示。 |
」実行。 | 」実行。 | ||
- | 「ボタンB!押されている?」!なら「 | ||
- | LED!"B"表示。 | ||
- | 」実行。 | ||
」。 | 」。 | ||
mb!転送。 | mb!転送。 | ||
ライン 216: | ライン 216: | ||
## 温度センサ | ## 温度センサ | ||
+ | microbitに搭載している温度センサを使ってみる。**温度?**を使うことで、摂氏で温度の計測が可能である。\\ | ||
+ | ここでは、ボタンAを押した際に、周辺の温度を計測し、LEDに表示している。 | ||
<code> | <code> | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
ライン 224: | ライン 225: | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 「ボタンA!押されている?」!なら「 | + | 「(ボタンA!押された?)==はい」!なら「 |
- | LED!"A"表示。 | + | LED!(温度センサ!温度?)表示。 |
- | 」実行。 | + | |
- | + | ||
- | 「ボタンB!押されている?」!なら「 | + | |
- | LED!"B"表示。 | + | |
」実行。 | 」実行。 | ||
」。 | 」。 | ||
ライン 235: | ライン 232: | ||
</code> | </code> | ||
- | ## 外部端子の利用 | + | ## 通信端子の利用 |
<code> | <code> | ||
ライン 244: | ライン 241: | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 「ボタンA!押されている?」!なら「 | + | 「(ボタンA!押された?)==はい」!なら「 |
- | LED!"A"表示。 | + | 通信端子!(加速度センサ!横の傾き?)送信。 |
」実行。 | 」実行。 | ||
- | 「ボタンB!押されている?」!なら「 | ||
- | LED!"B"表示。 | ||
- | 」実行。 | ||
」。 | 」。 | ||
mb!転送。 | mb!転送。 | ||
</code> | </code> | ||
- | ## microbitで無線通信をしてみよう | + | パソコン側 |
- | microbitを使うことで無線通信を簡単に利用できる。ドリトルでは無線のオブジェクトである「**無線**」を使い、「**送信**」や「**受信**」の命令を使って文字の交換やセンサの計測値の送受信が可能である。無線で送受信する機器間の設定は「**グループ**」の命令を使い、通信するグループを0〜255の間で設定することで同じグループ間で無線通信することが可能になる。 | + | |
<code> | <code> | ||
- | システム!"microbit"使う。 | + | システム!"microbit"使う。 |
- | 最初に実行=「 | + | mb=シリアルポート!1024 115200 作る。 |
- | 無線!0 グループ。 | + | mb!(システム!シリアルポート選択)開く。 |
- | 」。 | + | かめた=タートル!作る。 |
- | 繰り返し実行=「 | + | 「 |
- | LED!(無線!受信) 表示。 | + | かめた!10 歩く。 |
- | 」。 | + | 向き=mb!100 読む。 |
- | ボタンAが押されたとき=「 | + | かめた!(向き/4)左回り。 |
- | 無線!(光センサ!明るさ?) 送信。 | + | 」!1000 繰り返す。 |
- | 」。 | + | |
mb!転送。 | mb!転送。 | ||
</code> | </code> | ||
+ | ## microbitで無線通信をしてみよう | ||
+ | ドリトルでは無線のオブジェクトである「**無線**」を使い、「**送信**」や「**受信**」の命令を使って文字の交換やセンサの計測値の送受信が可能である。無線で送受信する機器間の設定は「**グループ**」の命令を使い、通信するグループを0〜255の間で設定することで同じグループ間で無線通信することが可能になる。 | ||
+ | |||
+ | **文字列の送受信**\\ | ||
+ | 次のプログラムでは、**グループ**の命令で0番に設定したmicrobitに「hello」を送信している。また、別のmicrobitからの送信データをLEDで表示している。 | ||
<code> | <code> | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
ライン 278: | ライン 274: | ||
」。 | 」。 | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 無線!(光センサ!明るさ?) 送信。 | + | 無線!"hello" 送信。 |
」。 | 」。 | ||
無線が受信したとき=「 | 無線が受信したとき=「 | ||
ライン 285: | ライン 281: | ||
mb!転送。 | mb!転送。 | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | **光センサの計測値の無線通信**\\ | ||
+ | 次のプログラムでは、**グループ**の命令で0番に設定したmicrobitにボタンAを押したときに光センサの計測値を送信している。また、別のmicrobitからの送信データを数字の形式で取得しLEDに表示している。(文字が送られてきた場合に、数値受信を実行すると数字で表示されます。) | ||
<code> | <code> | ||
ライン 292: | ライン 292: | ||
」。 | 」。 | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 無線!"hello" 送信。 | + | LED!(無線!数値受信) 表示。 |
」。 | 」。 | ||
- | 無線が受信したとき=「 | + | ボタンAが押されたとき=「 |
- | LED!(無線!受信) 表示。 | + | 無線!(光センサ!明るさ?) 送信。 |
」。 | 」。 | ||
mb!転送。 | mb!転送。 | ||
ライン 301: | ライン 301: | ||
+ | **加速度センサの計測値の無線通信**\\ | ||
+ | 次のプログラムでは、**グループ**の命令で0番に設定したmicrobitにボタンAを押したときにmicrobitの傾きを送信している。また、別のmicrobitからの送信データを数字の形式で取得しLEDに表示している。(文字が送られてきた場合に、数値受信を実行すると数字で表示されます。) | ||
<code> | <code> | ||
システム!"microbit"使う。 | システム!"microbit"使う。 | ||
ライン 307: | ライン 309: | ||
」。 | 」。 | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 無線!255 送信。 | + | 無線!(加速度センサ!横の傾き?) 送信。 |
」。 | 」。 | ||
無線が受信したとき=「 | 無線が受信したとき=「 | ||
ライン 314: | ライン 316: | ||
mb!転送。 | mb!転送。 | ||
</code> | </code> | ||
- | |||
- |