株式会社キングエース

プログラムによる計測・制御を学ぼう
micro:bit 信号機版

わたしたちの生活の中では、コンピュータ制御された機器が数多くあり、これらを便利に使いこなすことで、人にやさしく快適で安全な生活を送ることができます。またエネル
ギー問題や環境問題に関わって、未来を大切にするために欠かせない技術を多く含んでいます。ここでは、プログラムによる計測・制御のしくみをしっかり学習しましょう。

年組番

年組番

名前【】

本書の実習、課題、発展課題の取り扱い実習 …確かめる内容です。必ず学習しましょう。
課題 …考える内容です。必ず学習しましょう。
発展課題…発展的な内容で、少し難しい課題です。

時間の余裕があればチャレンジしましょう。

身近な信号機を調べよう
この学習では、身近にある信号機のようにＬＥＤ（発光ダイオード）を自由に点滅することで、プログラムの基本的な仕組みを学習します。

ある交差点の例〇ある交差点での、信号機の点滅と時間の関係を表してみました。

いろんな交通用信号機
右折車両用の青矢印がある信号機以外に、夜間になると点滅する信号機などもあります。

課題１ 交通用の信号機の例を挙げてみましょう。
（例）

・音が鳴って知って知らせる歩行者信号機
歩行者信号機身近な信号機を調べよう

課題１ 交通用の信号機には、いろんな点滅の仕方があります。安全に注意して、実際の信号機を観察し、その点滅順や時間を調べてみましょう。
調査対象【 (例)神戸 1 丁目バス停前丁目バス停前交差点
バス停前交差点

調査日【年月日（）

（結果）

3】
時ごろ 】

micro:bit
ここでの学習には、マイコンボード「micro:bit（マイクロビット）」を使用します。その仕組みと、プログラムのための言語について学んでおきましょう。

ｍicro:bit とはイギリスの国営放送局である BBC が子供たちの教育のために開発したプログラミングして操れるマイコンボードです。カードサイズの小さなボードに 25 個の LED、2 個のボタンスイッチがあり、各種センサ（地磁気、加速度、明るさ、温度） 無線通信機能なども搭載されています。

ボタンスイッチスイッチ
A

ボタンスイッチB

地磁気センサUSB コネクタ
コネクタ

方角や磁力の変化を計測

マイクロ USB ケーブルでパソコンと接続

電源コネクタ電池ボックスをつなぐコネクタです。

リセットボタン
実行 し てい る プロ グラ
ムをリセットできます

LED 画面加速度センサエッジコネクタ

25 個の赤い LED。明るさセンサにもなっています。

きや速度 の変 化を計測スピーカやモータの制御、センサの読み取り、電源などの入出力端子

micro:bit のマイコンと入出力ピン○micro:bit では【 マイコン 】がデータの【 入出力 】 （Ｉ／Ｏ）をしています。
○マイコンには【 ピン 】と呼ばれる足が数１０本あり、これを通じてデータの入出力を行います。
○micro:bit のデータを入出力するピンはエッジコネクタにつながっています。

ターゲットマイコン（Bluetooth）

プログラママイコン（USB）

エッジコネクタ（20 ピン）〇エッジコネクタの接続方法
・少しのデータのやり取りでは、ミノムシクリップなどを使エッジコネクタソケット

うことができます。
・多くのデータのやり取りや接続の確実性を求めるときはエッジコネクタソケットを使います。

4

電源
micro:bit へは USB ケーブル以外に、乾電池から電力を供給できます。

みの虫クリップ
PH コネクタ

パソコンと micro:bit の接続○USB 接続すると、'MICRO:BIT'ドライブとしてコンピュータに認識されます。

'MICROBIT'
ドライブ〇Bluetooth 通信
micro:bit どうしの他、パソコンやスマートフォン、タブレットとも通信できます。パソコンやスマートフォン、タブレットの場合は【 ペアリング 】が必要です。

