北海道地区

教育システム情報学会 2019年度学生研究発表会

クラウドサーバを用いた双方向型機器制御プログラミング学習教材の開発
Development of Programming Learning Materials to Control Mechatronics
Devices with Interactive Communication Using Cloud Sever
菊地 勇人*1， 千田 和範*2
Yuto KIKUCH*1， Kazunori CHIDAI*2*1 釧路工業高等専門学校*2
釧路工業高等専門学校 創造工学科 電気工学分野*1Kushiro National College of Technology*2
Department of Electrical Engineering, National Institute of Technology, Kushiro College
Eamil:s190703@kushiro.kosen-ac.jp
あらまし：中学校では 2021 年度から新学習指導要領が全面実施となり，プログラミングに関する内容が拡充される．技術分野の「ディジタル作品の設計・制作」という項目が大きく変更され，「ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題解決」という項目に変更される．そこで本研究では「ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題解決」
を課題とした教材を開発する．
キーワード：学習教材，双方向性，協調学習

1. はじめに中学校では 2021 年度から新学習指導要領が全面実施となり，プログラミングに関する内容が拡充さFirebase

れる．新学習指導要領では技術分野の「ディジタル作品の設計・制作」という項目が大きく変更され，「ネットワークを利用した双方向性のあるコンテンデータの相互通信

ツのプログラミングによる問題解決」という項目に変更される(1)．また変更後の項目の内容に「問題を見出して課題を設定し，使用するメディアを複合すRaspberry Pi

る方法とその効果的な利用方法等を構想して情報処

品出し用サーボモータ

理の手順を具体化するとともに，制作の過程や結果注文システムの評価，改善および修正について考えること．」(1)といったものがあり，技術分野では「生活や社会におコンベア用モータ搬送用コンベアリミットスイッチける問題」を主体に考えられているため，これは実教材用ハードウェア社会での機器制御の仕組みを意識している．
そこで本研究では「ネットワークを利用した双方図 1．プログラミング学習教材の全体図

向性のあるコンテンツのプログラミングによる問題

Raspberry Pi は Firebase に蓄積された情報をもとに解決」を課題とし，実社会での機器制御の仕組みを機器を制御する．この時 Firebase に蓄積する情報は意識できるような教材を開発する．また複数の学習文字列やアクチュエータおよびセンサ等の ON・者が意見を交換し，協力し合いながら解を導いていく学習形態である協調学習が可能な教材を開発する．

OFF の状態である．これによりネットワークを介した Raspberry Pi 間の双方通信が実現する．Firebaseのデータ可視化機能を用いることで学習者はクラウ2. プログラミング学習教材の構成
2．1 学習教材の概要

ドサーバに蓄積されたデータの状態変化を逐次確認することができる．これによりネットワークを用いプログラミング学習教材の全体図を図 1 に示す．て双方向に情報をやり取りし機器を制御する仕組み

本 教材 は 教 材 用 ハ ー ド ウ ェ アと 学 習 者 人数 分 のについて学ぶことができる．また，それぞれの学習

Raspberry Pi およびクラウドサーバの Firebase で構

者間でどのようなデータをどのタイミングで送信す

成 さ れ て い る ． Firebase は そ れ に 接 続 さ れ た

るかなどの相談が発生し協調学習が実現できる．まRaspberry Pi のセンサ等の情報を蓄積していき，

19北海道地区

教育システム情報学会 2019年度学生研究発表会

配列データ

リミットスイッチ

PythonScratchRaspberry Pi(1)

注文ボタン

PythonScratchRaspberry Pi(2)

配列データ
品出し用サーボモータ
コンベア用モータ

JSON 形式に整形しFirebase へ送信

Python で受信し配列に挿入

Firebase

図 3．Firebase を用いた通信方法
注文システム用Raspberry Pi

コンベアモータ用
Raspberry Pi

サーボモータ用Raspberry Pi

サーボモータ用Raspberry Pi

図２．教材用ハードウェア
た，本教材のプログラミングは Scratch で行う．

2．2 教材の使用方法

図 4．Firebase に送信されたデータ

本研究で作成した教材は回転寿司チェーン店などにある，タッチパネルなどを用いたメニュー選択式ON・OFF の情報を相互通信することにより双方向搬送システムを模擬するものである．４台の性を実現する．

Raspberry Pi を用いて，図 1 および図 2 にある各種

また，データの相互通信の様子は図 4 のようにモータや LED を制御し，スイッチの状態を読み取

Firebase 上でリアルタイムに表示することができ，る． 注文システムのボタンを押すとそれに対応する

図 4 では「order 01」という注文番号が Firebase に

LED とサーボモータが動作し搬送用コンベアに商送信されたことによりサーボモータが ON になり，品を乗せ，搬送するというシステムである．注文シ「motor on」というデータが Firebase に送信されたステムを１人，品出し用サーボモータ 2 台を 2 人，ことを示している．これを用いることによってネッ搬送用コンベアを１人の計 4 人で協働し，メニュートワーク上のデータのやり取りを視覚的に表現し，選択式搬送システムを実現する．また Firebase を用

ネットワークを用いて双方向に情報をやり取りし機いて注文番号等の文字列やモータの状態などのデー器を制御する仕組みについて学ぶことができる．

タを互いに通信し教材用ハードウェアを制御する．
例えば注文システムから注文番号を Firebase へ送信

3. 教材を用いた授業の概要

すると，それに対応したサーボモータを制御する

本教材はプログラミングの導入として使用するたRaspberry Pi が注文番号を受信しサーボモータを動め，授業の規模は 2 時間程度で想定している．はじかす．また，そのサーボモータの ON・OFF の状態めに Scratch の使用方法と情報通信ネットワークのを Firebase に送信しコンベア用モータを制御する構成について座学を行い，その後本教材を用いてプ

Raspberry Pi がそれを受信しコンベアを動かすといログラミング学習を行う．本教材のプログラミングったようにデータを互いに通信する．

は先述の通り「メニュー選択式搬送システム」を実現させるものとなっている．４人で人数分の2．3 Firebase を用いた相互通信

Raspberry Pi を用いて Scratch にてプログラミングを「ネットワークを利用した双方向性のあるコンテ行い，各種モータやセンサ類を制御する．

ンツのプログラミング」を実現するために， クラウドサーバである Firebase の RealtimeDatabase を用い4. 今後の課題て Scratch 間でのデータの相互通信を行う．データ

今後の課題は，本教材を本校で行っている 2 時間の通信方法を図 3 に示す．Raspberry Pi(1)の Scratch

程度の出前授業にて使用し，教材の使用感のアンケから得られる配列データを Python で解析後 JSON 形ートやプログラミングの理解度の確認テストを行い，式に 整形 し Firebase に送 信 す る． その デー タをそれに基づいて教材の改良を図る．

Raspberry Pi(2)の Python で読み取り Scratch で受信できる配列データに変換し Scratch へ送信する．この参考文献

通信方法で文字列やアクチュエータのセンサ等の(1) 中学校学習指導要領 新旧対照表

20

pp164-170