流水を利用したインタラクションの提案と実装
小谷野 さとみ1(指導教員：椎尾 一郎)

はじめに台所や浴室など，我々の日常生活において水を利用するシーンは多い．一方で，水で手が濡れている場合は行動が制限されることがある．例えば台所での洗い物等の水作業中に電化製品を操作したい場合，作業を中断し濡れた手を拭く必要がある．またそのような電化製品が離れた場所にあった場合は，手を拭いて操作しにいくのが煩わしいと感じることもある．そこで本
研究では，水作業中でも作業を中断することなく電化製品を操作できるシステムを提案，実装する．

2実装

2.1

水の電気的性質

図 1: 別環境における抵抗値の変化

水作業中でも手軽に電化製品の操作を行うために，
本研究では蛇口から流れる水をインタフェースとして利用する．操作方法として，水に手をかざし様々なジェスチャをすることで家電の操作を行う方法を考えた．
ジェスチャの検出方法として，水の静電容量，電気抵抗値という２つの電気的性質に着目した．測定の結果，静電容量はノイズなどの周囲の環境によって大きく左右されやすい一方で，電気抵抗値は比較的安定した値が得やすいことがわかった，図 1 は給湯室，研究室内のシンク，実験住宅内のシンクというそれぞれ環境の違う場所で，テスターのプローブをそれぞれ蛇口の口とそこから出る水に当て，水柱の長さに対する抵抗値を測った結果である．また図 2 は，実験住宅内のシンクにおいて，水の強さを強，中，弱の三段階に変え，それぞれの水柱の長さに対する抵抗値を測った結果である．これらの結果から，水の電気抵抗値は測定する場所や水の強さが変わっても，水柱の長さに比例して安定して変化することがわかった．よって本研究では，水の電気抵抗値の変化を利用し様々な操作を行うシステムを提案，実装することにした．

2.2

図 2: 水の強さにおける抵抗値の変化
答してほしいと考え，20 個の値を取得したら平均値を計算するように設定している．求められた平均値はシリアル通信で 100ms ごとに PC 上の Python プログラ
ムに送信される．Python プログラム上では受け取った値に応じて OSA1 を呼び出している．呼び出されたOSA はアプリケーションのプロセスに AppleEvent2 を送り自動操作を実現する．

システム概要2.3

蛇口から流れる水の電気抵抗値が水柱の長さに応じて変化することを利用し，図 3 のようなシンク周りのシステム構成を考えた．抵抗値を測定するための電極はそれぞれ蛇口の口とユーザが触れるためにシンクの縁に取り付けたパネルとなっている．パネルはポリプロピレン板に 7cm × 10cm のアルミニウム箔を貼ったものを試作した．ユーザがシンクに立ち，片方の手は流れている水にかざし，もう片方の手はパネルに触れることで，水，ユーザを経由した回路ができる．ユー
ザがかざした手を上下させることによって水柱の長さが変化し，それに応じて抵抗全体の抵抗値が変化する．
この抵抗値の検出にはマイクロコンピュータ Arduinoを用いた．図 4 に全体のシステム構成を示す．
Arduino はアナログピンを通じて 5ms ごとに抵抗値を測定する．ここでサンプリング周波数（200Hz）を電源周波数（50Hz）の偶数倍としたのは，ラインノイズを低減できると考えたからである．値を一定数取得したら平均値を出す．ここではシステムに 100ms で応操作例開発したプログラムは３種類のジェスチャを認識できる．以下に詳細を示す．

2.3.1

システム音量の変化

まずはじめにシステム音量を変化させる機能を実装
した．水に手をかざしていても電極に触れていない状
態は回路はつながっていないので，システムは動作しない，片方の手を電極に触れ，もう片方の手を水にかざすと回路がつながる，この時点での抵抗値を初期値とする．手を上に動かすと，この時取得できる値は初期値よりも低くなる．このとき PC のシステム音量が大きくなるように動作する．また同様に，手を下に動かした時の値は初期値よりも大きくなる．このときシ
1 Open Scripting Architecture：Mac OS 上でプロセス間通信を実現するための機構
2 Mac OS で採用されているプロセス間通信のプロトコル Apple
Event Interprocess Messaging Protocol（AEIMP）で送受信される高水準イベント