micro:bit とプログラミング言語
ソフトウェア〇micro:bit のソースプログラムを作成できる【 高水準言語 】と呼ばれるソフトウェアは数多く存在します。
・JavaScript（ジャバスクリプト）ブロックエディタ

・micro:bit モバイルアプリ

・Mblock（エムブロック）・Python（パイソン）エディタ

・MbedCompiler（エンベッドコンパイラ）

・micro:bit 用 Scratch（スクラッチ）・Arduino-IDE（アルドゥイーノ アイディーイー）5機械語と micro:bit○高水準言語で書かれたソースプログラムは、【 機械語 】にコンパイル （変換）してから、micro:bit のマイコンに書き込みます。

変換

変換機械語保存〇micro:bit 用にコンパイルされた機械語ファイルは、そのまま micro:bit ドライブに貼り付けることで書き込むことができます。

JavaScript（ジャバスクリプト）ブロックエディタ○インターネットのブラウザ上でブロックを組み合わせるだけでプログラミングが簡単にできます。
https://makecode.micro:bit.org/?lang=ja

ブロックエディタ切替

テキストエディタ切替

ブロックシュミレータ

シュミレータ表示切替

ブロックメニューブ
ロックメニュー

プロジェクト名
6ステージ

○JavaScript と切り替えることもでき、テキスト（文字）ベースでのプログラミングもできます。

ブロックベース

テキストベース

mbAT
信号機学習ボード。
①５個のＬＥＤを車用(青、黄、赤)、歩行者用信号機（赤、青）に見立てて配置しています。
②音響信号機が再現できるようにスピーカがついていますmicro:bitスピーカ

車用信号機
歩行者用信号機
電源スイッチジャンパー線○mbAT で実現できる、いろいろな信号機の例

カッコウ！
【 右折 】用【 歩行者 】用

【 夜間点滅 】式【 音響 】式

電源○USB 電源
USB 電源５V は micro:bit 内部で３．３V に変換されて利用されます。
USB ケーブル○電池（単３×２）
３V 電源が利用できます。
ジャンパー線○DCDC コンバータ
ジャンパー線代わりに DCDC コンバータをつけると、３．３V に昇圧できます。
7

LED を点滅しよう
使用する回路【回路図】

LED を点滅するブロック○「高度なブロック」の「入出力端子」の中にある「デジタルで出力する」ブロックを利用して、各ピンの値を変えて LED を点滅します。
○値と点滅の関係
値「０」 【点灯 】

値「１」【消灯 】

P13

１０○micro:bit のピンとＬＥＤの関係

Ｐ１ 】
青 Ｐ２】
青【 Ｐ１３ 】 黄【 Ｐ１４ 】
スピーカ【 Ｐ０ 】

歩行者用信号機 赤【車用信号機
歩行者用音響《参考》 LED が点灯する理由「P1」ピンにデジタルで「0」を出力すると、「P1」ピンは「Low」、すなわち「0V」となり、LED＋保護抵抗器間に 3.3V の電位差が生じ、LED は点灯します。
しかし「P1」ピンに「1」を出力すると、「P1」ピンは「High」すなわち「3.3V」となり、LED＋保護抵抗器間の電位差が無くなり、LED は消灯します。

8

赤【Ｐ１５ 】

同じ処理をくり返してみよう○プログラムを何度もくり返し行う処理を【 くり返し 】処理といいます。
○最初からある「ずっと」ブロックや、「ループ」の中にある「くりかえし」ブロックなどを利用して、命令を何度もくり返します。

【 無限くり返し 】【 有限くり返し有限くり返し 】【 条件くり返し 】

ずっと繰り返すプログラム

実習７－１ 次のプログラムを作成して、micro:bit にプログラムを書き込もう。「P0」を「P1」「P2」「P13」「P14」「P１５」に変えてみよう。
（結果）「P0」P0」でｊは、どれも点灯しなかったが、でｊは、どれも点灯しなかったが、「は、どれも点灯しなかったが、「P1」でP1」では左の赤、「P2は左の赤、「P2」では緑」、「P2」では緑」、「P13」では緑」、「P13」では右の青P13」では右の青「P14」
P14」で黄、で黄、「P１５」で赤
１５」で赤の」で赤のＬＥＤが点灯した。

