-         
Ergebnis 1 bis 2 von 2

Thema: SRF02 gibt 0 zurück

  1. #1

    SRF02 gibt 0 zurück

    Anzeige

    Hallo zusammen,

    ich habe beim Abholen der Messwerte vom SRF02 Probleme.
    Der Sensor liefert in High und Low Byte jeweils 0.
    Bei Start einer Messung blinkt die LED auf, daher gehe ich davon aus, dass tatsächlich gemessen wird.
    Nur das Abrufen der Messwerte scheint nicht zu funktionieren.

    Das Auslesen der Firmware funktioniert einwandfrei.
    Er gibt mir Firmwareversion 5 zurück.

    Ich habe es schon per I2C und seriell ausprobiert, in beiden Fällen tritt dasselbe Problem auf.
    Habt ihr eine Idee, was ich falsch gemacht habe?

    Vielen Dank schonmal

    Hier ist der Code:

    Code:
    CON
      
      SRF_RX = 14
      SRF_TX = 25        
    
    VAR
    
    long firmware
    byte lsb, msb
    
    PUB Main | status, i, success
    
    PauseMSec(3000)
    
    i := 0
    
    success := SRF.Start(SRF_RX, SRF_TX, 0, 9_600) 
    
    repeat
    
      SRF.tx(0)                     'Adresse des Sensors senden
      PauseMSec(100)           '100ms warten
      SRF.tx(93)                    'FW-Version anfordern
      firmware := SRF.Rx         
    
      SRF.Tx(0)                      'Adresse des Sensors senden          
      PauseMSec(100)
      SRF.Tx(82)                    'Messvorgang starten
    
      PauseMSec(5000)           '5 Sekunden warten
    
      SRF.Tx(0)                      
      PauseMSec(100)
      SRF.Tx(94)                    'Messergebnis anfordern
       
      msb := SRF.Rx
      lsb := SRF.Rx

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.796
    @substrateffekt:
    Willkommen im Forum!
    Ich kenne deine Programmierumgebung nicht, so dass ich nicht weiß, ob die Kommunikation (seriell?) mit dem Sensor stimmt.

    Was zum SRF02 auffällt:
    1. Eine Wartezeit von 5s zwischen Messvorgang starten und Ergebnis anfordern ist viel zu lang: Hier reicht PauseMSec(65)!
    2. Nach der Pause von 65ms kann man das Ergebnis einfach aus den Registern 2,3 des Sensors lesen. Ich weiss nicht, was dein Befehl SRF.Tx(94) genau macht. Eigentlich muss man nur lesen und nichts mehr senden.
    Gruß
    Dirk

Ähnliche Themen

  1. Ultraschallsensor SRFo5 gibt immer 0 zurück
    Von xrtm4e im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 22.06.2012, 22:25
  2. Funktion gibt Funktion zurück... nächstes Problem
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 19.12.2008, 08:51
  3. ADC von rnmega2560 gibt einen konstanten Wert zurück!
    Von turi79 im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 14.02.2008, 14:21
  4. SRF02 gibt seltsame Werte zurück
    Von U.H.M. im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 09.01.2008, 08:37
  5. DMX Konverter auf UDP und zurück
    Von Häuptling im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 11.07.2006, 14:44

Berechtigungen

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