Robofun 機器人論壇

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

壓按鈕累計數值

[複製鏈接]
跳轉到指定樓層
1#
發表於 2011-9-12 12:00:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下列程式有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;
}
2#
發表於 2011-9-12 14:38:56 | 只看該作者
彈跳的狀況沒排除...
3#
 樓主| 發表於 2011-9-12 15:09:21 | 只看該作者
回復 2# g921002

是啊~~彈跳的情況沒排除,
請問要怎麼改進?
4#
發表於 2011-9-13 17:23:22 | 只看該作者
回復  g921002

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



    加一段延時,到達穩態再計數,或者加一個史密特觸發器 74ls245來修整波形後再用邊緣觸發來計數~~
5#
 樓主| 發表於 2011-9-13 17:52:18 | 只看該作者
回復 4# marbol


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


谢谢楼主分享
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-21 17:49 , Processed in 0.131874 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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