ESP32學習記錄010-5~按鈕按一下後,切換LED燈常暗或常亮

如果要一直按著按鈕,能會讓 LED燈發亮的話,好像有點傻。實務上應該也不會這樣做。

ESP32學習記錄010-5~按鈕按一下後,切換LED燈常暗或常亮。


按一下按鈕之後,就會讓 LED燈保持常亮。
再按一下按鈕之後,就讓 LED燈保持常暗。

這次的問題點出在,如果按鈕一直按著的話,LED燈就會閃個不停。
這是下一篇要處理的問題。


接線的圖跟前幾個是相同的,請參照著看。


程式碼的地方做了一點小變數。
首先是在一開始第 1行的地方,加入了 boolean power_on = false;
宣告一個叫 power_on的變數,這個資料的類型是 boolean,也就是說,這個變數的值只能是 true(1)或是 false(0)這兩種

因為第 11行開始的動作會重複無限次,所以在程式裡頭用 power_on的值來做判斷。
先判斷 power_on的值如果是 true的話,則用 digitalWrite(13,HIGH)的指令點亮 LED燈。

也就是說 power_on的值不改變的話,就會一直做 digitalWrite(13,HIGH)這個動作。

那麼 power_on的值再什麼情況下會被改變。
在按鈕按下的時候會被改變,我們會用 digitalRead(18)的指令,不斷去讀接腳 18的值,當按鈕被按下的時候,被讀取的值會是 HIGH,所以我們就這個值來做判斷。
當按鈕被按下的時候,就把 power_on的值,設定為 fasle。

第 18行 else的作法也是一樣的意思。

這次 wokwi的連結如下。
ESP32學習記錄010-5~按鈕按一下後,切換LED燈常暗或常亮
https://wokwi.com/projects/335518307208659538

發表迴響