2020/01/06 星期一 作者:Astilbe
問題:如何利用Stduino通過按鍵控制LED燈亮滅。
我們已經(jīng)學(xué)習(xí)過怎么點亮一顆LED燈,那么怎么用按鍵來控制它亮和滅呢? 簡化一下我們需要達到的目標: 即按鍵按下LED燈亮,再按一次,LED燈滅。 那么只要讓處理器知道按鍵狀態(tài),再調(diào)整LED燈的引腳輸出電平(LOW還是HIGH)即可。 話不多說: int Button = 9;//設(shè)置按鍵為數(shù)字引腳9 int LED =13;//設(shè)置LED燈為數(shù)字引腳13 int Button_State=0; void setup() { // put your setup code here, to run once: pinMode(Button,INPUT);//數(shù)字輸入初始化,不拉高,得加電阻 pinMode(LED,OUTPUT);//數(shù)字輸出初始化 }
void loop() { // put your main code here, to run repeatedly: Button_State = digitalRead(Button) ;//讀取當(dāng)前按鍵狀況 if(Button_State){ digitalWrite(LED,HIGH); }else{ digitalWrite(LED,LOW); } } 一般按鍵按下時,往往會出現(xiàn)所按的按鍵在閉合和斷開位置之間跳幾下,才穩(wěn)定在閉合狀態(tài)——這就是按鍵抖動。這可能會導(dǎo)致按下或松開時電路不正常工作。 據(jù)此,在按下按鍵時,延時10MS,就可消除抖動。抖動持續(xù)時間不一,一般不會大于10MS。在loop()中第一行加入 delay(10); 即可。
|