Robofun 機器人論壇

標題: 壓按鈕累計數值 [打印本頁]

作者: pizg    時間: 2011-9-12 12:00
標題: 壓按鈕累計數值
下列程式有bug, 壓一次按鈕數值會加很多, 請問要如何才能加1累計??

//2011-09-12 bt PizG  1位數字顯示器,壓一次按鈕數字累計加1
int ButtonPin = 12;
int ButtonNdx = 0;
void setup() {
  Serial.begin(9600);
  pinMode(ButtonPin, INPUT);
}  
void loop() {
  int reading = digitalRead(ButtonPin);
  if  ((reading == HIGH) && (lastButtonState == LOW) ) {
    ButtonNdx++;
    if (ButtonNdx > 9) ButtonNdx = 0;
    Serial.println(ButtonNdx);
  }  
  lastButtonState = reading;
}
作者: g921002    時間: 2011-9-12 14:38
彈跳的狀況沒排除...
作者: pizg    時間: 2011-9-12 15:09
回復 2# g921002

是啊~~彈跳的情況沒排除,
請問要怎麼改進?
作者: marbol    時間: 2011-9-13 17:23
回復  g921002

是啊~~彈跳的情況沒排除,
請問要怎麼改進?
pizg 發表於 2011-9-12 15:09



    加一段延時,到達穩態再計數,或者加一個史密特觸發器 74ls245來修整波形後再用邊緣觸發來計數~~
作者: pizg    時間: 2011-9-13 17:52
回復 4# marbol


非常感謝您的回覆.
因為我是Arduino菜鳥, 而且所學也與電子無關,
您的回覆對我來說太深奧,
可否請您直接幫我改一下程式?
作者: cc1357    時間: 2022-3-12 22:09


谢谢楼主分享




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2