香港職業訓練局 電機工程系

Arduino 計時問題求救

7月8日 23:29
我手上有一個按鈕、一個led燈 想做一個功能是 把按鈕按住3秒才亮燈 曾經用過 if(按鈕=high){ i++; delay(1000); } 重複三次 也用過for (i=0;按鈕=high;I++) 和 while(按鈕=high){ I++; Delay (1000); If(i>3) } 但最後結果都是按一下,過三秒後led就亮了。 做不到要按著三秒才亮的功能。
0
回應 6
文章資訊
Logo
每月有 5 則貼文
共 6 則留言
國立虎尾科技大學
while(digitalRead(button) == HIGH){ i++; delay(100); if(i>=30){...}; }
原 PO - 香港職業訓練局 電機工程系
B1 不行,這樣他會按一下 三秒後就亮 沒有按著的功能
板主
設一個全域變數初 i 初始值是0 用迴圈設計按著時每秒i+1 if i>=3 燈泡亮
原 PO - 香港職業訓練局 電機工程系
cm2是我的按鈕(距離感應器)
我試過這樣但也出問題,也試過 int i=0; while(i<5){ if(cm2>10){ i++; } else{ i=0; } Serial.println(i); delay(500); } if(i==5){ Serial.println("OK"); delay(1000); } 這樣cm會卡死在開機的一刻。 另外把cm放出來, if(cm2>10){ while(i<5){ i++; }else{⋯⋯ 就會無論如何都會i = 5才停 B3
國立虎尾科技大學
你cm2的數值怎麼更新的?
原 PO - 香港職業訓練局 電機工程系
B5 感謝🙏🏼 我把更新數值再放在loop內就可以了