Der er noget galt med dine { }
'e
if (rpmcount==1) // Hvis vi har drejet mindst et trin
timeold=millis(); // Så noter aktiviteten
else // ?? dvs hvis vi enten har stået stille eller drejet for hurtigt ??
if (rpmcount >= 15) { // hvis der er gåt 15 interrupts
rpm = 30000L/(millis() - timeold)*(rpmcount-1); // udregn det til rpm.
rpmcount = 0; // nulstil for næste 15 tick runde
{ //??
Serial.println(rpm); // udskriv rpm udregningen
} // ??
if (millis()-timeold > 5000) // skulle været helt udenfor, nu er den del af det 15.e tick
// - test om vi står stille
{
Serial.println("tiden er udlobet"); } // skriv vi står stille
// mangler et afsluttende } (som så står det forkerte sted...
Jeg har givet nogle hints. Jeg kan også omskrive koden, men den er næsten der. Overvej om if
'erne behover være nested eller med else.