赤外線距離センサユニットGP2Y0A21YKを試してみました。10cm〜80cmの距離を計測できるセンサです。
参考にしたページは、Arduinoで遊ぼう - 赤外線距離センサ(GP2Y0A21YK0F) - なんでも作っちゃう、かも。
シリアルモニタに、読み取り値と距離を表示させるスケッチが掲げられていますが、そのままじゃ面白くないので、距離を音に変換してみる事にしました。
手を近づける(押さえつける)と音が低く、遠ざけると音が高くなります。一定の距離以上に手を遠ざけると音が消えます。
うまく操作したら曲らしきものを奏でる事もできるのかもしれませんが、挑戦してみようという気力も根性もありません。
スケッチは下記の通り。参考にしたページのDistanceライブラリを使用しています。
//No.10 Distance, created 3 June 2010
/* circuit: 8-ohm speaker on digital pin 8
赤外線距離センサユニットGP2Y0A21YK on analog pin 4
put 0.1uF between Vcc & GND
put 0.1uF between Vo & GND */
/* employing distance library by arms22.
refer "http://arms22.blog91.fc2.com/blog-entry-240.html" */
#include <Distance.h>
int NOTE = 0;
Distance myDistance = Distance(4);
void setup() {
}
void loop() {
myDistance.available();
NOTE = map(myDistance.numberOfDistance(),50,800,50,4000);
if (myDistance.numberOfDistance() > 800) NOTE = 0;
tone(8, NOTE, 50);
delay(50);
}