我沒試過,不過看你的程式 i 好像只有做累加,並沒有歸零的動作喔 這樣可能頂多只能把 LED 打開,之後應該就不會有反應了 雖然沒在期限內趕出來,但是還是要有研究精神! |
int ledPin = 13; int knockSensor = 0; int threshold = 200; int i=0; int sensorReading = 0; int ledState = LOW; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { sensorReading = analogRead(knockSensor); if (sensorReading>=threshold) { i=i+1; } if(i==2){ ledState = !ledState; digitalWrite(ledPin, ledState); Serial.println("Knock!"); Serial.println(sensorReading); } delay(100); } 利用i=i+1 算次數,先以兩次亮,兩次滅試試,但失敗...@^@ 今天11點前一定要弄出來,不然就沒救了@@ |
先貼你目前寫出來的程式碼,再說說你解題的想法/邏輯 (預期怎樣,結果怎樣...) |
弄了一整天還是弄不出來,誰能救救小弟...= ="' |
蜂鳴片有沒被敲下,你應該知道是哪一行在判斷的吧? 就是這行: if (sensorReading>=threshold) { 既然知道怎麼判斷蜂鳴片有沒被敲下,那就做個「敲擊次數的計數」,就可以解題了啊... Try it! 很多事情試過之後,才會發現其實沒那麼困難。 |
目前程式是 敲擊蜂鳴片 使LED燈 亮 與 熄滅 。 敲一下亮,一下熄滅。 改成多下亮,多下熄滅,如3下亮,2下熄滅。 |
「將亮燈與熄燈敲擊次數改變」是指什麼? |
小黑屋|手機版|Archiver|機器人論壇 from 2005.07
GMT+8, 2025-1-31 21:04 , Processed in 0.369701 second(s), 11 queries , Apc On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.