第一次發帖,不知道該怎麼說,我接觸arduino才幾個月還不識很熟,所以有個問題想要大家幫忙!!
這是我做的震動感應的小玩具,一開始還沒給判斷式,所以序列埠監控視窗有顯示次數
然後想加個3色LED燈來表示震動了幾下,所以我就加了幾行程式
int shockVal = HIGH;
boolean bAlarm = false;
unsigned long lastShockTime;
int shockAlarmTime = 250;
int i=0;
void setup ()
{
Serial.begin(9600);
pinMode (shockPin, INPUT) ;
pinMode (1, OUTPUT) ; //GLED
pinMode (3, OUTPUT) ; //BLED
pinMode (5, OUTPUT) ; //RLED
}
void loop ()
{
shockVal = digitalRead (shockPin) ;
if (shockVal == LOW)
{
lastShockTime = millis();
if (!bAlarm){
bAlarm = true;
if(bAlarm = true){
i=i+1;
Serial.println(i);
if (i<=10){ //GLED
digitalWrite(1, HIGH);
digitalWrite(3, LOW);
digitalWrite(5, LOW);
}
else if(i>10 && i<20){ //BLED
digitalWrite(1, LOW);
digitalWrite(3, HIGH);
digitalWrite(5, LOW);
}
else{ //RLED
digitalWrite(1, LOW);
digitalWrite(3, LOW);
digitalWrite(5, HIGH);
}
}
}
}
else
{
if( (millis()-lastShockTime) > shockAlarmTime && bAlarm){
bAlarm = false;
}
}
}
然後執行燒錄,打開序列埠監控視窗後,我不管怎麼搖感測器視窗都是一樣空白,這樣我都無法看到底震了幾下
這是什麼問題? 是這個Serial.begin(9600); 問題嗎?
這問題卡了我好幾天了 希望有人可以回答 感謝 |