情報処理学会 インタラクション 2014
IPSJ Interaction 2014

A1-0
2014/2/27

センサー入力と CG の連携を体験する演習教材
渡辺 柚佳子†1	  樫村 健人†1	  吉田 裕幸†1	 
矢野 雄也†1	  住谷 拓馬†1	  河合 広至†1 	  菅谷みどり†1	  インタラクションの技術を学ぶためには, 物理世界の情報とコンピュータ内部の情報の連携を実際に体験することが重要である. 従来のキーボードやマウスはハードウエアとソフトウエアとの接点が OSなどで抽象化されているため, 入力デバイスにより物理世界の情報を読み取っている感覚が十分に得られない問題がある. 本研究では, 入力のためのハードウエアをよりシンプルなマイコン上のセンサーとし, その出力先にコンピュータグラフィックス(CG)のビジュアルアートに対応づけることで, より直接的にデバイス入力と CG の連携を感じることができる教材を提供するものとした.

Provide A Experiment for Interaction of Sensor and CG
Ukako Watanabe†1 Kento Kashimura†1 Hiroyuki Yoshida†1Yuya Yano†1 Takuma Sumiya†1 Hiroshi Kawai†1 Midori Sugaya†1In order to learn the technology of interaction, it is possible to experience the actual coordination of
information inside the computer and information of the physical world is important. Since the point ofcontact with the hardware and software are abstracted in such OS, is not suppressed enough sense ofreading the information in the physical world by the input device mouse and traditional keyboard. In
this study, the cooperation and CG device input more directly, in that it assumes that the sensor of themicrocomputer on a more simple hardware for input, mapped to visual art computer graphics (CG) tothe destination it is assumed to provide materials that can feel.

1. は じ め に 	  	 	  ヒューマンコンピュータインタラクション(HCI)は, 人行った, その成果の概要について述べる.	  本節の構成は以下の通りである. 2 節で教材の構成, 3 節
で導入と製作の成果, 4 節にて今後の課題を示す.

を含む物理世界の情報と, コンピュータ内部の情報を連携させることで何らかの問題解決に役立てる事を目的としている[1]. こうしたインタラクションの技術を学ぶためには,

2. セ ン サ ー 入 力 と Processing の 連 携 教 材

物理世界の情報とコンピュータ内部の情報が互いにどのよ

2.1 目 的うに連携するか, 実際に体験することが重要である. 本来,	  本研究では, 直接的に物理世界の情報と, コンピュータキーボードやマウスは, 人間の意図により物理情報を読み内部の情報の連携技術を体験するための教材の提供を目的取り, ハードウエアからの割り込み処理, 画面上への描画とした. 目的の実現のため, Arduino のマイコン[2]上にセンや画像処理を前提としたデバイスであり, 我々は日常的にサーをのせ, CG と連携する基盤を準備した. 受講者は, マHCI 技術を体験しているといえる. しかし, これらのデバ

イコン上のアナログポートに接続したセンサーのアナログ

イスは, ハードウエアとソフトウエアとの接点が OS など情報を Processing [3] のビジュアルアートに連携させ, そで抽象化されているため, 入力デバイスにより物理世界のの変化を見ることにより, 直接的に物理世界の情報と, コ情報を読み取っている感覚が十分に得られず, HCI 技術のンピュータ内部の情報の連携を感じることができる. セン

理解が深まらない問題がある.

サーから読み込む入力値によって, 実際に画面上の動画が	  本研究では, 入力のためのハードウエアをよりシンプル変化することを体験することで, 物理世界の情報との連携なマイコン上のセンサーとし, その出力先にコンピュータを重点とした経験学習を提供するものとした.

グラフィックス(CG)に対応づけることで, より直接的にデバイス入力と CG の連携を感じることができる教材を提供

2.2 セ ン サ ー 入 力するものとした. 発表では, 実際に教材を利用した授業を	  我々はセンサーの動作基盤として, Arduino マイコンを用いた. Arduino は AD 変換ポートを持つワンボードマイコン†1 芝浦工業大学情報工学科
Shibaura Institute of Technology, Information Science and Engineering	 	  	 © 2014 Information Processing Society of Japanであり, 近年授業などでも様々な形で導入されている[4][5]. Arduino 上でセンサーを動作させ, その入力値を利用するにあたり, 可変抵抗を選択した. 可変抵抗器は, 回184

