Arduino 學習筆記#5 上拉電阻

在#3專案(判斷pin7的電壓,來顯示pin13的LED暗亮),pin7的接腳在未接入GND或5V時,會受到附近電廠干擾,使得pin13的LED時暗時亮
圖片來源:軟爛番茄工作室
為了讓pin7的電壓狀態處於穩定的狀態,所以加上一個上拉電阻*,讓未接線時,處於高電位,因兩端無電位差,電流為0,故pin7(A)會處於高電位。

上拉電阻:如果外部組件未啟用,上拉電阻則「微弱地」將輸入電壓訊號「拉高」,通過這樣,上拉電阻可以使引腳即使在未連接外部組件的時候也能保持確定的邏輯電平。

圖片來源:軟爛番茄工作室

而因為Arduino有內建上拉電阻,所以只需要讓pin7變成INPUT狀態並輸出高電壓,即可啟動上拉電阻,但因Arduino沒有內建下拉電阻,所以只能自行接入
圖片來源:軟爛番茄工作室

基於專案#3的程式碼,只要加入pinMode(7, INPUT)和digitalWrite(7, HIGH)即可讓pin7的電壓不受附近電廠干擾
void setup(){
    pinMode(7, INPUT);
    digitalWrite(7, HIGH);
    pinMode(13, OUTPUT);
}
void loop(){
        if(digitalRead(7) == HIGH){
        digitalWrite(13, HIGH);
    }else{
        digitalWrite(13, LOW);
    }
}


學習來源:

備註:
一般較少用Arduino內建的上拉電阻,因歐姆值較高(約20K歐姆~50K歐姆)
電阻值越高,對抗雜訊干擾的能力越弱,對開關切換訊號的反應靈敏度也會降低;電阻值越低,代表從電源引入的電流越多。
所以通常會自行外接上拉電阻,普通的按鈕開關電路通常採用10K歐姆的外接上拉電阻,對於要求高反應速率的電子訊號切換場合,上拉電阻通常使用5K歐姆,甚至4.7K或1K歐姆。
擷取自:超圖解Arduino互動設計入門2(4-14)

Comments

Popular posts from this blog

Arduino 學習筆記#11 每按一次按鈕,切換一次燈的暗亮

Arduino 學習筆記#3 讀取接腳的狀態