-         
+ Antworten
Ergebnis 1 bis 6 von 6

Thema: srf04 modul

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    srf04 modul

    hallo, ich möchte das modul srf04 programmieren in bascom. wer kann hier weiterhelfen. ich bekomme das mit der zeitmessung am AVR16 nicht hin.
    ps: das modul srf08 läuft schon auf meinem küchenbrettroboter mit einem servo um sich ein bisschen zu drehen.
    mfg pebisoft

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hi pebisoft,

    hast du die schonmal probiert (auch von Gerrys Seite):

    Code:
    ' ulrasonic functions SRF04
    ' adapted from Koen Van den Heuvel, http://users.pandora.be/vandenheuvel/robot.html
    ' Declare Sub Initialize_ultrasonic()
    ' Declare Function Ultrasonic() As Integer
    
    Function Ultrasonic() As Integer
        Portc.6 = 0                                              ' Set initial state of trigger pin
        Pulseout Portc , 6 , 10                                 ' generate a 5us pulse @ 8 mhz
        Pulsein Ultrasonic , Pinc , 7 , 1                  ' measure the return pulse
    End Function
    
    Sub Initialize_ultrasonic
       Config Pinc.6 = Output
       Config Pinc.7 = Input
    End Sub
    HTH und Viele Grüße
    Jörg

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    ganz habe ich das programm für den srf04 nicht geschnallt mit dem bascom. kann einer bitte mal die sache für dieses modul näher erklären. ich habe gelesen mit puls und trigger usw. wie verwirkliche ich das mit einem AVR in Bascom mit der umrechnung in cm z.b.
    mfg pebisoft

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hi pebisoft,

    ich habe mir gerade mal die Hilfe von Bascom angesehen, pulsin liefert das Ergebnis in 10us Schritten. Das heißt, das Ergebnis der Funktion Ultrasonic() muss noch durch 6,2 geteilt werden, um die Entfernung in cm rauszukriegen. Dazu am besten mit 10 multiplizieren und durch 62 teilen (Vermeidung von Floating-Point Geschichten).

    BTW, im obigen Code ist noch ein Fehler dringewesen, Ultrasonic_left muss natürlich Ultrasonic heißen. Ich ändere das nochmal schnell.

    HTH und Viele Grüße
    Jörg

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    vielen dank. das srf04-modul läuft dank deiner hilfe hervorragend.
    mfg pebisoft

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Freut mich, dass es funktioniert.

    Viele Grüße
    Jörg

+ Antworten

Berechtigungen

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