Hallo zusammen,
als Arduinoanfänger wollte ich Ultraschallsensoren verwenden. Dazu wird die pulseIn Funktion verwendet.
Um diese Funktion kennen zu lernen, habe ich ein kleines Programm geschrieben, um mir mit den Seriellen Monitor die Zeiten für ein HIGH Signal am Ausgang ausgeben zu lassen.
Alle 550ms soll das Ausgangssignal von High auf LOW gesetzt werden. Dazu möchte ich mir die Länge des High Signals anzeigen lassen. Leider ist das Ergebnis der Zeitmessung bei mir immer 0, obwohl das HIGH und LOW Signal oft wechselt.
Habe ich die pulseIn Funktion falsch verstanden?
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(ausgang8)==LOW)
{
digitalWrite(ausgang8, HIGH);
}
if (millis()>(milli_alt + 850))
{
milli_alt = millis();
digitalWrite(ausgang8,LOW);
}
zeitdauer = pulseIn(ausgang8, HIGH);
Serial.println(zeitdauer);
if (digitalRead(ausgang8)==LOW){
Serial.println("Ausgang8 ist LOW");
}
if (digitalRead(ausgang8)==HIGH){
Serial.println("Ausgang8 ist HIGH");
}
}