実習７－２ 次のプログラムを作成して、micro:bit にプログラムを書き込もう。
（結果）０
青の LED が点滅した。

１

課題７-１ 次の動作をするプログラムを考えよう。
（プログラムと感想）9実習７－３ 右のプログラムを確かめよう。
結果）

青→黄→赤と順に点灯した
点灯
した

課題７－２ 点滅する時間を変えて、信号機のように動作するプログラムを考えよう。
（プログラムと感想）

10

発展課題
発展課題７
課題７－１

（プログラムと感想）「左折可」の青矢印を表示する信号機を作ってみよう。

日本《参考》 信号機の色と点滅
信号機の色と点滅
信号機の色は世界的には「道路標識及び信号に関するウィーン条約」で赤、黄、緑と決められ、点滅順も右のように決められています。
しかし、日本は条約に加盟していないので、ウィーン条約加盟国の信号の点滅方法が異なります。

11

ウィーン条約加盟

一定回数くり返すプログラム

実習７－４ 次のプログラムを作成して、micro:bit にプログラムを書き込もう。
（結果）

赤が点灯後、青が 4 回点滅する、をくり返した。

（プログラムと感想）

課題７－３
歩行者信号機で、青→青点滅→赤となるプログラムを考えよう点滅

12

発展課題７－２ 歩行者信号も付け加えて、信号機のように動作するプログラムを考えよう。
※歩行者信号の青はしばらく点いた後、点滅します。
（プログラムと感想）

NO.

車用

歩行者用

青青青点滅

123

黄4

赤

赤

《参考》 歩行者用信号の点灯時間
歩行者用信号では、一般の人の歩く速さを 1 秒間 1ｍで計算します。例えば幅 15ｍの横断歩道は 15 秒で渡れると計算し、これに数秒を足した時間を青点灯時間としています。その後、青点めつを数秒間して赤に変わります。
こうして求められた青点灯時間は一般の人にとっては問題のない長さですが、杖が必要な方や車いすの方の中では渡りきれないことがあります。

13

関数を使ったプログラム
JavaScript ブロックエディタの中では、ある処理をまとめたものを【 関数 】（サブルーチン）といいます。同じ処理を何度も行うときに使用します。

○「「関数」カテゴリの中にある「関数を作成する」で新たな関数ブロックを作成します。

実習８ 関数を使ったプログラムを試してみよう。
（結果）

青の LED が点灯した。

発展課題８－１ 関数に数値のパラメータをつけたプログラムを試してみよう。
（結果）

青の LED が４回点灯し４回点灯して、少し消え、少し消え、を繰り返した。

14

課題８ 次の関数を使ったプログラムを完成させよう。

（感想）関数を使うとプログラムがわかりやすくなった。

発展課題８－２ 課題２－３で、時間を数値のパラメータにしたプログラムを考えてみよう。
（プログラム）15

音を出してみよう
micro:bit からの信号でスピーカから音を出します。
※2 つのスライドスイッチは、どちらも上側にします。

使用する回路【回路図】

音を出すブロック○「音楽」の「音を鳴らす」ブロッ
クを使います。

○周波数で音を出すときは「高度なブロック」「入出力端子」の「その他」の中にある「音を鳴らす」ブロックを使います。
※スピーカは、P0 ピンに接続されているときに音が出ます。異なるピンに接続するときは「音を鳴らす端子を」ブロックを使ってピンを指定します。

音を出すプログラム

実習９－１ 次のプログラムを作成して、micro:bit にプログラムを書き込もう。
（結果）「ド」「ド」・・・・と鳴った。

16

