Ultraschallsensor_SRF05_auswerten
(armin77, 01.01.2013, 21:25:51)Beschreibe hier wie ein SRF05 Ultraschall-Distanzsensor ausgewertet wird.
Ein kurzer High-Impuls von mindestens 10µS an Trigger des SRF05 (Portb.1 AVR)
löst den Meßvorgang aus.
Danach wird mit dem Echo Ausgang des SRF05 an Pinb.0 des AVR
die Länge des High Impulses gemessen.
Dessen Länge ist proportional zur Entfernung des Objektes.
Die gemessene Zeit wird durch 58
geteilt und man erhält die Entfernung in Zentimetern.
Hier das Programm:
$regfile = "m8def.dat"
$crystal = 4000000
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 2400
Config Portb.0 = Input 'Echo SRF05
Config Portb.1 = Output 'Trigger SRF05
Dim Entfernung As Word
Dim Zeitmessung As Word
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 20 * 4
Cls
Cursor Off
Lcd "Entfernung:" ; " cm"
Do
Pulseout Portb , 1 , 10
Pulsein Zeitmessung , Pinb , 0 , 1
Zeitmessung = Zeitmessung * 10
Entfernung = Zeitmessung / 58
Print "Enfernung: " ; Entfernung ; " Cm"
Locate 1 , 12
Lcd " "
Locate 1 , 12
Lcd Entfernung
Waitms 500
Loop
End
Hier ein Bild vom Versuchsaufbau:
Hier ein Bild vom SRF05:
Hier ein Bild der Anschlüsse:
Vorsicht:
Wie auf dem oberen Foto zu sehen ist kann Trigger und Echo vertauscht sein.
Also genau hinsehen.