転角は移動量を電圧に変換する素子で, コントローラにおいては, アナログ値を入力する操作部分での出力状態の検出に利用される.つまみをまわすと, その状態により, 電圧値が変更するため, 人が直感的にデバイスを操作している感覚が得られる利点があると考えた. 図 1 に電子回路を示

void draw() { /* 連携 */int analog0 = arduino.analogRead(input0);…
float diameter = map(analog0, 0, 1024, 0, height);…
ellipse(width/2, height/2, diameter, diameter);}

図 3 アナログ値を読み, 動作するプログラム

す. 左側に Arduino のマイコンである Atmega168 への接続を示した.6 チャネルの A/D コンバータがあり, 10bit 利用（0-1024 の値）を利用する.

3. 演 習 で の 実 践
3.1 演 習 の 概 要 と 成 果
Arduino のマイコンボードボードを利用した演習は２コマ連続で３回行い, 4 回目に製作発表を行った. 1 回目に, マ	 イコンボードのデジタルポートを使ったセンサーとプログラミング, 2 回目はアナログポートを使用したプログラミング, 3 回目は Processing と物体移動のプログラミング(図3), センサーの連携という構成とした. 最後に 2 名 1 組のチームごとに作品を作成した. 図 4 に作品例を示す.
図 1	  可変抵抗センサーと接続のための電子回路

2.3 Processing と Arduino 上 の セ ン サ ー の 連 携	  Arduino は, ボード上に接続された可変抵抗のアナログ値を読み込み, パソコンのシリアルモニタで確認する手段を提供している[2]. こうしたアナログ入力値を Processing

図 4	  作品 [Bards Fly]	 などのプログラミングの開発基盤から読み込むためには,作品では, 可変抵抗の値を変化に合わせ, 中央の鳥以外のArduino 上に Processing との連携のためのファームウエア,周りの鳥の速度が変化し, あたかも中央の鳥が飛ぶ速度がまた, Processing 環境からは, Arduino を扱うためのライブ変化している体験を得られる. 柱を設ける事で, より前にラリがそれぞれ必要となる（図 1）. 我々はこれらの開発進んでいる感覚や, 集団から離れるとパックンにより食べ環境の上に, シリアルポートからの読み込み値をられる（右図）といったゲーム要素を盛り込む作品が提案

Processing の Arduino のインスタンスから扱うためのプロされた.

グラミング環境およびサンプルプログラムを整備し, 演習とともに提供するものとした(図 2).

3.2 受 講 者 の 感 想	  授業終了後に, 授業を受講した学生を対象にアンケートを行い, 可変抵抗の値を変更することで, 画面上の変数を通じて, 画面上の物体の位置や速度, 大きさを変化させた効果について回答してもらったところ, (1) アナログ値と対応づけた変数によって値が変化するのが楽しかった(2)
物理世界の情報の取り込みの勉強になった, (3)コンピュータ内の絵を動作させる勉強になった, という回答が多数を占めた. ことから, 教材および演習により, 目的をある程度実現できたといえる.

図 2 開発基盤と連携方法
import processing.serial.*; /* ライブラリインポート */import cc.arduino.*;Arduinoarduino; /* 値の設定 */int input0 = 0;
void setup() { /* 初期化 */size(640, 480);
arduino = new Arduino(this, Arduino.list()[9], 57600);
arduino.pinMode(input0, Arduino.INPUT);}© 2014 Information Processing Society of Japan

4. 課 題	  授業内で環境構築も受講者に行ってもらったため, 時間が不足するなどの問題があった. 限られた演習時間の中で,環境構築も含む技術的経験と, より創造的な製作への時間確保とどちらを優先すべきか議論は多い. 今後, こうした議論をふまえ, さらなる授業改善に取り組みたい.

185

参考文献1) 中野有紀子, 塚原渉, 中川正樹, 黒須正明, 欧米における HCI 教育の動向, 情報処理, 48 巻, 11 号, pp.1242 – 1250. 2007.
2) Arduino, http://arduino.cc/
3) Processing, http://processing.org/
4) Chan, MyaeThu,劉, 中村亮太,西田知博,松浦敏雄,計測と制御のしくみを学ぶための Arduino シミュレータとプログラミング学習
環境, 情報学 10(1), pp.1-10, 2013.
5) 森崎巧一, 比気千晶, 大海悠太, 橋口宏衛, 橋本誠, 上村眞, 田丸直幸, センサーと Processing を利用した情報デザイン教育のための教材の開発, 大妻女子大学紀要. 社会情報系, 社会情報学研
究 19, 93-100, 2010.

© 2014 Information Processing Society of Japan186