int sparkPin=7;
void setup() {
// put your setup code here, to run once:
pinMode(sparkPin,OUTPUT);
pinMode(13,INPUT);
pinMode(A5,INPUT);
Serial.begin(57600);
}
void loop() {
int engspeedV=analogRead(A5);
engspeedV = map(engspeedV, 0, 1023, 1000, 9000);
double period=spark(engspeedV);
analogWrite(sparkPin,1023);
delay(5);
analogWrite(sparkPin,0);
double finalDelay=round((period-5)*1000);
//delayMicroseconds(finalDelay); //counting up rpm
Serial.println(finalDelay);
}
double spark(double rpm)
{
double hz = (1.0/60)*rpm/2;
double slice_duration = 1.0/hz;
return slice_duration*1000;
}