実習９－２ 次のプログラムを作成して、micro:bit にプログラムを書き込もう。
（ヒント）「入出力端子」の「その他」の中にある「音を鳴らす」ブロックを使います。

（結果）

救急車の救急車のピーポー音がし車のピーポー音がした。
ピーポー音がした。

課題９ 横断歩道で鳴っているカッコーの擬音を鳴らしてみよう。
（ヒント）（プログラムと感想）
1200Hz、150 ミリ秒→無音 200 ミリ秒→950Hz、250 ミリ秒→無音 1 秒のくり返しです。

発展課題９ 「課題２－3」の信号機のプログラムで、青の時にカッコー音が鳴るように改造してみよう。
（プログラムと感想）※関数「青」と「カッコー」のところだけを書きましょう。

17

条件によって処理内容を変えよう
ある条件によってプログラムの処理内容を変えて実行することを【分岐処理 】といいます。

分岐処理のブロック○「論理」の中の「もし」ブロックを使います。

○条件には、・ボタンが押されているとき・明るさ、温度、加速度、角度、方角などの micro:bit のセンサの測定値・作った変数の値などを使うことができます。

分岐処理のプログラム

実習１０ 次のプログラムを作成して、micro:bit にプログラムを書き込もう。
（結果と感想）普段は怒った普段は 怒った顔が、怒った顔が、ボタン顔が、ボタンＡを押すとボタンＡを押すとにっこりＡを押すと にっこりする。

発展課題１０－１
明るさを測定しよう。
（micro:bit を手でおおってみよう。）
明る さ で変 わる プロ グラ ム を試そう。
（結果と感想）明るさは０～２５５の数値で表示される。

18

課題１０ 次の信号機のプログラム（一部省略）を書き込み、micro:bit を手でおおってみよう。
（結果）

暗くなると黄点滅になる。

発展課題１０－２ 普段は赤の信号が、Ａボタンを押すと赤→青→黄と変わるプログラムを作ってみた。しかし、Ａボタンをずっと押しておかなくては赤に変わらない。原因と対策を考えよう。
（原因と対策）赤が点灯して一時停止している
赤が点灯して一時停止している時間、Ａボタ時停止している時間、Ａボタンを受け付けない。
ンを受け付けない。

19

途中に入り込む処理と変数プログラムが順番に行われる中で、ボタン操作などの外部からの操作で別のプログラムを実行することを【割り込み処理
割り込み処理 】といいます。

割り込み処理のブロック○「入力」の中のブロックを使います。

○ボタンでの割り込み処理。
・Ａボタンを押したとき・Ｂボタンを押したとき・ＡボタンとＢボタンを同時に押したとき○P0～1 と GND に同時に触れたタッチセンサでの割り込み処理○加速度センサで検知されたとき変数の作成
変数を使うと、さらに色んなプログラムを作成することができます。

変数を使った、割り込み処理のプログラム

実習１１－１
変数「時間」を作って、右のプログラムで、ボタン A を押したときの動作を確かめてみよう。

（結果）

最初は点滅が早かったが、ボタン A を押すと変数を押すと変数「変数「時間」時間」が１秒になり、１秒になり、点滅が点滅が遅くなった。

20

課題１１

（プログラムと感想）「実習 5-1」のプログラムを改造して、ボタン B で再び点滅を早くできるようにしよう。

実習１１－２ 普段は黄の点滅信号が、Ａボタンを押すと黄→赤→青と変わるプログラムを作ってみた。
しかし、Ａボタンを押した後も黄の点滅はずっと行われたままになった。原因を考えよう。

（原因と対策）「ずっと」の処理と「Ａボタンを押したとき」の処理が同時「ずっと」の処理と「Ａボタンを押したとき」の処理が同時進行されるから。と「Ａボタンを押したとき」の処理が同時進行されるから。

発展課題１１ 変数を使って、黄の点滅信号が、Ａボタンを押すと黄→赤→青と変わるようにしよう。
（プログラムと感想）

21

