/* ========= BASIC MASTER CLOCK IMPULSE TEST =================
Coil is energised for {PULSE_MS} ms via ENA every {STEP_MS} ms
*/
const int IN1 = 7;
const int IN2 = 8;
const int ENA = 9;
const uint16_t PULSE_MS = 120; // coil on-time
const uint16_t STEP_MS = 1000; // period (1 Hz test)
unsigned long lastStep = 0;
bool polarity = false;
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA, OUTPUT);
digitalWrite(ENA, LOW);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
}
void loop() {
unsigned long now = millis();
if (now - lastStep >= STEP_MS) {
lastStep = now;
polarity = !polarity;
// set polarity
digitalWrite(IN1, polarity);
digitalWrite(IN2, !polarity);
// coil on
digitalWrite(ENA, HIGH);
delay(PULSE_MS);
// coil off
digitalWrite(ENA, LOW);
}
}