Raspberry Pi Picoは小型で簡単に使えるのが特徴ですが、ちょっとしたセンサーを付けて活用するのもうってつけです。そこで今回は人感センサーを接続してみたいと思います。
今回購入したのは秋月電子通商で販売されている「焦電型赤外線センサーモジュール」です。焦電型というのは“焦電センサー”を利用しているという意味で、人が発している赤外線を感知すると信号がオンになります。外側の白いドームにはフレンネルレンズが取り付けられていて、赤外線を感知しやすいようにしています。
人感センサーとRaspberry Pi Picoは下のように接続します。電源とGNDのほかに1本の線をGPIOに接続するだけと、極めて簡単です。
プログラムは以下のようになります。プログラムの構成も簡単で、machineモジュールからPinを呼び出し、接続したピンのGPIO(ここでは16)を指定するだけです。また、動きを感じたらRaspberry Pi Picoの基板にあるLEDが点灯する仕組みにしています。
from machine import Pin import utime led = Pin(25, Pin.OUT) sensor = Pin(16, Pin.IN, Pin.PULL_DOWN) led.value(0) utime.sleep(1) while True: if sensor.value() == 0: print("Serching...") led.value(0) utime.sleep(1) else: print("Detected!") led.value(1) utime.sleep(1)
第44回で紹介したように、Windows版のThonnyをインストールしたら、上記のプログラムを記述して実行してみましょう。Thonnyの下部にあるシェル画面で、なにもしないと「Serching...」を表示していたところが、センサーの前で手を動かすと「Detected!」に変化します。
人感センサーで外部LEDをつける
ではこれを応用して、外部LEDの明かりをつけてみましょう。ただし同じようにGPIOへつなげるのでは面白くないので、同じく秋月電子通商で販売されている「ソリッド・ステート・リレーキット」で100V電源に接続されたLEDを点灯することにします。
ソリッド・ステート・リレーキットを組み立てたのち、タカチの「TW7-5-11」にヒューズホルダーの付いたACインレットとともに取り付けました。ソリッド・ステート・リレーキットからはコントロール用のDCコネクターがあり、これをRaspberry Pi Picoにつなげます。プログラムですが、ソリッド・ステート・リレーキットから伸ばしたケーブルを2番ピン(GPIO1)に取り付け、その番号を書き換えるだけでOKです。プログラムとしては以下のようになります。
from machine import Pin import utime #led = Pin(25, Pin.OUT) led = Pin(1, Pin.OUT) # ピン番号を変更 sensor = Pin(16, Pin.IN, Pin.PULL_DOWN) led.value(0) utime.sleep(1) while True: if sensor.value() == 0: print("Serching...") led.value(0) utime.sleep(1) else: print("Detected!") led.value(1) utime.sleep(1)
今回はAC電源だけでボックスを使いましたが、もう少し大きなもので作れば、全てを1つのケースに収められますので、廊下などに設置して、夜歩いたときにぶつからないようにするライトとして使えます。
Raspberry Pi Picoの電源を入れたときに自動的にプログラムを動かすためには、プログラム名を「main.py」とすればOKです。活用方法を考えてみてください。
関連記事
からの記事と詳細 ( 550円の「Raspberry Pi Pico」でIoT その3:人感センサーを接続する - ITmedia )
https://ift.tt/3BvjIuq
No comments:
Post a Comment