作者ss610349 (跨殺小)
看板ASM
標題[問題] 紅外線感應"記次"
時間Thu Mar 5 01:08:43 2015
各位大大
最近我用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://webptt.com/m.aspx?n=bbs/ASM/M.1425488927.A.2E7.html
1F:→ peng978: for不對 03/05 02:38
2F:→ grayStone: for只跑一圈? 03/06 02:29
3F:→ kikiqqp: for (int i=1; i<= 1; i++) 另外開發經驗上建議你使用微 03/07 00:48
4F:→ kikiqqp: 動開關來做觸發計次,除非有壽命上考量 03/07 00:49