Hello
I belive that might be the perfect world, and i guess a bit over engineering, to measure both.
I have now changed my configuration on the input and use digital input, and my code is as follow below.
If i count int val time between when its go to HIGH from HIGH and compare the time 4 times
The time in ms saved as
int Time1
int Time2
Int Time3
Int time4
int Counter
int val1
if all int Times they are same then it will activate the outputs same as input pulse 4 times, if not wait until all 4 int times are the same value.
My code for now,
int ledPin13 = 13; // Summer / Led BPM
int ledPin12 = 12;// XR18
int ledPin11 = 11; // Spare
int ledPin10 = 10;// Spare
int ledPin9 = 9; // Boss1
int ledPin8 = 8;// Boss2
int inPin = 2; // Input from Metronome
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(inPin, INPUT);
}
void loop(){
val = digitalRead(inPin); // read input value
if (val == HIGH) {
digitalWrite(ledPin13, HIGH);
digitalWrite(ledPin12, HIGH);
digitalWrite(ledPin11, HIGH);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin9, LOW);
digitalWrite(ledPin8, LOW);
} else {
digitalWrite(ledPin13, LOW);
digitalWrite(ledPin12, LOW);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin10, LOW);
digitalWrite(ledPin9, HIGH);
digitalWrite(ledPin8, HIGH);
}
}