Arduino初初教程4——信號輸入

以前的內容都在介紹I/O口的輸出功能,此次來介紹一下I/O口的信號輸入
獲取引腳是高電平仍是低電平的信息須要使用digitalRead函數。
函數定義以下:
int digitalRead(uint8_t pin)
函數的參數是所獲取信息的引腳號,返回值爲引腳的狀態。
這裏用一個實例說明一下函數的用法,實例的功能是在Arduino上外接一個按鍵,用以控制引腳13上的led的亮滅(Arduino板上13號引腳帶一個led)
按鍵佔用引腳2,鏈接效果如圖所示(爲保持按鍵沒有按下時引腳上保持高電平,因此在引腳上加了一個上拉電阻
程序以下(直接粘貼到Arduino開發環境下就可直接應用):
void setup()
{
//設置13號引腳爲輸出
    pinMode(13, OUTPUT);
    //設置2號引腳爲輸入
    pinMode(2, INPUT);
}
void loop()
{
//判斷按鍵是否按下
    if(LOW = = digitalRead(2))
{
//延時去抖
delay(50);
if(LOW = = digitalRead(2))
{
//點亮LED
digitalWrite(13,HIGH);
while(1)
{
//判斷是否鬆開按鍵
if(HIGH = = digitalRead(2))
{
//延時去抖
delay(50);
if(HIGH = = digitalRead(2))
break;
}
}
//熄滅LED
digitalWrite(13,LOW);
}
   }
}
------------------------------------------------------------------------------
程序中紫色的部分均調用digitalRead函數,在使用digitalRead函數前要將引腳置爲輸入——pinMode(2, INPUT);
另外在處理按鍵相應的程序時,爲防止按鍵抖動形成誤操做,通常都做一個延時去抖處理
[ 本帖最後由 晨光熹微 於 2011-6-30 00:19 編輯 ] git

附件 函數

20110630_a816db4369c2707a33b2WeXi4Ty8Smr7

相關文章
相關標籤/搜索