Forum: Mikrocontroller und Digitale Elektronik HC SR-04 Ultraschallsensor (fertiger Code im Anhang)


von Thorsten S. (thorstens)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe schon einiges an Hilfe und Tipps aus diesem Forum erhalten, so 
dass ich etwas zurückgeben möchte.

In der Bucht bekommt man schon für um die 2 Euro einen Ultraschallsensor 
vom Typ HC SR-04.

Der Sensor kann Distanzen bis ca. 4,50m messen (an anderer Stelle wird 
3m genannt, ich konnte nur bis 2m testen).

Anwendungsgebiete: Hinderniserkennung, Entfernungsmessung, 
Füllstandanzeiger, Industrieanwendungen, aktuelle Höhe eines 
Multicopters für automatische Landesequenz bestimmen, etc.

Ich habe dafür fertig verwendbaren Code für den AVR entwickelt. Der Code 
ist angehängt, den Pfad zur HD44780 LCD-Display Library muss man noch 
anpassen, und je nach Taktfrequenz des Mikrocontrollers den Timer und 
das #define TIMER_RESOLUTION darunter anpassen.

Per Makro kann der Code als Version mit Interrupt, oder mit Polling 
compiliert werden. Die Interrupt Version ist definitiv vorzuziehen. Dann 
kann man im Code gleichzeitig andere Sachen machen, und die Messung ist 
trotzdem exakt. Die globale Variable „HcSr04Status“ meldet, wenn eine 
Messung abgeschlossen ist.

Bei 4usec Timerauflösung liegt die Messgenauigkeit rechnerisch bei 
0,1374cm.  In der Praxis schwanken aber die Ergebnisse 
aufeinanderfolgender Messungen, so dass eine Genauigkeit von 1cm 
realistisch ist (zumal die Messgenauigkeit von der Lufttemperatur 
abhängig ist).

Grüße
Thorsten

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.