小弟想使用2路繼電器,做一個簡易的電源變動治具。 
功能說明:啟動時Relay 1和Relay 2同時輸出12V, 
Relay1輸出5秒後,降到0V,1秒後再上升至12V。 
Relay2輸出5.5秒後,降到0V,0.5秒後再上升至12V。 
三個循環後,Relay1、Relay2同時輸出12V,持續10秒 
然後降到0V,3秒後再重新LOOP。 
 
問題:在執行第一、二次的時候,都沒有問題, 
但是LOOP第三次時,在Relay1、Relay2同時輸出12V,持續10秒這個階段會變成只持續約6秒 
然後一些電源變動就會發生錯亂。 
 
請教各位前輩,我的這個程式是不是有什麼錯誤,麻煩協助告知。 
 
int relay1 = 8; 
int relay2 = 9; 
void setup() { 
  pinMode(relay1, OUTPUT); 
  pinMode(relay2, OUTPUT); 
} 
void loop() { 
  for (int i = 0; i < 3; i++) { 
    digitalWrite(relay1, HIGH);digitalWrite(relay2, HIGH); 
    delay(5000); 
    digitalWrite(relay1, LOW); 
    delay(1000); 
    digitalWrite(relay2, HIGH); 
    delay(500); 
    digitalWrite(relay2, LOW); 
    delay(500); 
  } 
  digitalWrite(relay1, HIGH);digitalWrite(relay2, HIGH); 
  delay(10000); 
  digitalWrite(relay1, LOW);digitalWrite(relay2, LOW); 
  delay(3000); 
} 
另外附上一張簡易的電源變動示意圖,供參考。 
 
 
謝謝 
 |