B1-2

IoT を用いた宿題提出機能を持つプログラミング学習環境
Programming Learning Environment with Homework Submission Function
Using IoT
野口 孝文*1，布施 泉*1，梶原 秀一*2，千田 和範*3，稲守 栄*3
Takafumi Noguchi*1, Izumi Fuse*1, Hidekazu Kajiwara*2, Kazunori Chida*3, Sakae Inamori*3
*1
北海道大学
*1
Hokkaido University*2
室蘭工業大学*2
Muroran Institute of Technology
*3
釧路高専
*3
National Institute of Technology, Kushiro College
Email: noguchi@iic.hokudai.ac.jp
あらまし：2020 年度から小学校においてもプログラミング教育が導入されるようになった．プログラミ
ング教育においては，実際にプログラムを作成し試行錯誤することが重要である．一方，2020 年の始めからのウイルス感染の流行により授業が開始されない状況が続いた．このような背景からプログラミン
グ教育においても自学自習を促す教材の開発が求められる．我々は，幅広い学習者の試行錯誤しながらの学びを促すために直感的に分かりやすい移動命令を持つ教材ロボットを開発してきたが，さらに自学自習を促すために，IoT 化によって通信インフラのない場所からも課題提出できる機能を開発した．
キーワード：プログラミング教育，ロボット教材，IoT ，LPWA

1.

2.

はじめに2020 年の始めからのウイルス感染の流行により小学生から大学生まで長期間自宅待機を余儀なくされ，改めて遠隔教育や自学自習の教材を用いた学習が注目されることになった．一方，プログラミング
教育は適切な課題やそれに試行錯誤しながら取り組むことができるプログラミング環境を必要とするため，自学自習が難しい科目の一つでもある．そこで手軽に利用できるプログラミング学習教材が求められている．
我々は，小型コンピュータを用い直感的に分かりやすい動作命令セットを持つロボットを開発し，大学等においてプログラミングの導入教育に利用してきた(1)(2)．そこでは，基本的な操作やプログラミングの学習をした後より深く学ぶために，絵を描かせるといった作品制作を課題にした授業を行っている(3)．
本論文では，ロボットを IoT 化することによって，課題の提出を通信インフラのない場所からも可能にして自学自習を支援することについて述べる．

8 個の LED と押しボタンスイッチ
3, 4, 5

スピーカ
コンピュータ基板
プログラム実行/編モード切り替えス
イッチ
押しボタンスイッチ
1, 2電源スイッチ

図 1 教材ロボット

教材ロボットの構造

図１に本教材ロボットを示す．ロボットは，2 つのモータに直結した車輪で移動する．ロボットを制御する命令セットには，モータ制御やセンサ入力を読み取る命令の他，演算命令等も用意している(4)．そして，ロボットを動作させるプログラムの入力や実行は，すべて図１のロボット上面にあるスイッチのみで行うことができるようにしている．一方，ロボットを PC に接続して，プログラム作成の支援をしたりプログラムを実行させたりすることもできるようにしている．
本研究では，ロボットの PC 接続端子に通信機能を持つ基板を接続してロボットを IoT 化することによって，作成した課題プログラムを送信して他者と共有することを実現した．

3.

LPWA を用いた IoT

これまで，本教材ロボットで作成したプログラムを他者と共有するには，ロボットを PC に接続してプログラムを転送し配送する必要があった．そのた
め PC のネットワーク接続は必須である．本研究では，IoT 化によって通信インフラのない環境からも，自学自習で作成した課題を提出できるようにした．
3.1 LPWA を利用したロボットの IoT 化
本研究では，IoT 化するためのチップとして，ソニー社製の ELTRES を用いた．ELTRES は LPWA（Low
Power Wide Area）モジュールである．送信出力が20mW と低いにもかかわらず 100km 以上の伝送能力がある．一方 ELTRES には，1 分間（最短の送信間― 45 ―

教育システム情報学会 JSiSE2020
第45回全国大会
2020/9/2-9/4

押しボタンスイッチ
送信アンテナ
ELTRES チップ
教材との接続GPS アンテナ

図 2 教材ロボットと送信システム隔）に 128bit の送信機能のみという制約がある．
ELTRES は，水道やガスなどの使用量データの送信のほか，子供の位置確認やお年寄りの見守りなどに利用されている．ELTRES と教材ロボットの接続の様子を図 2 に示す．ELTRES 側には，教材ロボッ
トにある小型コンピュータと同様のものが組み込まれ，教材ロボットおよび ELTRES モジュールと通信を行っている．ERTRES 側のボタンスイッチを押すと，次節に述べるコマンドが教材ロボットに送られ，教材ロボットからプログラムを取り出し，それを128bit ずつに分けて送信する．
3.2 ロボット操作のコマンド
教材ロボットは，基板下方に取り付けたポートを介して PC と通信をすることができる．教材ロボッ
トの押しボタンスイッチ 1,2 を押しながら電源投入
すると PC との通信モードが起動される．この状態
で PC から表 1 に示すコマンドを送るとロボットとの間でプログラムを転送したりプログラムを起動したりすることができる．
ELTRES 側の押しボタンスイッチを押すと，表 1に示した「dump」コマンドが教材ロボットに送り，プログラムを取り出すようにしている．プログラムは図 3 の(c)に示す 16 進数で表示された Byte を単位としたデータの集まりである．