33

Tangible Sound[1] は，ユーザが出した水の量をセンサで測定し，音楽パラメータとして外部デバイスに入力している．本研究が水の電気的性質を利用しているのに対し，Tangible Sound は水の量を入力インタフェースとして実装している．水とのインタラクションを利用した音楽表現システムの提案 [2] は，水槽内での水面の変化を検出し，変化の大きさによって音に変化をつけたり映像を投影するシステムを実装している．本研究は１人のユーザを対象としたシステムに対し，この研究は複数のユーザ間でのコミュニケーション支援を目的としている．また Bathcratch[3] は，浴槽をこすることでスクラッチ音が鳴る仕組みを実現している．この研究では入力インタフェースとして浴槽のこすり音を利用している．また浴槽にとりつけたタッチセンサでコンテンツの切り替えを行えるようになっている．このような自然かつスムーズな機能の切り替え方法も，今後本研究を発展させていくにあたり参考にしたいと考えている．

図 3: 回路図4

ステム音量は小さくなる．水の強さが中程度のシンク
で約 0.1M Ωで音量が１段階ずつ変化するように設定したところ，５段階の音量変更が実現できた．
トラックの変更

次に iTunes 上でのトラックの変更を行う機能を実装した．これはユーザが水を切るように手を通過させると一瞬回路がつながることを利用している．ユーザの手が水に触れたとき，Python プログラム上で 100msごとにカウントを始める．ユーザの手が通過するとカウントをやめる．このカウント数があらかじめ決めた値以下だった場合，手が一瞬通過したと判断してトラックの変更を行う．例えばこの値を 10 と設定すると，手が水に触れている状態が 1 秒以下ならトラック変更を行う．1 秒以上手が水に触れていた場合は，カウント数は 10 を超えるのでトラック変更は起こらない．

2.3.3

まとめと今後の予定

水の電気抵抗値の変化を利用したインタフェースを提案し，Arduino，Python，OSA を用いて実装した．
また機能として，システム音量の変化，iTunes でのトラックの変更，再生と一時停止を実現させた．
今後はより機能を拡張し，自然かつスムーズな機能の切り替え方法の検討，水の強さなどの可変的な条件にも対応できるような抵抗値の検出方法の検討を課題として取り組んでいきたい．音量変化のように水柱の長さを利用して操作する場合，流す水の強さによって抵抗値の振れ幅が大きく変化するため，これに対処できるような基準値や閾値の設定方法を考えていきたい．
また機能を増やした際の複数機能の切り替え方法の検討も今後の課題として挙げられる．現在，蛇口やシンクにタッチセンサなどをつける方法を考えている．
また，今回実装した iTunes リモコン機能の他に，より生活に密着したその他の機能の案として，家電の電源の On，Off や，温度，火加減，明るさの調節なへの応用も可能である．また浴室や洗面所など，シンク以外の水場でも応用できるような機能も今後考えていきたい．また実用面だけでなく，楽器のようなエンタテイメント性を持った機能も検討したい．

図 4: システム構成

2.3.2

関連研究

参考文献

[1] 米澤 朋子，間瀬 健二．流体による音楽入力：水のセンシングを用いた楽器の検討．情報処理学会研究報告 99(106), pp1-6, 1999-12-11．

再生と一時停止同様に iTunes 上での再生と一時停止を行う機能を実装した．ユーザが水にかざしている手を同じ場所で一定時間留めると，音楽が再生していた場合は一時停止，一時停止していた場合は再生を行う．トラック変更と同様に手を入れた時に 100ms ごとにカウントを始め，一定カウント以上抵抗値の大きな変化がなければ再生もしくは一時停止を行う．例えばカウント数 30 以上と設定すると，3 秒間同じ場所で手を留めておけば再生もしくは一時停止を行うことができる．

[2] 趙 慧寧，木下 雄一朗．水とのインタラクションを利用した音楽表現システムの提案．第 71 回情報処理学会全国大会講演論文集, pp4.247-4.248,
2009-3-10．
[3] 平井 重行，榊原 吉伸．Bathcratch：浴槽こすり音を利用した日常生活環境組み込み型楽器．
情報処理学会研究報告 2011-MUS-90(2), pp1-6,
2011-5-6．

4