樹莓派與傳感器
  • 前言
  • 樹莓派基礎
  • 樹莓派與Arduino
  • 樹莓派與Microbit
  • 用Python點亮LED
  • 把玩三色LED燈與PWM呼吸燈
  • 蜂鳴器
  • 按鈕開關
  • 人體移動感應器(PIR)
  • 尋線、避障與測距
  • 樹莓派:類比轉數位處理
  • 溫溼度感測器DHT11
  • 簡易的心跳偵測模組零件
  • 聲音感測器
  • 與火災相關的警報零組件
  • DS18B20溫度感測器
  • TM1638七節LED顯示器
  • MAX7219與矩陣式LED
  • 液晶顯示LCD1602
  • Django與物聯網
  • 使用VS Code遠端開發Django
  • 樹莓派與自走車
    • 控制馬達正反轉基礎
      • 自走車方向控制
    • 遠端鍵盤控制自走車+WebCam
    • 使用網路與搖桿、手機控制
  • 樹莓派與紅外線遙控器
  • 遠端GPIO:pigpio + piscope
Powered by GitBook
On this page

Was this helpful?

與火災相關的警報零組件

Previous聲音感測器NextDS18B20溫度感測器

Last updated 6 years ago

Was this helpful?

這次一次介紹三種與溫度、火光相關的零組件,熱敏電阻與火燄偵測,熱敏電阻是透過熱的感應,而火燄偵測是感應火光產生的紅外線,各有其用處。另外從這次的介紹可以發現,相同的程式碼可以應用在許多相類似的地方,能深入了解與分辨類比、數位的輸入與輸出,就可以發展出許許多多的用法。

from gpiozero import MCP3008, LED, Buzzer, Button
from time import sleep


# 使用generator的用法
def convert_temp(gen):
    for value in gen:
        sleep(0.1)
        yield value


adc_sound = MCP3008(0)
led = LED(17)
buzzer = Buzzer(27)
button = Button(21)
# led.on()
# buzzer.on()
# 使用generator的用法
for temp in convert_temp(adc_sound.values):
    # data = temp * 1023
    # print('data: {:.1f}'.format(data))
    # 利用觸發設定值 threshold 觸發警報
    # if data < 510:
    #     led.on()
    #     buzzer.on()
    # else:
    #     led.off()
    #     buzzer.off()
    # 利用數位輸入Digital Out來判斷警報
    if not button.is_active:
        led.on()
        buzzer.on()
    else:
        led.off()
        buzzer.off()