|
#include "Arduino.h"
#define RelayCtlPin 0 // H:OFF L:ON #define VposCtlPin 1 // H:ON L:OFF #define VnegCtlPin 2 // H:ON L:OFF #define DcOffsetPin 3 // H:OK L:NG #define MainSwPin 4 // H:ON L:OFF
boolean DcOffsetFlg = false; int PowerMode = 1; int PowerCount = 0;
void setup() { pinMode(RelayCtlPin, OUTPUT); pinMode(VposCtlPin, OUTPUT); pinMode(VnegCtlPin, OUTPUT); pinMode(DcOffsetPin, INPUT_PULLUP ); pinMode(MainSwPin, INPUT_PULLUP );
digitalWrite(RelayCtlPin, HIGH); digitalWrite(VposCtlPin, LOW); digitalWrite(VnegCtlPin, LOW); }
void loop() {
if (digitalRead(MainSwPin) == HIGH) { if (PowerMode == 1) { delay(1000); digitalWrite(VposCtlPin, HIGH); digitalWrite(VnegCtlPin, HIGH); delay(2000); PowerMode = 2; }
else if (PowerMode == 2) { if (PowerCount > 1000) { digitalWrite(RelayCtlPin, LOW); PowerMode = 3; PowerCount = 0; }
else { PowerCount++; delay(1); } }
if (digitalRead(DcOffsetPin) == LOW) { if (DcOffsetFlg == false) { if (PowerMode >= 2 ) { digitalWrite(RelayCtlPin, HIGH); digitalWrite(VposCtlPin, LOW); digitalWrite(VnegCtlPin, LOW); DcOffsetFlg = true; PowerMode = 0; } } }
else { if (DcOffsetFlg == true) { delay(5000); DcOffsetFlg = false; PowerMode = 1; } } }
else { delay(1000); digitalWrite(RelayCtlPin, HIGH); delay(2000); digitalWrite(VposCtlPin, LOW); digitalWrite(VnegCtlPin, LOW); PowerMode = 1; }
}
|
|