\documentclass[a4paper]{jarticle}
\usepackage{tani_resume}
\usepackage{epstopdf}

\usepackage{graphicx}
\usepackage{ascmac}
\alignbeforeskip -5mm
\alignafterskip -5mm
\eqnarraybeforeskip -5mm
\eqnarrayafterskip -5mm

\jptitle{Arduinoをドリトルから制御する教材の試行}
\etitle{}
\jpauthor{鈴木 裕貴}
\eauthor{Yuki Suzuki}
\course{谷聖一研究室}
\year{26}

\abstract{
本演習では児童向けプログラミング教育の教材試行を目的に，Raspberry PiやArduinoなどのデバイスを用いたプログラミング教材を試行した．Raspberry Piを用いた教材試行として，墨田区内の小学校にて，ScratchでLEDを制御するプログラミング導入教育を試行した．Arduinoを用いた教材試行として，ドリトルから外部機器を制御する教材を試行した．
}
%\compheading
\begin{document}
\maketitle
\begin{multicols}{2}
\setcounter{page}{23}

\section{はじめに}
現在，日本の初等教育段階の正課において，情報科学教育は実施されていない．プログラミング教育を含む情報科学の原理・理解を促す教育は，放課後学習や課外授業などに留まっているのが現状である(\cite{siryo1})．こういった日本の状況を踏まえ，初等教育段階の児童にとってプログラミングを学びやすい教材を見つけ，その教材を試行することを目的に本演習を行った．本演習では，金子と共同でRaspberry PiというARMコンピュータを用いた教案開発を行い，墨田区内の小学校で実践をした (\cite{kaneko})．また，Arduinoでドリトルで外部機器の制御を行う教材を試行した．本稿では後者を報告する．

第2節ではArduinoとドリトルについて紹介をし，第3節でそれらを用いて外部機器の制御を行った教材について紹介する．
\section{Arduinoとドリトル}
\subsection{Arduinoとは}
Arduino（アルディーノ）はAVIマイクロコントローラーで、I/O(入出力)ポートを備えた基板と開発システムから構成されるオープンソースハードウエアの一つである．オープンソースハードウエアなので回路からソフトウエアの全てが公開されており．もともと，回路やプログラミングに詳しくなくても簡単に早く電子回路を使った作品などが作れるように，という目的のもとでイタリアで開発された．（\cite{Arduino1}）そのため，プログラミングや回路についての知識を持っていない小学生や中学生がこれらを学習するうえで大変有用性が高いものであると考えられる．それ以外にもアーティストやデザイナー，ホビイスト，またはインタラクティブなものを作ろうと考えている人も対象とされている．Arduinoはさまざまなセンサーから信号を受け取り，周囲の環境を感知できる．また，逆にLED発光ダイオード(以下LED)やモーターなどのアクチュエータを使って，周囲の環境に働きかけることも出来る．基板に使用されているアイクロコントローラには，Arduinoのプログラム言語とArduino統合開発環境を使ってプログラムする．
Raspberry Piにおいて懸念されたOSをインストールしたり事前に環境を整備する手間も，Arduinoであれば，LEDやデバイスに加え，数行のコードでLEDを点灯させることができる．さらに，Arduinoは低価格で手に入れることもできる．一般の開発用のボードでは50ドルから100ドルなどすこし高価格である中，Arduinoは20ドルで手に入れることができる．こういった点も，学校だけでなく家庭内でも，子どもたちのプログラミングの学習にも用いやすいと考えられる．実際に国内の学校でも，技術などにおいてArduinoを用いて授業を行っているところもある。ここで，私が本演習でArduinoを選ぶに至ったその特徴を紹介したい．
\begin{description}
 \item[シングルボードマイクロコントローラ]\mbox{}\\ 
	    コントローラであるため，LEDやモーターなどの外部機器を制御することを得意とする．
	    こういった電子工作をプログラミングを通して制御することで抵抗なくプログラミング導入教育を行うことができると考えられる．
 \item[他のコンピュータによる制御]\mbox{}\\
	    Arduinoは他のコンピュータからの制御を行う必要がある．しかしながら他のコンピュータから統合開発環境であるArduino IDE(図1.2)からさえ制御出来ればLEDを点灯させることもできるし，ミューロボなども制御することができる．実際に授業内で用いる場合，学校内のパソコン室などのコンピュータを用いれば速戦的に授業へ導入することができるし，事前にドリトルをコンピュータにインストールしておけばドリトル上で外部機器を制御することができる．
 \item[高いリアルタイム性]\mbox{}\\
	    ArduinoはOSを搭載せず，またそれによるタスク制御を行わないためリアルタイム性を確保しやすい．
 \item[シンプルなタスクに適している]\mbox{}\\ 
	    Arduinoは特定のポートへの信号送信などの最小限のシンプルなタスクに適している．そのためLED制御などを通してプログラミング学習ができると考えた．
\end{description}
\begin{center}
	\includegraphics[bb= 0 0 569 231,width=8cm]{./img/screen3.png}\\
	\figurename{1.1 Arduino 基本スペック}
\end{center}
\begin{center}
	\includegraphics[bb= 0 0 504 577,width=4cm]{./img/screen4.png}\\
	\figurename{1.2 Arduino画面}
\end{center}

