簡単なマンマシンインタフェースの実験 2

曲げセンサーを曲げた時の変化量を見る。

実際に、マイコンボードArduino Unoのアナログ入力に、指に装着した曲げセンサーを接続し、A/D変換された数値を確認します。

Arduino のスケッチ(プログラム)には、様々な「関数」や「ライブラリ(計算や処理内容があらかじめ組まれている命令)」が用意されています。

今回は、「サーボモーター制御」の「ライブラリ」と、
「ある数値の変化の範囲」を、「別の数値の変化範囲」に合わせるような「関数」(”map”)を利用して、
「曲げセンサーの角度変化(指の動き)」 を、「サーボモーターの動作角」
に反映させてみます。

map(value, fromLow, fromHigh, toLow, toHigh)
数値をある範囲から別の範囲に変換します。fromLowと同じ値を与えると、toLowが返り、fromHighと同じ値ならtoHighとなります。その中間の値は、2つの範囲の大きさの比に基づいて計算されます。

value: 変換したい数値
fromLow: 現在の範囲の下限
fromHigh: 現在の範囲の上限
toLow: 変換後の範囲の下限
toHigh: 変換後の範囲の上限

(Arduino 日本語リファレンスより)

 

指の動きに似せて、ストローとタコ糸で指の模型を作り、それを動かします。

【実験の流れ】

  • 曲げセンサーを0°〜180°までゆっくり曲げたときの、インピーダンスの変化範囲を把握する。
  • 曲げセンサーのインピーダンス変化範囲を、サーボモーターの動作角に合わせるように、スケッチを組む。
  • 簡単な「指模型」を作る。
  • 曲げセンサーを実際に指に装着し、指の動きに、サーボモーター・指模型が追従するか確認する。

以上が、今回の実験の流れです。

以下に、サーボモーターを使った指模型の写真、最終的な動作の確認をしました。

サーボモータとストローを使った指模型

 

今回は、指を曲げる力、関節ごとの角度、物に触れる触覚…等は再現していませんが、人の動きを機械に真似させる 一番簡単な実験を行いました。