本帖最後由 vegewell 於 2014-6-25 02:44 編輯 回復 1# p12345q1 你需要個計數器, 程式大致如下,尚未確認, 請自行研究, #include <Timer.h> #include <IRremote.h> // 引用 IRRemote 函式庫 const int irReceiverPin = 2; // 紅外線接收器 OUTPUT 訊號接在 pin 2 const int ledPin = 13; // LED 接腳 int count = 0; IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 decode_results results; // 解碼結果將放在 decode_results 結構的 result 變數裏 Timer tcb; void writeToSerial(){ Serial.println(count); count = 0; } void setup() { pinMode(ledPin, OUTPUT); // 把 LED 接腳設置為輸出模式 Serial.begin(9600); // 開啟 Serial port, 通訊速率為 9600 bps irrecv.enableIRIn(); // 啟動紅外線解碼 tcb.every(60000, writeToSerial); // 每經過1 minute,就會呼叫writeToSerial } // 讓指示燈閃爍幾下 void blinkLED() { for (int i=1; i<= 4; i++) { digitalWrite(ledPin, HIGH); // 打開 LED delay(100); digitalWrite(ledPin, LOW); // 關掉 LED delay(100); } } void loop() { if (irrecv.decode(&results)) { // 解碼成功,收到一組紅外線訊號 // 印到 Serial port Serial.print("irCode: "); Serial.print(results.value, HEX); // 紅外線編碼 Serial.print(", bits: "); Serial.println(results.bits); // 紅外線編碼位元數 digitalWrite(ledPin, HIGH); // 打開 LED delay(100); digitalWrite(ledPin, LOW); // 關掉 LED delay(100); // 讓指示燈閃爍幾下 irrecv.resume(); // 繼續收下一組紅外線訊號 count++; } tcb.update(); } |
小黑屋|手機版|Archiver|機器人論壇 from 2005.07
GMT+8, 2025-1-31 15:59 , Processed in 0.165550 second(s), 11 queries , Apc On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.