Surely this is stupid but I got the ckp signal encoding arduino with this where changing the rpm value in the second row (int rpm) to 1 achieves a maximum speed of 1500, increasing the number decreases the speed:
int dig8 = 8 ;
int rpm = 2 ;
void setup (){
pinMode(dig8, OUTPUT);
pinMode(led, OUTPUT);
pinMode(dig9, OUTPUT);
}
void loop()
{
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, HIGH);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
digitalWrite(dig8, LOW);
delay(rpm);
}
if the last 3 lines are set they are in "LOW" to simulate the missing tooth.
They can laugh at me, (I do) but I publish it in case someone in my same situation helps.
Thank you all so much for your help