Arduino 記事本 04 : 使用內建提升電阻
網頁筆記本-004
Arduino內建的提升電阻
Arduino : 一般狀況下的程式設定
一般腳位在設定時通常是Key成這樣
void setup() {
pinMode(13, OUTPUT); // 設定成輸出腳位
pinMode(12, INPUT); // 設定成輸入腳位
}
void loop() {
bool PB1 = digitalRead(12);
digitalWrite(13, PB1);
}
實做後發現,輸入腳位會不定時並且不斷的收到訊號輸入。
硬體上的防彈跳電路
- 在按鈕按下前可持續收到HIGH訊號,按下按鈕後收到LOW訊號。
- 電阻為提升電阻功能,可保證按鈕未按下前收到HIGH訊號。
- 電容的作用可防止按下的瞬間產生數次的HIGH-LOW訊號來回切換(彈跳訊號)。
Adruino提供的內部提升電阻
程式如下void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop() {
int sensorVal = digitalRead(2);
if (sensorVal == HIGH) {
digitalWrite(13, LOW);
}
else {
digitalWrite(13, HIGH);
}
}
輸入腳位的設應改變成
pinMode(2, INPUT_PULLUP);
官網介紹
留言
張貼留言