赤外線・おばけ探知機

第9回 IoT×プログラミング教育

成り行きで赤外線センサーを使った、おばけ探知機を作ることになりました。

トイレットペーパーの芯で探知機

次男(4歳)がトイレットペーパーの芯をガムテープでつなぎ合わせ、天井に向けていました。

何をしているか尋ねると、「点検してる」と教えてくれました。

きっと、保育園で火災報知機の点検する場面を見たのでしょう。

せっかくなので、この探知機を機械仕掛けにしてみます。

赤外線センサーって何?

探知機に赤外線距離センサーを付けることを提案すると、長男(6歳)から聞かれます。

長男「赤外線って何?」

お父さん「赤外線は・・・赤の外の光だ!」

長男「・・・」

お父さん「人間に見えない光をビー!って出して、跳ね返った光を受け取って距離を測るんだよ。」

長男は理解して、この赤外線センサーが気にいたようです。

後日、お母さんに赤外線センサーの仕組みを熱心に説明していました。

赤外線で距離計測は単純じゃない

今回使うのは、Arduino拡張キットに付属していた、シャープの赤外線距離センサー「GP2Y0A21YK0F」です。

測距範囲が10~80cm。

近すぎると測定できないようですし、受け取る値(電圧)は、距離に対して直線のグラフになっていません。

秋月電子通商Webサイト 商品ページのPDFより引用

距離を正確に測りたいわけじゃないし、まあ気にしなくていいでしょう。

赤外線センサーを取り付けよう

回路を作ります。

光センサーを使った時と、基本的に変わっていないので簡単です。

一点だけ注意が必要なのは、赤外線「GP2Y0A21YK0F」の仕様。

黒コードがVcc、赤コードがGNDという、電子工作の常識?を打ち破っています。

それを知らずに、無駄にハマりました・・・。

赤外線センサーの値を取得しよう

プログラムは光センサーと同じものを、ベースに使えます。

#define PIN 10
int val = 0;

void setup(){ 
 pinMode(PIN, OUTPUT);
 Serial.begin(9600);
}

void loop() {
 val=analogRead(0);
 Serial.println(val); //赤外線距離センサーの値書き出し
 delay(100);
}

0.1秒ごとに赤外線距離センサーの数字が、シリアルモニタに表示されます。

センサーにものを近づけたりして試しましょう。

100から750の間くらいで数字が変わりました。

近いほど早く大きな音で

探知機っぽくしたいので、ものが近いほど音の間隔が短く、大きな音が鳴るようにします。

LEDも同様に、近いほど早く点滅し、光が強くします。

analogWrite()が最大255だったので、最も近いと感知している750という入力をを250くらいで出力すれば良いはず。ざっくり3で割ります。

コードは、おおざっぱに下記のようになりました。

#define PIN 10
int val = 0;

void setup(){ 
 pinMode(PIN, OUTPUT);
 Serial.begin(9600);
}

void loop() {
 val=analogRead(0);
 Serial.println(val);
 if(val > 200){ // 200より大きいとき
  analogWrite(PIN,(val-200)/3); // 音を鳴らし、点灯
  delay(300-val/3); // 距離が近いほど待ち時間が短い
  analogWrite(PIN,0); // 消音、消灯
  delay(300-val/3); // 距離が近いほど待ち時間が短い
 }else{
  analogWrite(PIN,0); // 距離が遠いとき消音、消灯
 }
 delay(100);
}

マスキングテープで取り付け

最後に組み立てです。

3Mのマスキングテープで、Arduino互換機とブレッドボードをぐるぐる巻きにしましょう。

美的センスの欠けらもない取り付けですが・・・

マスキングテープなら、べた付かずに後ではがせるので楽です。

 

先端のトイレットペーパーの芯には、距離センサーを突っ込みます。

うまい具合に固定されます。

芯の少し奥に設置することで、赤外線距離センサーで感知できない至近距離の間合いに入らせないことができます。

おばけ探知機

完成した赤外線センサー探知機で遊びましょう!

子供に渡すと、人に向けて遊ぶので、「おばけ探知機」ということにしました。

人間・・・赤外線が反射して音が鳴る
おばけ・・・赤外線が通り抜けて音が鳴らない

電子工作っぽくなってきました。

次回はさらに電子工作の王道、赤外線センサーで障害物を避ける車を作ります!

モーターの出番です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)