Forum: Mikrocontroller und Digitale Elektronik Ultraschall Abstandsmessung mit HC-SR04


von Joe J. (anfaenger2010)


Lesenswert?

Guten Tag,
ich beschäftige mich erst seit wenigen Tagen mit AVRs und Bascom, bin 
also noch ein blutiger Anfänger.
Ich möchte gerne eine Abstandsmessung mithilfe eines HC-SR04 
Ultraschallmoduls realisieren.
Dieses Modul hat einen Triggereingang und einen Echoausgang (ähnlich dem 
Devantech srf04) aus der Laufzeit dieser Signale kann man die Entfernung 
berechnen.
Der Abstand soll dann auf einem LCD Display ausgegeben werden.
Habe versucht mal einen Bascom Code zu schreiben (bzw. zusammen zu 
kopieren) der dies bewerkstelligen soll.
Ich habe bestimmt unheimlich viele Fehler gemacht und würde gerne mal 
einge Verbesserungsvorschläge bzw. Anregungen hören.

'Hardware-Config
$regfile = "m32def.dat"

$crystal = 14745600

Dim Starttime As Integer , Endtime As Integer , Sonartime As Integer
Dim Dist As Integer


'Config für LCD-Ausgabe

'16x2 gelb-grün Mikro mit BL an Port C
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , 
Db7 = Portc.0 , E = Portc.4 , Rs = Portc.6


Config Lcd = 16 * 2

'Config Pina.1 = Output
'Porta.1 = 0
Trigger Alias Portd.1
Config Trigger = Output

Zurueck Alias Pind.2
Config Zurueck = Input
Config Pinc.5 = Output
Portc.5 = 0

Trigger = 0
Waitms 2
Trigger = 1
Waitms 10
Trigger = 0
Starttime = Counter1

  Waitus 210

While Zurueck = 1
Wend

Endtime = Counter1
Trigger = 0

   If Endtime > Starttime Then Sonartime = Endtime - Starttime
   If Starttime > Endtime Then
      Sonartime = &H3FF - Starttime
      Sonartime = Sonartime + Endtime
   End If

   Dist = Sonartime * 1.09


   Dist = Dist / 2

   If Dist < 30 Then Dist = Dist - 2



Waitms 20
Initlcd


Cls
Cursor Off

Lcd "{Dist}"



End

von Joe J. (anfaenger2010)


Lesenswert?

Hat denn keiner eine Idee?

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.