4.

教材ロボットのプログラムと送信データ

4.1 ELTRES の送信時間
教材ロボットのプログラム領域は 256Byte ある．
後半部分の 50 Byte ほどは回転角度や移動距離を調整するための属性値を保存しているため，約 200Byte がユーザのプログラム領域になる．また，
ELTRES で 一 度 に 送 信 で き る デ ー タ 量 は 128bit

番地 命令 機械語
0 FOR 4 C4 繰返し
課題：下図のような四角形を連続して描
1 FOR 3 C3 繰返し
くプログラムを作っ
2 FWD 4 54 前進 4cmてみましょう．
3 RGT C 6C 右回転 90°
4 ENDFOR F0 繰返し終端
5 FWD 8 58 前進 8cm
6 ENDFOR F0 繰返し終端
7 END
FF 終了
(b) プログラム(a) 課題C4C3546CF058F0FF0000000000000000(c) 送信データ
図 3 教材ロボットを使った課題例と送信データ(16Byte)であるため，複数回に分けて送る必要がある．初心者のプログラムの課題としては，数 Byte から 30Byte 程度（これまでに作成した課題例から）と考えられる．すなわち 2 回程度（3 分間に 1 回の通信のとき 6 分）の送信で終了できると考えている．
4.2 ロボットの課題例と送信データ
図 3 に課題の例と送信データを示す．学習者は教材ロボットに直接プログラムを入力し，試行錯誤しながら完成させる．完成後，教材ロボットを ELTRESシステムに接続し，送信ボタンを押す．数分待つと，送信データが送られる．この例の送信データは，8Byte であるため，残りの 8Byte は 0 で埋められる．

5.

受け推進している．

表 1 教材ロボット操作コマンド
コマンド
start

利用例

address

address:0x00

accumulator

accumulator
accumulator:0xAB
IX
IX:0x10flag
dataexec
exec1

data:0x54
exec:0x00
exec1:0x00

dump

dump:0x20

list

list:0x00

lit2

list2:0x00

stop

参考文献

明

コマンド転送モードの開始

address

IX

説

おわりに

本研究では，自学自習を支援するために教材ロボットを IoT 化することによって，課題の提出を通信インフラのない場所からも可能にしたことについて述べた．ELTES の商用受信アンテナは全国に立てられてきているが，本研究では試験用に設置したアンテナを用いて，アンテナから 20km ほど離れた地点から送信し受信を確かめている．今後，アンテナが設置されることにより，自習した結果を学校で集約しコンピュータ上で分析し，個別または，全体に指導を行うことができるようになると考えている．
本研究の一部は，科学研究費基盤研究(B)(19H01727)をデータの書き込みおよび読み出し開始
位置を出力
データの書き込みおよび読み出し開始
位置の設定
アキュムレータの値を出力
アキュムレータに 171 を設定*
インデックスレジスタ IX の値を出力
インデックスレジスタ IX に 16 を設定*
フラグの値を出力
データの書き込み
00 番地から始まるプログラムの実行
00 番地の命令の実行
address で設定した開始から 32 個のデータをダンプ
00 番地から始まるプログラムをダンプ
00 番地から始まるプログラムをダンプ，
16 進データ付き
コマンド転送モードの終了(1) 野口孝文，梶原秀一，千田和範，稲守栄，"計測制御教
育のための教材ロボットの開発"，教育システム情報学会研究報告，Vol.27，No.6，pp.217-220 (2013)(2) 野口孝文，梶原秀一，千田和範，稲守栄，"ロボットを用いた初心者のためのプログラミング教材の開発"，
FIT2014 第 13 回情報科学技術フォーラム，筑波，pp.269-270（第 4 分冊) (2014)(3) 布施泉，野口孝文，梶原秀一，千田和範，稲守栄，“ロボット教材を用いた個別学習を連携した協調学習”，
教育システム情報学会研究会報告，p７(2019)(4) T. Noguchi, H. Kajiwara, K. Chida and S. Inamori,“Development of a Programming Teaching1-Aid Robot
with Intuitive Motion Instruction Set”, Journal of Robotics
and Mechatronics, Vol.29 No.6, pp.980-991 (2017)― 46 ―