無線を使おう複数の micro:bit 間で、無線で数値や文字を送受信できます。
※数値や文字は半角英数文字で入力したものだけです。

無線のブロック○無線を行うときには、必ず無線のグループ（０～255）を指定します。無線のグループが同じなら、複数の micro:bit 間で通信が可能です。
※教室では、出席番号を利用しましょう。
○無線で数値や文字を他の micro:bit に送信できます。
○無線で数値や文字を受信したときに、割り込み処理ができます。

無線のプログラム

実習１２－１ ２～４人で協力して、micro:bit に下のプログラムを書き込み、ボタン A を押して相手に数字を送ってみよう。グループ番号は誰か一人の出席番号を使います。

Number

出席番号（結果と感想）Ａボタンを押したとき、相手のＡボタンを押したとき、相手の micro:bit に「０」が表示された。に「０」が表示された。

発展課題１２－１ ２つの micro:bit に下のプログラムを書き込もう。A ボタンを押して、相手に文字Stringを送ってみよう。できたら文字を変えてみよう。

（結果と感想）Ａボタンを押したとき、相手の micro:bit に「Helloに「Hello」が表示された。
Hello」が表示された。

22

実習１２-２ グループ設定し、プログラムを書き込んで試してみよう。

（結果と感想）Ａボタン
Ａボタンを押したとき、タンを押したとき、自分とを押したとき、自分と相手の自分と相手の青い相手の青い LED が点灯した。
点灯した。

発展課題１２－２ 「実習 12-2」のプロ（結果と感想）グラムを改造して、A ボタンで青、B ボタンで黄、A+B ボタンで赤が点灯するようにしよう。

実習１２－３ ２人で協力して、二つの信号機が無線を使って同時に動く（同期する）ようにしたプログラムを試してみよう。
※グループ設定は省略。

（結果と感想）23

課題１２ 交差点の進行方向と直交方向の二つの信号機の、内容をまとめた下の表を完成させよう。
進行方向

直交方向

NO.
車用
1

歩行者用

車用

歩行者用

赤

赤

青（カッコー音）
青

23青点滅
黄45青（ピヨピヨ音）
赤

6

青

赤青点滅

7

黄赤8

赤

発展課題１２－３ ２～４人で協力して、二つの信号機「実習 12-3」のプログラムを改造して、交差点の進行方向と直交方向の二つの信号機を実現しよう。
（プログラムと感想）

24

(参考)拡張機能
ここでは mbAT に若干の部品を追加することで、いろんなことができることを紹介しましょう。

拡張機能（オルゴールマイコン）
オルゴールマイコン（ATtiny4313/2313）の追加で、micro:bit からの信号でオルゴールの演奏を制御できます。
マイコンに PD2 あるいは PD6 で制御できるようにプログラムします。「ヒダピオ学習回路」などのライター（書込機）で書き込み、micro:bit の P12 ピンの High/Low で制御します。

拡張機能（入出力装置）

リレー３～３．３V 系の入出力装置を接続できます。
※3.3V
3.3V 系の場合は
場合は、DCDC コンバータをコンバータを使用○出力装置は P16 または P12 の High/Low で制御できます。
○入力装置は、スイッチモジュール（スライドスイッチ、ボタンスイッチ、マイクロスイッチ、傾斜スイッチ、タッチスイッチなど）の他、超音波距離センサなどが接続

超音波DCDC コンバータ
距離センサ

できます。

家電製品を制御する場合○１００V１５A までの家電製品（扇風機や電熱器など）の制御は、USB 連動タップを使います。
※USB 連動タップは連動タップは３V で動作す動作するもの○P16 または 12 ピンの High/Low で制御できます。

USB 連動タップ

発展課題１３ 拡張機能を使って作りたいものを考えよう。。
超音波距離
超音波距離センサ
距離センサをセンサを使って、使って、人が近づくと人が近づくと警告するように近づくと警告するように LED が点滅する装置
点滅する装置を装置を作って家の防犯に役立てたい家の防犯に役立てたい。
防犯に役立てたい。

