2014年[ 科学教育振興助成 ] 成果報告

RaspberryPi を活用したネットワーク実習教材の製作

実施担当者

稲見 敬

所属:栃木県立鹿沼商工高等学校 教諭

概要

1.はじめに
 本校でのコンピュータ教育は、アプリケーションの利用や統合環境下でのプログラム学習といったコンピュータの操作が主体となっている。また、ハードウェア制御にはコンピュータの故障等が懸念されるため、Arduino等のAVRマイコンを利用している。そのため生徒にとってコンピュータはブラックボックス的な存在である。安価で頑強で楽しくプログラミングができるコンピュータを活用し、OSのインストール、ネットワークの設定、ハードウェア制御、Webアプリ制作等の実習を行うことは、生徒にコンピュータの仕組みや動作原理を効率的に理解させることができる。
 また、現在スマートフォン用のアプリ市場の急速な拡大により、日本ではIT技術者の不足が深刻な問題となっている。高校生の段階から、コンピュータの仕組みや動作原理を理解させることは、今後益々発展するIT技術にも対応できる技術者の育成へと繋がる。
 そこで、基本的なコンピュータ科学の教育を促進することを意図し、英国のラズベリーパイ財団によって開発された名刺サイズのパソコン、RaspberryPiを活用した実習教材を作成することにした。教材は生徒が興味関心を抱くよう、ハードウェア制御にスマートフォンやタブレットを用いたものにした。さらにプログラム演習を行うことによって、論理的思考や言語能力を育成させることとした。


2.研究内容
(1)RaspberryPi1)
 RaspberryPiは、手のひらにのる程の大きさですが、デスクトップ環境も用意されていてパソコン同様に動作します。「GPIO」という電子回路を制御できるインターフェースも搭載されており、RaspberryPi上で作成したプログラムで簡単に機器を制御できる。
 RaspberryPiは工作だけでなく、入門用パソコンや省電力サーバとしても活用可能です。さらにプログラミング学習用環境「Scratch」が用意されていて、プログラミング教育用パソコンとしても利用できる。本研究ではRaspberryPi(ModelB)を12台購入し初期設定(OSのインストール)、ネットワーク設定等を施し、さらに制御用基板の製作にも取り組んだ。
(2)OSのインストールとネットワーク設定
 OSはラズベリ-財団のWebサイトよりLinux系のRaspbianダウンロードしSDカードに保存し使用した。
RaspberryPiはSDカードがパソコンのハードディスクの役割を果たす。テキストエディタでファイル(interfaces)を変更することによりネットワークの設定ができる。ネットワーク設定後、WindowsパソコンからSSHを利用してRaspberryPiを動作させることにより、コンピュータの遠隔操作技術を学ぶことができる。
(3)制御基板の製作
 制御基板はNC工作機械を使い製作した。出力装置としてLEDを8個、入力装置として押しボタンスイッチを4個使用した。
(4)Scratchによるハードウェア制御実習
 Scratchはあらかじめ用意されたグラフィカルなアイテムをマウスで配置するだけでプログラムを作成できるプログラム言語です。
 ScratchはRaspberryPiに標準搭載されているのですぐに利用でき、さらにRaspberryPiのGPIOの操作もできるため、プログラミング初心者がハードウェアを制御するには最適なプログラム言語です。
 Scratchによるハードウェア制御実習では、2,3,4ピンを出力用でLEDと接続、25,8,7ピンを入力用で押しボタンスイッチと接続する。押しボタンの入力に反応してLEDを点灯するような制御プログラ
ムが作成できる。
(5)C言語によるハードウェア制御実習 3)
 GordonHenderson氏によって開発されたRaspberryPi用「GPIO」のライブラリを使うことによって、C言語で「GPIO」を制御することができる。
 Scratchと同じ動作をする制御プログラムをC言語で作成させる。
 ScratchとC言語を対比して制御プログラムを学習させることは、ハードウェア制御技術に関して生徒の興味関心を抱かす効果が期待できる。
(6)ネットワークを利用したハードウェア制御実習
 スマートフォンやタブレットから制御基板のLEDを点灯させるサンプルプログラムをJavaScriptで作成した。スマートフォン等のブラウザから、RaspberryPiのWebサーバにアクセス・ログインすることにより、RaspberryPiの「GPIO」に接続されたLEDを簡単に制御できる。
(7)Webカメラを利用した実習
 Webカメラを接続し、LEDの状態を確認しながら遠隔操作できるようなシステムを構築した。
(8)制御実習装置の製作
 Arduinoを用いて制御プログラムを学習する装置を製作した。入力スイッチ3種類(ボタン,トグル,フォトセン
サ)、出力装置として7SegメントLED、直流モータ、ステッピングモータをアセンブルした。この装置は制御実習だけでなく、ものづくり競技会(電子回路の部)への練習用としても使用できる。


3.まとめ
 教育用として開発されたRaspberryPiを利用し、OSのインストールからハードウェアの遠隔制御まで、情報技術について幅広く学べる教材を製作した。製作にあたり、プログラム初心者の制御実習への動機付けとしてScratchプログラムを使用した。プログラミングの作業は基本的に問題解決のプロセスである。プログラミングに興味を持ち、能動的に学習することによって、自然と問題解決能力が身に着く。工業技術者にとってプログラムスキルは語学力と同じように大切な技術だと思う。
 今回製作した教材はハードウェア技術、プログラム技術、電子回路技術など様々な工業技術の基礎を学ぶことができる。今回の教材を来年度から実習に取り入れ、生徒に工業技術の面白さを実習や体験を通して実感させ、学習意欲を喚起させることによって進路実現へ繋げていきたい。