1. 程式人生 > >30個Python物聯網小實驗5:光線感應燈

30個Python物聯網小實驗5:光線感應燈

  • 30個Python物聯網小實驗5:光線感應燈
    • 光線感測器
    • 光線變化執行函式
    • 光線狀態執行函式

30個Python物聯網小實驗5:光線感應燈

光線感測器

  • 可以檢測周圍環境的亮度;
  • 方向性較好,感知特定方向的亮度;
  • 靈敏度可調,用螺絲刀旋轉圖中藍色電位器即可;
  • 工作電壓:3.3v~5v
  • 數字開關輸出:0或1
  • 設有固定螺栓孔,方便安裝

光線變化執行函式

  • 接線方法:正極接樹莓派的5v正極,負極接樹莓派的GND地線,訊號輸出針腳接GPIO18號口。

  • 上程式碼:
from gpiozero import LightSensor

sensor = LightSensor(18)

while True:
    sensor.wait_for_light()
    print("It's dark! :)")
    sensor.wait_for_dark()
    print("It's light! :(")
  • 可以看到程式碼的核心就是wait_for_light()wait_for_dark()這兩個函式,手遮擋住光線的時候,顯示"It's dark! :)",手拿開之後,顯示"It's light! :("

光線狀態執行函式

  • 上程式碼:
from gpiozero import LightSensor, LED
from signal import pause

sensor = LightSensor(18)
led = LED(17)

sensor.when_dark = led.off
sensor.when_light = led.on

pause()
  • 程式碼的核心在於將sensor的狀態直接提供給led,這樣光線感測器檢測到亮光的時候led熄滅,檢測不到光線的時候,led點亮。

好了,本次介紹就到這裡,本文收錄在我的《手把手教你玩樹莓派》系列教程,立足於普及樹莓派搭配人工智慧、物聯網和機器人的玩法,想要跟我一起學習的童鞋可以加我微信/微博ID:asukafighting,也可以直接看教程:https://github.com/asukafighting/RaspberrypiHandbyH