|
大家好,我想用arduino做一個計時器,但是以下標紅字的兩個if函數完全沒有動作,請大神們幫我debug,謝謝
#include <SevenSegmentExtended.h>
#include <SevenSegmentTM1637.h>
#include <a21.hpp>
using namespace a21;
EC11 encoder;
const int A = 2; //旋轉編碼器腳位
const int B = 3;
const byte CLK = 4; //4bit七段
const byte DIO = 5;
SevenSegmentExtended display(CLK,DIO);
const int swpin = 8;
byte relay = 7;
void setup() {
pinMode(A, INPUT_PULLUP);
pinMode(B, INPUT_PULLUP);
pinMode(swpin, INPUT_PULLUP);
pinMode(relay, OUTPUT);
display.begin();
display.setBacklight(60); //亮度
display.printNumber(300);
delay(1000);
}
static int value = 300;
void loop() {
EC11Event e;
if (encoder.read(&e)) {
if (e.type == EC11Event::StepCW) {
value += e.count;
} else {
value -= e.count;
}
display.printNumber(value);
}
if(swpin==LOW){ //按下按鈕開始倒數
delay(100);
digitalWrite(relay, HIGH);
timer();
digitalWrite(relay,LOW);
}
if(value==0 && swpin==LOW){ //重設時間
delay(100);
value=300;
}
for (int i = 0; i < 200; i++) {
encoder.checkPins(digitalRead(A), digitalRead(B));
delay(1);
}
}
void timer(){ //一秒減1,顯示在七段上
for(value ; value>0 ; value--){
display.printNumber(value);
delay(1000);
}
}
|
|