25

まとめ
人に優しい技術「人に優しい技術」とは、高齢者や社会的弱者に優しいと同時に、一般の人にも使いやすい技術です。創造性が豊かで、個々の特性に応じる多様性が求められる社会において、技術によって人間が疎外されることなく、一人一人の能力を十分に活かすことのできる技術が求められています。

課題１４－１ 人間が疎外されるとは、具体的にどういうことですか。
入力方法や表示方法がわかりにくく、また取扱説明書が専門的すぎて、使えない機器になったり、使わない機能が多くあったりする。
また、平均的な人に合わせているため、高齢者や障害者が使えない機器がある。

これから期待される技術と社会への影響
さらに安全で快適な社会の実現に向け、ロボット開発などの制御に関連する技術への期待が高まっています。

課題１４－２ これから期待される制御に関連する技術を調べてみよう。
○負担を軽減するロボット（○負担を軽減するロボット（家事、福祉、農業など）
家事、福祉、農業など）○通信を介した遠隔治療（通信を介した遠隔治療（手術）手術）など技術の発展と自分の将来の生き方
ロボットが人に代わって仕事をすることがますます増えています。そして、ロボットがどんどん進化していけばいくほど、『人ならでは』の仕事の価値が高まっていくといわれています。これからの時代を生き抜くためには、「自ら考える」「自ら発言する」「自ら行動する」「自ら反省する」という人間固有の能力を磨くことがより大切になります。

課題１４－３ 上の文章を読んで、自分のこれからの生き方を考えてみよう。
（例）ロボットがどんなに普及しても、人間にしかできないことが常に存在し続けると思う。
だからこそ今、しっかり自分で考えて、自分の意見を発言できるように、どの教科でも頑張っていこうと思います。

26

自己評価
LED の点滅方法が理解できたか。

Ａ

Ｂ

Ｃ

Ｄ

くり返し処理を理解し、使うことができたか。

Ａ

Ｂ

Ｃ

Ｄ

関数を理解し、使うことができたか。

Ａ

Ｂ

Ｃ

Ｄ

音を鳴らすことができたか。

Ａ

Ｂ

Ｃ

Ｄ

分岐処理を理解し、使うことができたか。0Ａ

Ｂ

Ｃ

Ｄ

割り込み処理を理解し、使うことができたか。

Ａ

Ｂ

Ｃ

Ｄ

変数を理解し、使うことができたか。

Ａ

Ｂ

Ｃ

Ｄ

無線を使うことができたか。

Ａ

Ｂ

Ｃ

Ｄ

熱心に授業に取り組めたか

Ａ

Ｂ

Ｃ

Ｄ

感想
これまで学習して感動したことや、疑問に思って解決できたこと、将来に役立ちそうなことなどを中心に、感想にまとめよう。

目 次
１. 身近な信号機を調べよう --------------------------- 2
２.

micro:bit---------------------------------------- 4

４.

JavaScript ブロックエディタ ---------------------- 6

３.
５.
６.
７.
８.
９.

micro:bit とプログラミング言語 ------------------- 5

mbAT--------------------------------------------- 7
LED を点滅しよう --------------------------------- 8
同じ処理をくり返してみよう----------------------- 9関数を使ったプログラム-------------------------- 14

音を出してみよう-------------------------------- 16

１０. 条件によって処理内容を変えよう------------------ 18

１１. 途中に入り込む処理と変数------------------------ 20

１２. 無線を使おう------------------------------------ 22

１３. (参考)拡張機能---------------------------------- 25
１４. まとめ-- エラー! ブックマークが定義されていません。

編集：JA 教育研究会
著作：JA 教育研究会

プログラムによる計測・制御を学ぼう
micro:bit 信号機版
発行者：キングエース【本書の無断転載を禁ず】

定価 330 円（税込）KAMBAT28R01A