Holla

ich bin neueinsteiger und möchte einen Datenlogger zum Wasserstandsmessen bauen.

Dazu verwende ich folgende Hardware:
Atmega8; mit 3686400hz Crystal (auf My Avrbord)
und das SRF05 (vorerst im Mode mit einem Pinanschluss)

Hardwartechnisch funktioniert die Entfernungsmessung soweit ganz gut,
nur die Genauigkeit lässt stark zu wünschen übrig.

Ich denke es liegt an der Pulsein einstellung im Bascomcode (nicht auf mein Cristal abgestimmt)
Meine Frage: kann mann mit dieser Hardware genauigkeiten im mm schon (+-5mm)
erreichen und wenn ja wie sähe der Bascom Code Aus ?????

mein bisheriger Code:
Code:
'Die üblichen Definitionen bei Standardprogrammen auf Miniboard
$regfile = "m8def.dat"                                      'ATmega8 deklaration
$crystal = 3686400                                          'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32


Dim Zeitmessung As Word
Dim Entfernung As Word


Print "**** SRF05 mit RN-MINICONTROL *****"
Print "Entfernung in mm anzeigen"


Config Pind.2 = Output

Do
    Portd.2 = 0                                             'Port Low
    Pulseout Portd , 2 , 40                                 'Min. 10uS Impuls senden

    Pulsein Zeitmessung , Pind , 2 , 1
    Zeitmessung = Zeitmessung * 100                         'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
    Entfernung = Zeitmessung / 29                           'Umrechnen in Zentimeter
    Print "Entfernung: " ; Entfernung ; " mm"
    Wait 1
Loop
End

Danke an alle helfenden