Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2715|回復: 4
打印 上一主題 下一主題

請問如何改善這數據不穩定的狀況?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2018-2-17 19:29:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 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
要怎ㄇ解決呢??

00000.jpg (54.46 KB, 下載次數: 182)

00000.jpg
2#
發表於 2018-2-17 19:53:09 | 只看該作者
本帖最後由 超新手 於 2018-2-21 19:19 編輯

改成pinMode(Buttonpin, INPUT_PULLUP);看看
3#
 樓主| 發表於 2018-2-17 20:17:54 | 只看該作者
本帖最後由 w72321 於 2018-2-17 20:21 編輯

挖~~穩定了~~
謝謝您~~
但我不是很懂其中原因~

可以幫小弟我解惑一下嗎?
按鈕設置一定要用 INPUT_PULLUP ?

想了解差異~~謝謝您
4#
發表於 2018-2-17 20:25:56 | 只看該作者
本帖最後由 超新手 於 2018-2-21 14:32 編輯

一般使用機械式的按鍵,
通常就要接1k以上的提升電阻到 5v,
否則就等於空接,訊號就會不穩(不確定)
不過這個 mcu 剛好支援內建提升電阻,
所以只要設定好即可, 不必再外接提升電阻
5#
 樓主| 發表於 2018-3-2 14:24:53 | 只看該作者
超新手 發表於 2018-2-17 20:25
一般使用機械式的按鍵,
通常就要接1k以上的提升電阻到 5v,
否則就等於空接,訊號就會不穩(不確定)

了解~~
謝謝大大的指導~~
感謝您~~
長知識了~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-19 22:05 , Processed in 0.241014 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表