小弟想使用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);
}
另外附上一張簡易的電源變動示意圖,供參考。
謝謝
|