Du bist sehr weit entfernt von einer einfachen und genauern Drehzahlmessung.
- die Interrupt attachInterrupt(); funktionieren nur auf den PIN 2 und 3
- die Genauigkeit des 555 ist weit unterhalb der Genauigkeit des Taktgenerators des Arduino.
Um die Drehzahl eines Lüfters zu messen ist es genauer und schneller die Zeit zwischen 2 Impulsen zu messen als die Anzahl der Impulse in einer bestimmten Zeit.
Benutze pulsIn() für die Zeitmessung zwischen 2 impulsen.
PulseIn funktioniert auf allen Pins.
Grüße Uwe