micro:bitによるプログラミングでのスイッチボタンの活用
NPO法人 学習開発研究所
高橋 参吉
研究グループ（喜家村奨、稲川孝司、西野和典、三輪吉弘、井手広康）
2023.2.19

ICTを利用した学習者研修講座1教育・研究の活動内容【教科書・教材】
・micro:bitによるプログラミング（コロナ社）（2019.9）

https://u-manabi.net/microbit/【プログラミング教育の研修・研究】
・教員研修・研究発表（2018～）

https://u-manabi.net/microbit/kensyu/
・喜家村科研（帝塚山学院大学）（2020～）「初等・中等教育の接続を考慮したプログラミング的思考を育成する教材及び指導法の開発」
https://u-manabi.net/microbit/kaken/【学習者研修講座】
・ICTを利用した学習者研修講座（NPO法人学習開発研究所）(2021～）

https://u-manabi.net/ILD_ict-kouza/

2

発表の概要micro:bitを利用した学習教材（スイッチボタンの利用） じゃんけんゲーム、数あてゲーム、LED（電球）の点灯、信号機、自動販売機など

micro:bitの入力用拡張ブロック
 「情報I」用の簡略版（プログラムは、簡略版で作成、説明している）

micro:bitによるプログラミング（スイッチボタンの利用）
micro:bitのスイッチボタンを利用したプログラム例を示す。
 サンプル例１：数あてゲームのプログラム（VBA、 Scratch ） サンプル例２：画像の表示、選択（分岐）のプログラム（Scratch）
 サンプル例３：パリティチェック（アンプラグド）

学習教材のコンセプトと学習指導
 「教材を観て、自分で確認して、自らが納得する」

3

micro:bitを利用した学習教材(スイッチボタンの利用）
じゃんけんゲーム
 ボタンで、グー、チョキ、パーを表示する。
 2人で、対戦してみる。

4

micro:bitの入力用の拡張ブロック
開発の背景 「情報I」のプログラミングにおいて，様々な言語（スクラッチ，VBA，JavaScript，Pythonなど）が利用されている。
 micro:bitを利用する際に、特にスクラッチやVBAとの互換性、及びデータの入力方法を統一するため入力用の拡張ブロックを作成した。

 入力用の拡張ブロック 簡略版（具体的な3つ（A、B、A+B）のブロック、汎用的なブロック１つ）• Web：喜家村科研（帝塚山学院大学） の＜科研報告会＞
入力用拡張ブロック、拡張ボードの利用に関する、報告会（2022.4）を参照

 最新（フルバージョン）版（具体的なブロック8つ、汎用的なブロック１つ）• 喜家村奨：初等・中等教育におけるプログラミングの指導、学習開発研究所講演資料(2022.5）を参照• 喜家村 奨：「初等・中等教育における プログラミング言語の傾向とイベント処理プログラミングについて」、日本情報科教育学会第15回全国大会（2022.7）を参照
5

入力用の拡張ブロック(簡略版）
 「情報I」のプログラミング指導において、様々な言語（スクラッチ、VBA、JavaScript、Pythonなど）が利用されている。
 micro:bitを利用する際に、特に、スクラッチやVBA言語との互換性、及びデータの入力方法を統一するために、入力用の拡張ブロックを作成した。
 簡略版（具体的な3つ（A、 B、A∔B）のブロック、汎用的なブロック１つ)のプログラ
ムを紹介する。

拡張ブロック（joho1ext）の追加方法＜手順＞
ブロックからJavaScript にする。
エクスプローラーの「 v 」を選び、「＋」からカスタムブロックを追加する。
新しいファイルを追加しますか？
→ 「joho1ext」とする。
「// ここにコードを追加します」
拡張ブロックのテキストを貼り付ける。
ブロックに戻す。

入力用の拡張ブロック(最新版）＜Scratch＞

喜家村奨：初等・中等教育におけるプログラミングの指導、学習開発研究所講演資料(2022.5）
入力用の拡張ブロック：＜PDFファイル＞
https://u-manabi.net/microbit/kaken/ild_2022kyozai1-12.pdf＜TEXTファイル＞
https://u-manabi.net/microbit/kaken/ild_2022kyozai1-13.txt

8入力用の拡張ブロック(最新版）を利用した場合～じゃんけんゲーム～＊「ずっと」のプログラムは、右のプログラムでよい。

9【サンプル例１：数あてゲーム】（VBA）

50までの数字をあてるゲームを作ってみよう。
「情報の科学」、実教出版（p.30～p.31）①答えになる1～50までの整数を考える②候補の数字を入力する③候補の数字が答えの数字より大きかったら「Large」と表示する④候補の数字が答えの数字より小さかったら「Small」と表示する⑤候補の数字が答えと一致したら「Hit」と表示する

Sub game1()
kotae = 25
kouho = Cells(1, 2).ValueIf kouho > kotae Then
Cells(2, 2).Value = "Large"
ElseIf kouho < kotae Then
Cells(2, 2).Value = "Small"Else
Cells(2, 2).Value = "Hit"
End IfEnd Sub【サンプル例１：数あてゲーム】（micro:bit)
50までの数字をあてるゲームを作ってみよう。
＜入力例＞
初期値は0が表示されるので、Aボタンで数値を変更（1回押すと、1つずつ増える）し、Bボタンで確定する。
変数k1で，10の桁の数値，変数k0で，1の桁の数値を入力する。

【サンプル例１：数あてゲーム１】（Sｃｒaｔｃｈ）
50までの数字をあてるゲームを作ってみよう。
micro:bitのプログラムは、 Sｃｒaｔｃｈでは、右のようなプログラムになる【サンプル例2：選択（分岐）のプログラム】（Sｃｒaｔｃｈ）
 画像を選表示するプログラムを作ってみよう。
「図説情報I」、実教出版（p.100～p.101）

13

【サンプル例2：選択（分岐）のプログラム】（micro:bit）
画像３

 画像を選表示する
プログラム
 花の画像は、LED表示で、簡略化した図にする

画像１
画像４

画像２
拡張ブロック画像２

14

【サンプル例３：パリティチェック 】
 実習14 データの間違いを探そう「図説情報I」、実教出版（p.156～p.157）（球で説明）
 次の説明図の学習教材をmiro:bitで作成しよう。
 英文字「N」の場合「図説情報I」､p.156より

15

ボタンB

【サンプル例３-1：パリティチェック】（micro:bit)
 Aボタン：パリティビット(偶数）を手動でつける
 A＋Bボタン：エラーの箇所を乱数で決定し、反転する
 Bボタン：エラーの箇所を探して、その個所を点滅する
ボタンA

ボタンA+B

16

ボタンA【サンプル例３-２：パリティチェック】（micro:bit)

 Aボタン：パリティビット(偶数）を自動でつける
 A＋Bボタン：エラーの箇所を乱数で決定し、反転するする Bボタン：エラーの箇所を探して、その個所を点滅する

ボタンA+B A、Bボタンの箇所は、同じようなプログラムがでてくるので、関数にすることができる。
 無線LANを利用したプログラムにすることもできる。しかし、この場合、micro:bitの仕様で、一度に18文字までしか送信できないので、プログラムの工夫が必要となる。
17

学習教材のコンセプトと学習指導

じゃんけんゲーム（導入）プログラミングの学習教材のコンセプト
「教材を観て、自分で確認して、自らが納得する」
「じゃんけんゲーム」
 教材を観て、実行して、自分で確認する• じゃんけんゲーム（1）： 「グー、パー」のじゃんけんについて学ぶ 教材プログラムを観て、自らが納得する• じゃんけんゲーム（2）： ブロックを確認して、論理の構成を理解する。
 教材プログラムの変更も試みて、思考する• じゃんけんゲーム（3）： 勝敗の判定（じゃんけんの判定表）について考える
高橋、喜家村、稲川：micro：bitで学ぶプログラミング、pp.14-15、pp.41-43、コロナ社(2019)18

じゃんけんゲームを例として
 実行して確認し、プログラムを観て納得する
 乱数（0、1）を発生させ、0の時は（グー）、1の時は（パー）を表示する(図1） 2台のmicro:bit で対戦してみる
 変更を試みて思考する
 乱数（0、1、2）を発生させて、「はさみ」（チョキ）を表示するプログラム(図2）に変更する

図1 じゃんけんゲーム（１）

図2 じゃんけんゲーム（2） 19

 より深く思考する じゃんけんの判定表を考え、判定表をもとに効率的なプログラムを考える 無線LANを利用した自動判定プログラムを作成する
じゃんけんの判定表 （じゃんけんゲーム(3)）
種類
グーチョキパー

数値
012AB

判定（A－B）の値(A-B+3) ％ 3の値

000
1
1
12
2
20
1
20
1
20
1
2

引分け
ABB
引分け
AA
B
引分け

0-1-2
10-1
2
100
2
1
10
2
2
1020

まとめ ～micro:bitによるプログラミング指導～micro:bitによるプログラミング指導の注意事項
 キーボードがないので、数値や文字の入力には、スイッチボタンを利用するなどの工夫が必要である
 25個のLEDでしか表示できないので、出力表示には、工夫（例えば、micro:bit用拡張表示
ボードの利用）が必要である＊「Kitronik-128x64Display」(VIEW Graphics128 OLEDディスプレイ)に表示する

学習者の能力に応じた学習指導 さまざまなセンサもあるので、STEM（STEAM)教育の教材も作成しやすい 学習教材を通じて、プログラミングに興味・関心を持たせることも可能である
 ブロック型からJavaScriptやPythonへ自動変換できるので、学習者の興味やプログラミング能力に合わせた言語を利用できる
21

（参考） micro:bitを利用した学習教材
「FizzBuzz」のプログラム
i=1
while i <= 100:
basic.show_number(i)if i % 15 == 0:
basic.show_string("FizzBuzz")
elif i % 3 == 0:
basic.show_string("Fizz")
elif i % 5 == 0:
basic.show_string("Buzz")
else:
basic.show_string("*")
i += 1
高橋：micro:bitで学ぶプログラミング、じっきょう資料、情報教育資料51号、実教出版(2020.9）
https://www.jikkyo.co.jp/download/detail/61/9992659440

22