總網頁瀏覽量

2014年5月2日 星期五

樹莓派PIR 紅外線人體感測( Motion Detection) = PIR Sensor + MotoPiduino + Raspberry Pi

由於一般市售PIR紅外線大都是 3.3V輸出,也就是感測到移動物體時輸出 3.3V, 沒感測到時輸出 0V, 所以在MotoPiduino 板子上直接接到數位IO腳位無法判讀輸出結果,因為未達5V電壓, 此MotoPiduino是把5V電壓轉換成 3.3V樹莓派可以運作的電位. 如此我們可以利用類比IO腳位來判讀是否偵測到移動物體.

一. 使用材料:
       1. Raspberry Pi
       2. MotoPiduino
       3. PIR 紅外線感測器
       4. S4A IO Board (option)

二. 接線:
      1. 把 PIR 接到 MotoPiduino A0 位置
       或
      直接接到 S4A IO Board 的 A0 孔位

三. 接線方式如圖:








四. I2C Library 軟體下載點:
1. 下載 ADS1015 (I2C) Library : https://github.com/m3m0ry/Adafruit-Raspberry-Pi-Python-Code
2. 編寫Python PIR 程式 my_PIR_sensor.py 如下(請該檔案建立在adafruit_ADS1x15目錄下)

import time, signal, sys
from Adafruit_ADS1x15 import ADS1x15

def signal_handler(signal, frame):
        print 'You pressed Ctrl+C!'
        sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
#print 'Press Ctrl+C to exit'

ADS1015 = 0x00  # 12-bit ADC

adc = ADS1x15(ic=ADS1015)

while True:
  # Read channel 0 in single-ended mode, +/-4.096V, 250sps
  volts = adc.readADCSingleEnded(0, 4096, 250) / 1000

  print "Channel 0 = %.6f" % (volts)
  if(volts > 3.0):
    print "Detected something..."
  else:
    print "detected nothing..."
 
  time.sleep(1)


五. 執行:
 $ sudo python my_PIR_sensor.py




Informatiom:  http://www.motoduino.com