Aktuelle Zeit: Di Apr 07, 2026 5:02
//Das zu messende Signal MUSS an Pin D2 liegen (Interrupt 0)
//Rev. 0.1 2012-10-05
// fribbe fuer http://macherzin.net
//Variablendeklaration
unsigned long zaehler = 0;
unsigned long zeit = 0;
unsigned long startzeit = 0;
unsigned long messzeit = 1000000; // Messintervall in Mikrosekunden
void setup() // Beim Einschalten
{
Serial.begin(9600); // Serielle Schnittstelle zur Ausgabe von Daten am (programmierenden) PC
// wenn das Signal an Pin D2 (Interrupt 0) von LOW auf HIGH wechselt,
// wird die Funktion "Messung" aufgerufen
attachInterrupt(0, Messung, RISING);
startzeit=micros();
}
void loop()
{
// nix zu tun
// hier würde das eigentliche
// Programm laufen, welches
// durch den Interrupt
// unterbrochen wird
}
void Messung()
{
zaehler++;
if ((micros()-startzeit) >= messzeit)
{
Serial.print("Frequenz: ");
Serial.print(zaehler);
Serial.println(" Hz");
zaehler = 0;
startzeit=micros();
}
}
// haben fertig Mitglieder: Bing [Bot], frafra, Google Adsense [Bot]