pulseIn()

Beschreibung

Liest einen Wert von einem vorgegebenen Digitalpin ein, entweder HIGH oder LOW. Wenn value z.B. HIGH ist, wartet pulseIn() darauf,dass der Pin auf den Wert HIGH wechselt, startet einen Timer und wartet anschließend darauf, dass der Pin wieder auf LOW wechselt. Daraufhin stoppt pulseIn() den Timer. Gibt die Länge des Impulses in Mikrosekunden zurück. Stoppt und gibt 0 zurück, wenn ein bestimmter Timeout erreicht wird.

Das Timing der Funktion wurde empirisch getestet und wird vermutlich bei einem längeren Impuls falsch messen. Die Funktion funktioniert mit Impulsen der Länge von 10 Mikrosekunden bis 3 Minuten.

Syntax

pulseIn(pin, value)

pulseIn(pin, value, timeout)

Parameter

  • pin: Die Arduino-Pinnummer, an der der Impuls gelesen werden soll. Erlaubte Datentypen: int.
  • value: Welche Art von Impuls gelesen werden soll: Entweder HIGH oder LOW. Erlaubte Datentypen: int.
  • timeout (optional): Die Anzahl an Mikrosekunden, die gewartet werden soll, bis ein Impuls gemessen wurde; Default-Wert ist eine Sekunde. Erlaubte Datentypen: unsigned long.

Rückgabewert

Die Länge des Impulses (in Mikrosekunden) oder 0, wenn kein Impuls vor dem Timeout gemessen wird. Datentyp: unsigned long.

Beispielcode

Das Beispiel gibt den Zeitraum eines Impulses auf Pin 7 aus.

int pin = 7; unsigned long duration; void setup() { Serial.begin(9600); pinMode(pin, INPUT); } void loop() { duration = pulseIn(pin, HIGH); Serial.println(duration); }

Another example, the pulseIn() is used to capture the echo pulse from Ultrasonic Sensor. See Arduino - Ultrasonic Sensor for more detail.

Siehe Auch

ARDUINO KAUFEMPFEHLUNG

Arduino UNO R3
Arduino Starter Kit
Bitte Beachten: Dies sind Partnerschaftslinks. Wenn Sie die Komponenten über diese Links Kaufen, können wir eine Provision erhalten, ohne weitere Kosten für Sie. Wir Schätzen es.

※ UNSERE BOTSCHAFTEN