土曜日, 1月 09, 2016

Arduino: 赤外線で動きを感知するセンサー PIR HC-SR501 を使ってみる


赤外線で動きを感知するセンサー PIR というものがあります。手を振るとスイッチがはいるやつですね。赤外線の変化を察知して FET で増幅するという部品です。その信号を増幅する回路が Arduino モジュールとなっています。

これ HC-SR501 届いたのはいいんですがなかなか動いてくれない。動かない回路っていうのはなんかものすごくショックなものです。気落ちするというかトーンが下がるというか。

HC-SR501 ピン配置はカバーを外さないと見えません。

電源を通してアナログ出力を見てみると目の前で手を振ってみても値がぜんぜん変わらない。デジタル出力してみると HIGH となったまま、LEDがついたまま。

絶望の末しようがないのでネットをあたりました。フォーラムを見てみれば「これは動くはず」「難しくない」「壊れない」「丈夫」と書いてあったり(笑

これって安定するまで時間がかかるんですね。

つないでみて手を振って動かない、じゃあ回路を変えてみて手を振って動かない、なんてことを繰り返していくともう絶対動かない。安定化するまで数分待たねばなりません。


あとこれ可変抵抗がついていて、電圧が下がるまでの時間とか、感度とかいうのが調整できるわけでした。設定次第ですぐ ON となり電圧がなかなか下がらない。

このへんをクリアするときちんと動きました。アナログじゃなくてデジタル入力で組む必要があります。なかなかいいものです。手を振ると点灯してくれます。


あとあと考えてみると「動くはず」と信じてトライしたのがよかったわけですね。ネットでそう書いていなかったらあきらめてしまうところでした。

せっかく動いたので消すのが惜しくなりました。そこでチップを取り出してブレッドボード版 Arduino で動かしてみました。Arduino ならではの利点ですね。

この大きさだとこのあいだ見つけた百均のケースがぴったりです。


プラスチックケースは大きさを油性マーカーで印をつけて、ホットナイフを使うとスイスイと切れます。

電源ソケットをエポキシ樹脂で固めて、電源を供給してやると…



 動きました。うまく収まってます。手を振ると点灯してくれます。なかなかいいものです。





Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...