Sa. Okt 12th, 2024

In Bearbeitung

Mit folgendem Testaufbau kann man sehr einfach mit dem Arduino Ereignisse zählen. Der Testaufbau zeigt einen Gleichstrommotor der mit einem kleinen Zeiger verbunden ist, auf dem wiederum ein Magnet aufgeklebt wurde. Dieser Motor wird über einen selbstgebauten PWM-Motor-Regler auf NE555 Basis geregelt.

Versuchsaufbau für den Event-Zähler

Über diesem „Event-Generator“ befindet sich ein Reedkontakt, der über einen Pulldown Widerstand, beim Schliessen eindeutige Impulse generiert, die über die PulsIn-Funktion des Arduino erfasst und ausgewertet werden können.

Mit folgendem Programm können die Events erfasst und gezählt werden:

int pin = 8;
unsigned long T;          //Periodendauer in us
double f;                 //Frequenz in MHz 

void setup() 
{Serial.begin(9600);
Serial.println("IMPULSZAEHLER/FREQUENZZAEHLER");
 pinMode(pin, INPUT);
}

void loop() {
  T = pulseIn(pin, HIGH) + pulseIn(pin, LOW);
 if (T==0) Serial.println("Timeout.");
 else 
 {f=1/(double)T;          // f=1/T                 
  Serial.print(f*1e6); Serial.println(" HZ"); //Ausgabe in Hertz
 } 
}