[問題] 紅外線感應"記次"

看板ASM (組合語言)作者 (跨殺小)時間10年前 (2015/03/05 01:08), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
各位大大 最近我用ARDUINO在做紅外線"計次" 要運用在螺桿實驗,統計滑塊來回運動的次數, 紅外線的部分已經OK了,就只差計次的部分。 我想要用SERIAL MONITOR計次 也就是把次數顯示在MONITOR上, 附上我的程式碼,我試過很多寫法都只能顯示1不然就是不受紅外線感測自己跑下去 const int irReceiver = 4; const int irLed = 3; const int ledPin = 13; // 紅外線指示燈 const unsigned int frequency = 38000; // 發射頻率(單位: Hz) void setup() { Serial.begin(9600); // 開啟 Serial port, 通訊速率為 9600 bps pinMode(irReceiver, INPUT); // 把 irReceiver 接腳設置為 INPUT pinMode(irLed, OUTPUT); // 把 irLed 接腳設置為 INPUT pinMode(ledPin, OUTPUT); // 把 ledPin 設置為 OUTPUT tone(irLed, frequency); } void blinkLED() { for (int i=1; i<= 1; i++) { digitalWrite(ledPin, HIGH); // 打開指示燈 delay(200); digitalWrite(ledPin, LOW); // 關掉指示燈 delay(200); Serial.println(i); } } void loop() { int ir_status = digitalRead(irReceiver); if (ir_status == 0) blinkLED(); } 如上 懇請大大解惑 >< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.118.5.151 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1425488927.A.2E7.html

03/05 02:38, , 1F
for不對
03/05 02:38, 1F

03/06 02:29, , 2F
for只跑一圈?
03/06 02:29, 2F

03/07 00:48, , 3F
for (int i=1; i<= 1; i++) 另外開發經驗上建議你使用微
03/07 00:48, 3F

03/07 00:49, , 4F
動開關來做觸發計次,除非有壽命上考量
03/07 00:49, 4F
文章代碼(AID): #1KzpmVBd (ASM)
文章代碼(AID): #1KzpmVBd (ASM)