\subsection{Dolittleとは}
ドリトルとは教育用に設計されたプログラミング言語の一つで現在の大阪電気通信大学教授の兼宗進，筑波大学教授の久野靖らにより開発された.ドリトルの処理系はJavaにより記述されており，Javaが動くあらゆる環境で動作することができる．（\cite{dolittle1}）名称の由来は「Do Little(ドリトル)」であり、「少ない作業でプログラミングが出来る」というものである．\\概要でも前述した通り，情報モラルに加えIT教育の必要性が高まっている中で未だIT教育を実際に行っている学校も少ないのが現実である．その背景として、プログラミングの知識を有した教員の確保や授業時間の確保、各教員による教材開発など、多くの課題がある。
\

当研究では，こういった現在の学校におけるプログラミング学習に関する教材開発の様々な課題を鑑み，今後より一層IT教育が各学校で効果的に，また発達段階に応じて行えるよう，ドリトルを用いた教材の試行を行った．\\　はじめこの研究を始める際、Scratchを用いたRaspberryPi教材開発を行った．Scratchとは正しい構文を覚えることなく，自らでコンディション(パラメータ付き)や結果(アクション)のブロックをドラック・アンド・ドロップするだけでアニメーションや簡単なゲームを遊び心かつプログラム的に製作することができるプログラミング学習環境である．当初、Scratchはブロックを自ら選んで繋げるだけで結果が得られるため，ブロックの組み合わせを学習者が試行錯誤することで、視覚的にそれを理解できると予想していた．このことは同じ教職班である金子の報告書で参照いただきたい．その一方で私は，Arduinoを用いてドリトルでLEDの制御を行い教材としての試行を行った．
\begin{center}
	\includegraphics[bb= 0 0 902 692,width=6cm]{./img/screen1.png}\\
	\figurename{1.3 ドリトル編集画面}
\end{center}
\begin{center}
	\includegraphics[bb= 0 0 902 692,width=6cm]{./img/screen2.png}\\
	\figurename{1.4 ドリトル実行画面}
\end{center}
またキャラクターをボタンによって動かし，花を取るようなゲームも簡単に作ることができる．今回はドリトルのウェブページの授業用資料を参照してみた．(\cite{dolittle2})
\begin{center}
	\includegraphics[bb= 0 0 786 553,width=6cm]{./img/screen5.png}\\
\end{center}
\begin{center}
	\includegraphics[bb= 0 0 790 554,width=6cm]{./img/screen6.png}\\
	\figurename{1.5 ドリトル実行画面}
\end{center}
\section{ドリトルによるArduinoの制御}
本演習では，ドリトルの最も大きな特徴である日本語コードによってドリトルを制御し，LED を点灯させてみた．ドリトルは日本語コードであるため英語を学習していない児童や，またそれを苦手とする生徒でも抵抗なくオブジェクトを動かしたり，電子工作を通してプログラミングに親しみを持つことができる．また今回はさドリトル上でLEDを点灯させるだけでなく，その制御を利用してドリトル上の簡単なゲームとLEDを連動させる教材を試行してみた．そちらも合わせて紹介したいと思う．ここではドリトル上でArduinoを制御するため，ArduinoとLEDをジャンパー線とブレッドボードと抵抗器を用いて接続した．下記にその回路図(図2.1)を示した．\\
　また第２節でも述べた，花を取るゲームにLED点灯を組み合わせてみた(図2.2)．タートルオブジェクトが花を掴みとったらLEDが点灯するというゲームである．実際に児童生徒が授業内で作成できるコードでの実践を行った．
\begin{center}
	\includegraphics[bb= 0 0 170 263,width=3cm]{./img/screen7.png}\\
	\figurename{2.1 LED点灯回路図}
\end{center}
\begin{center}
	\includegraphics[bb= 0 0 640 345,width=7cm]{./img/screen8.png}\\
	\figurename{2.2 LED点灯プログラム}
\end{center}
\section{まとめ}
墨田区内の小学校ではScratchのLED制御を通して，児童はScratchのブロックなどを組み合わせ直感的にキャラクターの制御を理解することができ，おもいおもいの動きをブロックの組み合わせにより作り上げていた．このように，Scratchなどのビジュアルプログラミング言語は，コードの直感的な理解を促すプログラミング教育には十分成果を得ることができた．\\
　実際にドリトルを非正課の現場で実践をして，児童生徒の反応を見ることができなかったので今後の課題である．また，ScratchなどもArduinoでの実践を試行することができなかったのでこちらも今後の課題である．
\end{multicols}
\begin{thebibliography}{5}
\bibitem{siryo1} 原田康徳・勝沼 奈緒実・久野 靖，公立小学校の課外活動における非専門家によるプログラミング教育，情報処理学会論文誌 Vol.55 No.8 1765-1777(2014)
\bibitem{Arduino1}Arduino．http://www.arduino.cc/ ，(参照2015-01-15)
\bibitem{dolittle1}プログラミング言語「ドリトル」．http://dolittle.eplang.jp/ ，(参照2015-01-15)
\bibitem{dolittle2}プログラミング言語「ドリトル」授業用資料．http://dolittle.eplang.jp/index.php?授業用資料，(参照2015-01-15)

\bibitem{kaneko} 金子拓未，Raspberry Pi を用いた小学生向けプログラミング導入教案の実践報告．http://www.tani.cs.chs.nihon-u.ac.jp/g-2015/rp/rp\_resume.pdf (参照 2015-04-01)

\end{thebibliography}



\end{document}
