Raspberry Pi Pico 應用 - 紅外線IR入侵警報器

 Pico也可以用來作為紅外線入侵警報器,所需要的材料如下:

人體紅外線感測器 x 1

無源蜂鳴器 x 1

330 歐姆電阻 x 1

紅色LED x 1

首先我們來介紹紅外線感測器,從下方的圖片可以看到它的背面,後方的三根接腳由右到左分別是+極(VCC)、訊號線以及-極(地線)。前方的兩個橘色旋鈕,左邊的用來調整感測的距離,用起子順時鐘轉到底是最長的感應距離,規格書寫的是7公尺,向左轉到底距離是3公尺,大家可以自行調整。

右邊的旋鈕用來調整感應到的間隔時間,規格說明是寫調整範圍5-18秒,向右轉到底是每次等待時間最長。


接下來要安裝元件,首先安裝紅外線感測器,用3根公對母接線,分別把+極接到Pico第40腳位(VBUS),中間的訊號線接到第21腳位(GP16),地線接到麵包板的-極行,-極行再接到Pico板上任一地線(GND)。

蜂鳴器的正極接到第19腳位(GP14),負極也接到麵包板的-極行。

LED的長腳(正極)先串聯330歐姆的電阻,再把電阻接到Pico板的第20腳位(GP15),LED的短腳一樣連到麵包板的-極行上。

接線完成圖如下:


接著可以用Thonny寫程式,本應用的程式參考自以下網站:

https://www.instructables.com/Raspberry-Pi-Pico-and-PIR-Sensor/

執行程式以後只要用手揮過或有人經過感測器正面,就可以看到LED快速閃爍以及聽到警報聲持續5秒鐘。


可複製的程式如下:

import machine

import utime


sensor_pir = machine.Pin(16, machine.Pin.IN)

led = machine.Pin(15, machine.Pin.OUT)

buzzer = machine.Pin(14, machine.Pin.OUT)


def pir_handler(pin):

  print("ALARM! Motion detected!")   #print the message.

  for i in range(50):

    led.toggle()

    for j in range(25):

      buzzer.toggle()

      utime.sleep_ms(3)



sensor_pir.irq(trigger = machine.Pin.IRQ_RISING, handler = pir_handler)


while True:

  led.toggle()   #改變LED開關狀態

  buzzer.off()   #關閉蜂鳴器

  utime.sleep(5) #延時5秒



留言