- Arduino互動(dòng)設(shè)計(jì)
- 王克偉 馬麗麗等
- 444字
- 2020-04-03 12:49:22
挑戰(zhàn)自我:兩個(gè)按鈕分別控制9號(hào)燈亮度的增加和減小
前面通過(guò)上按鈕控制9號(hào)LED燈變亮,下面嘗試用下按鈕來(lái)控制LED燈變暗。
編程思路

兩個(gè)按鈕控制LED燈亮度程序流程圖
范例程序

兩個(gè)按鈕控制LED燈亮度程序
要做到兩個(gè)按鈕分別控制LED燈的亮度,首先要解決LED燈的亮度由什么控制,結(jié)合前面的學(xué)習(xí),可以設(shè)置一個(gè)變量,通過(guò)該變量給9號(hào)管腳賦值,實(shí)現(xiàn)對(duì)LED燈亮度的控制;其次通過(guò)上按鈕和下按鈕的“按下”或“松開(kāi)”來(lái)控制變量數(shù)值的變化,進(jìn)而實(shí)現(xiàn)增加和減小LED燈亮度的效果。
知識(shí)加油站
按鈕消抖
按鈕所用的開(kāi)關(guān)通常為機(jī)械彈性開(kāi)關(guān),當(dāng)機(jī)械觸點(diǎn)斷開(kāi)、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鈕在閉合時(shí)不會(huì)馬上接通,在斷開(kāi)時(shí)也不會(huì)馬上就斷開(kāi),而是有一定的延時(shí),這一時(shí)間一般為5~10毫秒。因此,在閉合或斷開(kāi)的瞬間均伴隨有一連串的抖動(dòng)。這種抖動(dòng)雖然在瞬間發(fā)生,但是Arduino運(yùn)行的速度飛快,按鈕抖動(dòng)會(huì)引起一次按鈕被誤讀多次,導(dǎo)致程序運(yùn)行出現(xiàn)異常。為消除這種現(xiàn)象所采取的措施,稱為“按鈕消抖”或者“按鍵消抖”。最簡(jiǎn)單的消抖方法就是加入適當(dāng)?shù)难訒r(shí),如100~300毫秒。

推薦閱讀
- Core Data應(yīng)用開(kāi)發(fā)實(shí)踐指南
- Vue.js 3.x+Element Plus前端開(kāi)發(fā)實(shí)戰(zhàn)
- 深入理解Net-Snmp
- 現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐
- App草圖+流程圖+交互原型設(shè)計(jì)教程
- 嵌入式系統(tǒng)開(kāi)發(fā)之道:菜鳥(niǎo)成長(zhǎng)日志與項(xiàng)目經(jīng)理的私房菜
- Android深度探索(卷1):HAL與驅(qū)動(dòng)開(kāi)發(fā)
- 學(xué)校沒(méi)教的軟件工程課
- 解決方案架構(gòu)師修煉之道(原書(shū)第2版)
- 服務(wù)端開(kāi)發(fā):技術(shù)、方法與實(shí)用解決方案
- 計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)集成技術(shù)基礎(chǔ)與解決方案
- HTML5游戲編程核心技術(shù)與實(shí)戰(zhàn)
- 工業(yè)軟件云戰(zhàn)略
- 云計(jì)算360度
- 軟件項(xiàng)目管理案例教程(第5版)