ITmedia NEWS > STUDIO >

550円の「Raspberry Pi Pico」でIoT その3:人感センサーを接続する名刺サイズの超小型PC「ラズパイ」で遊ぶ(第46回)

» 2021年07月25日 07時00分 公開
[岩泉茂ITmedia]

 Raspberry Pi Picoは小型で簡単に使えるのが特徴ですが、ちょっとしたセンサーを付けて活用するのもうってつけです。そこで今回は人感センサーを接続してみたいと思います。

 今回購入したのは秋月電子通商で販売されている「焦電型赤外線センサーモジュール」です。焦電型というのは“焦電センサー”を利用しているという意味で、人が発している赤外線を感知すると信号がオンになります。外側の白いドームにはフレンネルレンズが取り付けられていて、赤外線を感知しやすいようにしています。

人感センサー 人感センサー

 人感センサーとRaspberry Pi Picoは下のように接続します。電源とGNDのほかに1本の線をGPIOに接続するだけと、極めて簡単です。

人感センサー 人感センサーとRaspberry Pi Picoとの接続図

 プログラムは以下のようになります。プログラムの構成も簡単で、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!」に変化します。

人感センサー Raspberry Pi Pico基板上のLEDが光る

人感センサーで外部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です。活用方法を考えてみてください。

Copyright © ITmedia, Inc. All Rights Reserved.