概要
人感センサ(じんかんセンサ)とは、人間の所在を検知するためのセンサです。 赤外線、超音波、可視光などが用いられます。業務用の場合、赤外線と超音波を組み合わせることもあります。一般家庭用の場合は赤外線のみであることが多いです。 普段の人感センサはBISS0001 (マイクロパワーPIRモーション検出IC)基づいて、センサからのアナログ信号をデジタル信号に変更したら、出力します。
このプロジェクトの原理について、人感センサは人間のムーブメントが感知したら、Raspberry PiのGPIO port(input)へ高電位信号を送信し、Raspberry PiのGPIO port(output)を使用してLEDを点灯します。人感センサは人間のムーブメントが感知しない時、Raspberry PiのGPIO port(input)へ低電位信号を送信し、Raspberry PiのGPIO port(output)を使用してLEDを消灯します。このプロジェクトでは、Python(パイソン)と言うプログラミング言語を使用いたします。どうぞお楽しみください~
実例図
必要なパーツ
配線図
人感センサの回路図
人感センサの概要図
Delay Time Adjust:遅延時間の調整
Sensitivity Adjust:感度の調整
3VDC regulator:3VDC レギュレータ
BISS0001 PIR Chip:BISS0001 IC
ソフトウエアのインストール
(1)Python 言語を使用のため、 ラズベリー・パイに GPIO ライブラリと Python ライブラリのインストールが必要です:
ラズベリー・パイのTerminal窓に、apt-getのソフトパッケージリストを更新して(インタネットとの接続が必要)、必要なライブラリをインストールしてくださいませ:
ラズベリー・パイのTerminal窓に、下記のコマンドを入力して、 “Enter”キーを押して下さい:
a) ソフトウエア リストの更新 コマンド:
sudo apt-get update
b) pythonのインストール :
sudo apt-get install python-dev
c)python-pipのインストール(python-pipはpython ソフトの管理用ソフトである):
sudo apt-get install python-pip
d)pipコマンドを使って、 rpi.gpio をインストールする:
sudo pip install rpi.gpio
e) 下記のコマンドを動作して、pythonをテストする:
sudo python
下記の写真のように表示したら、GPIOライブラリとPythonライブラリが正しくインストールしたと判明できます。
(2)プログラミング
ラズベリー・パイとHDMIモニターを接続して、プログラミング工作を開始します。 モニターがない場合、SSH(Puttyをお勧め)を使用してくださいませ。
pythonコードのコンパイルについて、AとBの2つの方法がありますので、お客様のご都合で選択してくださいませ:
A. led.pyファイルの新規作成と編集する:
1)ラズベリー・パイのTerminal窓に、下記のコマンドを入力して、 “Enter”キーを押して、パイ(例:/home/pi/)にled.pyファイルの新規作成:
sudo touch led.py
2)ラズベリー・パイのTerminal窓に、下記のコマンドを入力して、 “Enter”キーを押して、「led.py」ファイルに入ってください:
sudo nano led.py
3)下記のコードを「led.py」にコピーして、 キーボードの”Ctrl” + “X”押して、”Y”を入力して、ファイルを保存してくださいませ。
#turns on and off a light emitting diode(LED) depending on motion sensor import RPi.GPIO as GPIO #importing the RPi.GPIO module import time #importing the time module GPIO.cleanup() #to clean up at the end of your script led_pin = 37 #select the pin for the LED motion_pin = 35 #select the pin for the motion sensor def init(): GPIO.setmode(GPIO.BOARD) #to specify which pin numbering system GPIO.setwarnings(False) GPIO.setup(led_pin,GPIO.OUT) #declare the led_pin as an output GPIO.setup(motion_pin,GPIO.IN,pull_up_down=GPIO.PUD_UP) #declare the motion_pin as an input print("-----------------------------------------------------------------------") def main(): while True: value=GPIO.input(motion_pin) if value!=0: #to read the value of a GPIO pin GPIO.output(led_pin,GPIO.HIGH) #turn on led time.sleep(2) #delay 2ms print "LED on" #print information else: GPIO.output(led_pin,GPIO.LOW) #turn off led time.sleep(2) #delay 2ms print "LED off" #print information init() main() GPIO.cleanup()
4) ファイルを保存完了したら、キーボードの “Enter”ボダンを押して、nano エディターを終了します。
B. 直接に弊社編集済みのled.pyファイルをダウンロードする:
ラズベリー・パイのTerminal窓に、下記のコマンドを入力して、 “Enter”キーを押して、弊社のサーバーから直接にファイルをダウンロードできます:
wget http://osoyoo.com/driver/led.py
(3)led.pyファイルを動作して、実験の結果を確認する:
ラズベリー・パイのTerminal窓に、下記のコマンドを入力して、 “Enter”キーを押して、led.pyファイルを動作します:
sudo python ./led.py
, 手でセンサーを遮ると、LEDを点灯します:
DownLoad Url osoyoo.com