- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 15

Thema: Abfrage Ultraschallsensor HC-SR04 unter BASCOM

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    19.05.2012
    Ort
    Sigmaringen
    Beiträge
    169
    Ja, da hast natürlich recht... das mit dem Pin hab ich vermurkst beim hin und hertesten.
    Hab das angepasst und auch den Prescale mal auf 1 gesetzt.
    Das Programm soll ja erstmal ausser sichtbare Werte abzugeben garnix können.
    Ich würde mir wünschen, das zumindest im Controllcenter (also über den Print-Befehl) brauchbare werte
    angezeigt werden, über die man dann die Entfernung berechnen kann.

    Ich muss mir ausserdem noch recht überlegen, wie ich den Wert umgerechnet bekomm auf ein anständiges ergebniss.
    Ich hab den eindruck, das das abarbeiten des Programms irgendwie die werte verfälscht.

    ich bekomm zwar werte im bereich von grob 0 bis 200... aber die sind so extrem ungenau bzw wechseln in riesigen schritten(stellenweise 30-40).

    Edit: Ich hab noch die Zeitmessung im Interrupt umgestellt vom ms auf us... das sollte sicher auch die Messgenauigkeit erhöhen.
    Bin mir nur nicht ganz sicher, wielange das abarbeiten der befehle dauert. Das nehm ich aber erstmal als "Tolleranz" hin.

    Hier das Ausgebesserte und dokumentierte Programm:

    Code:
    '-------------------------------------------------------------------------------
    '-------------------------------------------------------------------------------
    '-------------------------------------------------------------------------------
    'Programmname:    Sensorabfrage.bas
    'Letzte Änderung: 11.11.2012
    'Funktion:        Abfrage des Ultraschallsensor hc-sr04
    'Mikrocontroller: Mega8
    '
    'Input:           D2 - Echosignal
    '
    'Output:          C0 - Triggersignal
    '
    '-------------------------------------------------------------------------------
    '-------------------------------------------------------------------------------
    '-------------------------------------------------------------------------------
    'Den Atmega mit den passenden Daten füttern.
    '-------------------------------------------------------------------------------
    $regfile = "m8def.dat"                                      'eingesetzter Mikrocontroller
    $crystal = 3686400                                          'eingestellte Taktfrequenz(externes Quarz)
    $hwstack = 40                                               'Standardwert
    $swstack = 32                                               'Standardwert
    $framesize = 60                                             'Standardwert
    '-------------------------------------------------------------------------------
    'Ports/Pins konfigurieren.
    '-------------------------------------------------------------------------------
    Config Portc.0 = Output                                     ' Trigger-Signal zum Sensor
    Config Pind.2 = Input                                       ' Echo-Signal vom Sensor
    
    '-------------------------------------------------------------------------------
    'Timer/OCR/PWM usw. setzen
    '-------------------------------------------------------------------------------
    Config Timer0 = Timer , Prescale = 1
    
    Config Int0 = Rising
    Enable Int0
    Enable Interrupts
    On Int0 Pulsbeginn                                          ' Wenn auf echo gewartet wird wechselt Echo-Signal auf High für max 200ms
    
    '-------------------------------------------------------------------------------
    'Variablen
    '-------------------------------------------------------------------------------
    Dim Entfernungcm As Long
    Dim Zeitecho As Long                                        ' Gemessene dauer bis Echo ankommt
    
    '-------------------------------------------------------------------------------
    'Hauptprogramm
    '-------------------------------------------------------------------------------
    
    Do
    
       Timer0 = 0                                               ' Timer und Triggerport kurz auf 0 setzen
       Portc.0 = 0
       Delay
       Portc.0 = 1                                              ' Triggerport für 10us Highpegel um messung zu starten
       Waitus 15
       Portc.0 = 0
       Print Zeitecho                                           ' Ausgabe der gemessenen Dauer
       Zeitecho = 0
       Waitms 50                                                'Messintervall bzw Pause einstellen
    
    Loop
    
    End
    
    Pulsbeginn:
      'Timer0 = 0                                                ' bei Pulsebeginn Timer auf 0 setzen und starten
      Start Timer0
      Do
      Waitus 10
      Loop Until Pind.2 = 0                                     ' warten bis Echo signal ankommt, dann wechselt der Pegel auf Low
      'If Timer0 < 200 Then                                      ' wenn kein echo gemessen wird bleibt der pegel 200ms auf High
      Zeitecho = Timer0                                         ' Gemessene Dauer an Variable übergeben
      'Else
      'Zeitecho = 0                                              ' wenn kein echosignal gemessen wird Variable auf 0 setzen bzw. lassen
      'End If
      Stop Timer0
    
    Return
    Geändert von JoeM1978 (11.11.2012 um 12:10 Uhr)

Ähnliche Themen

  1. Ultraschallsensor selbst bauen (Bascom)
    Von Janigut im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 26.04.2011, 15:58
  2. Ultraschallsensor HC-SR04 Probleme ungenauigkeit
    Von anfaenger201 im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 04.08.2010, 14:06
  3. pin abfrage mit bascom
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 05.09.2008, 12:59
  4. UART Sendepuffer-Abfrage mit Bascom
    Von Heideltrudel im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 03.08.2007, 21:12
  5. wav out mit PWM unter bascom?
    Von sebastian.heyn im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 18
    Letzter Beitrag: 10.06.2005, 09:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test