arduino ide下用六腳無(wú)鎖按鍵控制ESP32上自帶LED的亮滅,并消抖
2023-04-16 19:25 作者:bili_110_120 | 我要投稿
學(xué)習(xí)中,僅記錄,多多指教。
參考資料:
?為什么消抖? (百度)
????在機(jī)械按鍵的觸點(diǎn)閉合和斷開時(shí),都會(huì)產(chǎn)生抖動(dòng),為了保證系統(tǒng)能正確識(shí)別按鍵的開關(guān),就必須對(duì)按鍵的抖動(dòng)進(jìn)行處理。
? ??單片機(jī)如果在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通斷狀態(tài),則可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,從而引起誤處理。因此,為了確保單片機(jī)對(duì)一次按鍵動(dòng)作只作一次響應(yīng),就必須考慮如何消除按鍵抖動(dòng)的影響。
????一般采用方式:
????1. 軟件消抖
???????? a.循環(huán)等待??-- 浪費(fèi)cpu
???????? b. 狀態(tài)機(jī)????-- 可接受
????????? c. 定時(shí)器 + 中斷 -- 占用定時(shí)器
? ? ?2. 硬件消抖 -- 加電容
環(huán)境:
?1. arduino ide 2.0.3
?2. esp32 開發(fā)板 帶WIFI、藍(lán)牙? - DOIT ESP32 DEVKIT
如下圖:

完整代碼