請問如何改善這數據不穩定的狀況?
本帖最後由 w72321 於 2018-2-17 19:33 編輯我想設計案一個按鈕產生數值
一個數值是1000(未按下)
一個數值是1500(按下)
可是Serial.println出來的數值 未按下的時候是一陣子1000一陣子1500
請問各位大神要如何敢善呢?
以下是語法
const int Buttonpin = 2;
int val;
void setup() {
Serial.begin(9600);
pinMode(Buttonpin, INPUT);//開關接腳
}
void loop() {
if (digitalRead(Buttonpin) == HIGH)// 如果沒有按下開關,不啟動
{
val = 1050;
Serial.println(val);
} else
{
val = 2300;
Serial.println(val);
}
delay(100);
}
以下的圖片是我甚麼都沒有按
按鈕沒有做動
可是卻出現1500~~~
反覆亂跑
但是按下按鈕~就是穩定的1500
要怎ㄇ解決呢??
本帖最後由 超新手 於 2018-2-21 19:19 編輯
改成pinMode(Buttonpin, INPUT_PULLUP);看看 本帖最後由 w72321 於 2018-2-17 20:21 編輯
挖~~穩定了~~
謝謝您~~
但我不是很懂其中原因~
可以幫小弟我解惑一下嗎?
按鈕設置一定要用 INPUT_PULLUP ?
想了解差異~~謝謝您 本帖最後由 超新手 於 2018-2-21 14:32 編輯
一般使用機械式的按鍵,
通常就要接1k以上的提升電阻到 5v,
否則就等於空接,訊號就會不穩(不確定)
不過這個 mcu 剛好支援內建提升電阻,
所以只要設定好即可, 不必再外接提升電阻
超新手 發表於 2018-2-17 20:25
一般使用機械式的按鍵,
通常就要接1k以上的提升電阻到 5v,
否則就等於空接,訊號就會不穩(不確定)
了解~~
謝謝大大的指導~~
感謝您~~
長知識了~
頁:
[1]