Hier ist eine Möglichkeit, mit Hilfe von Mikro-Forth und dem HC-SR04, Entfernungen zu messen.
Das Prinzip ist ähnlich, dem weiter unten mit Basic beschriebenen Beitrag.
Der Trigger wird am PinD6 angeschlossen. Das Echo verbindet man mit PinB7.
Das Programm funktioniert folgendermassen:
Timer0 läuft im Overflowmodus und löst ca. alle 65ms einen Interrupt aus.
In der Timer0-Interruptroutine wird am Pind6 ein ca 10us Impuls (Zeit relativ unkritisch) ausgegeben.
Port BinB7 wird als Pinchangeinterrupt programmiert. In der PchInterruptroutine wir entschieden, ob eine
steigende Flanke vorhanden ist. Wenn ja, wird der Timer1 gestartet, wenn eine fallende Flanke vorhanden
ist, wird der Timer1 gestoppt.
Die gezählten Timer1-Impulse ist ein Maß für die Entfernung.
Der Rest ist nur eine Umrechnung in Zentimeter und wird zur Anzeige gebracht.
Viel Spass beim experimentieren.
Didi
Mikro-Forth und HC-SR04
Mikro-Forth und HC-SR04
- Dateianhänge
-
- Entfernungsmessung.zip
- (18.08 KiB) 3186-mal heruntergeladen