主題
以 ESP32 設計LED小夜燈,使用光敏電阻,感測現場亮度數值。依據亮度明暗,開啟不同數量的LED作為補光。
當亮度數值 >= 2000 ,亮3個燈。
當亮度數值 >= 1000 ,亮2個燈。
當亮度數值 >= 500 ,亮1個燈。
當亮度數值 < 500 ,3個燈皆不亮。
感測器介紹
光敏電阻.類比感測,用於光線亮度檢測,DO數位開關量輸出(0和1)和AO類比電壓輸出。以AO的輸出值來說,0代表亮度最大,4095代表亮度最小。
接線方式
光敏電阻正面
VCC:接電源正極(5V)、GND:接電源負極、AO:類比輸出、DO:數位輸出。
VCC 接開發板的(V),GND 接開發板的(G),AO 接開發板的(S),DO不用接開發板。
光敏電阻接 PIN 36 即SVP(可類別輸入,且僅當輸入),不要接無法類比輸入的腳。使用三條杜邦線 連到 開發板的左邊的 S-V-G。
3個 led 燈分別接到開發板右邊的 PIN15、PIN2、PIN0。
程式
程式說明
序列埠 I/O,拿出「序列埠印出(換行)」block。
「如果」原本祇有1個條件,按 「*」,可以增加條件,移進來是增加,移出去是減少。再按一次「*」關掉小視窗。
類比I/O,取出 「類比讀取」此block,PIN再改成為36。
數位I/O,拿出「數位寫入 PIN 狀態」此 block。
PIN 改成 15、2、0 ,狀態 高電位表示 燈亮,低電位表示 燈暗。
時間,拿出「延遲毫秒 」此 block。1000毫秒表示1秒。
執行結果
按 「Putty 序列埠監看視窗」鈕,再按 「開啟PUTTY」鈕,就看到結果了!
亮度很亮,3個led 燈皆不亮。
亮度普通,2個led 燈亮。
沒有亮度,3個led 燈亮。