-         

Ergebnis 1 bis 9 von 9

Thema: Daten vom Ultraschallsensor SRF02 als grafik ausgeben

  1. #1

    Daten vom Ultraschallsensor SRF02 als grafik ausgeben

    Anzeige

    Hallo an Alle.

    ich hab ein Entfernungssensor SRF02 der Abstand von einem Gegenstand 60 mal misst es funktioniert einwandfrei und die Messwerte werden im Terminal emulator von Bascom ausgegeben als analoge werte untereinander. mein Problem ist dass ich die Messwerte als Grafik ausgeben will und dass die Geschwindigkeit ausgerechnet und auch in Grafik ausgegeben wird. d.h das Programm muss irgendwie umgeschrieben werden, ich werde dankbar sein wenn eine/er mir das Problem löst und das Programm so umschreibt dass mann nach der Messung die Zwei Grafik rausbekommt. vielen dank.
    Hier ist das Programm:
    Code:
    '#######################################################
    ' "SRF02_rncontrol_rs232_beispiel.bas
    ' für
    ' RoboterNetz Board RN-Control (ab Version 1.1)
    ' und das SRF02 Ultraschallmodul für Entfernungsmessung
    ' Datenblatt zu SRF02:
    ' http://www.roboternetz.de/phpBB2/dlo...le&file_id=357
    ' Anschlussbeschreibung:
    ' http://www.roboternetz.de/wissen/index.php/Sensorarten"
    '#######################################################
    'Dieses Programm wurde Teils aus dem oben genannten Original-Programms übernommen,
    'das vom Herrausgeber mitgeschickt wurde.
    '
    'Dies ist ein Programm einer Enfernungsmessung.
    'Die Messung wird mit Hilfe des Sensors SRF02 durchgeführt.
    'Zur Einsicht der Messdaten wurde die serielle Schnittstelle RS232 verwendet.
    'Desweiteren werden alle Messdaten, die über RS232 empfangen werden, ohne Einheit
    'und ohne sonstigen Angaben herrausgegeben.
    'Das Messergebnis entspricht aber der Einheit "cm",
    'sowie der Zeitabstand, zwischen den Messungen, 0,2 Sekunden beträgt.
    '#######################################################
    
    
    
    Declare Function Srf02_firmware(byval Slaveid As Byte) As Byte
    Declare Function Srf02_entfernung(byval Slaveid As Byte) As Integer
    
    
    $regfile = "m32def.dat"
    $framesize = 42
    $swstack = 42
    $hwstack = 42
    
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600                                                'Normale Hardware RS232 (hier hängt PC dran)
    
    Open "COMA.0:9600,8,N,2" For Output As #1                   'Port PA0 wird als TX definiert
    Open "COMA.1:9600,8,N,2" For Input As #2                    'Port PA1 wird als RX definiert
    
    Const Srf02_slaveid = 0                                     'Standard RS232 Slave ID von SRF02
    Dim Entfernung As Integer
    Dim V As Byte                                               'Gibt die Anzahl der Messungen an
    
    
    
       Wait 3
       Print ""
       Print ""
       Print "SRF02 RS232 Entfernungsmessung"
       Print "SRF02 Ultraschall-Firmware Version:" ; Srf02_firmware(srf02_slaveid)
       Print "PA0 wird TX und PA1 wird als RX genutzt"
       Print "Zeitabstand zwischen den Messungen beträgt 0.2 Sekunden"
       Print ""
       Print ""
       Wait 5                                                   'Warte 5 Sekunden
    
    
    V = 0
    
       Do
          Entfernung = Srf02_entfernung(srf02_slaveid)
          Incr V                                                'Addiert 1 hinzu
          Print "Entfernung:" ; Entfernung ; "cm"
          Waitms 200                                            'Wartezeit bis zur nächsten Messung
       Loop Until V = 60                                        'Anzahl der Messungen
    
       Wait 2
       Print ""
       Print ""
       Print "Zur erneuten Messung bitte den Reset-Taster auf dem Controllerboard betätigen"
    
    
    
    End
    
    
    '------------- Hilfsfunktionen für SRF02 ----------
    
    
    Function Srf02_firmware(byval Slaveid As Byte) As Byte
    
       Print #1 , Chr(slaveid) ; Chr(93);
       Srf02_firmware = Waitkey(#2)
    End Function
    
    
    
    Function Srf02_entfernung(byval Slaveid As Byte) As Integer
    Local Lob As Byte
    Local Hib As Byte
    
       Print #1 , Chr(slaveid) ; Chr(84);                       'Messvorgang in cm starten
       Inputbin #2 , Hib , Lob                                  'Warte auf Ergebnis
       Srf02_entfernung = Makeint(lob , Hib)
    End Function
    Geändert von Manf (25.06.2013 um 17:22 Uhr)

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Nice try, aber das fertige Program wird hier niemand für dich schreiben

    Mit python sollte man da aber relativ schnell etwas zusammenbasteln können. Schau dir mal diese beiden Links an:
    http://electronut.in/plotting-real-t...-using-python/
    http://www.blendedtechnologies.com/r...a-using-python

    Mit ein paar kleineren Änderungen am Code sollte das schon klappen.

  3. #3
    danke für die Antwort aber eine frage soll ich dieses programm von der webseit in python schreiben und dann die RS232 schnittstelle mit am PC anschließen dann kann ich die Messwerte in grafik bekommen?

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Ich verstehe deine Frage zwar nicht ganz, aber du kannst für den mikrocontroller im prinzip den code den du schon hast weiterverwenden. Dieser sendet über die serielle Schnittstelle die Entfernungswerte als Zahlen an den Computer. Dort läuft dann ein Python-Skript das die Zahlen einliest und als Diagramm darstellt.

  5. #5
    danke erst mal, weißt du vielleicht wo man Python herunterladen kann?

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256

  7. #7
    kannst du mir bitte genau erklären wie ich durch python RS232 auslese ich versuche die ganze zeit sogar eine fuktion zu plotten aber erfolglos. kannst du mir bitte zeigen wie ich das bedine?? danke

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Zeig doch mal den Code her den du schon hast und versuch zu beschreiben was funktioniert bzw. wo noch Fehler sind.

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Eine halbe minute googeln hätte dich auch von selber auf diese Seite hier gebracht:
    http://pyserial.sourceforge.net/

Ähnliche Themen

  1. Ultraschallsensor: SRF02 oder SRF10 ?
    Von Christoph2 im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 16.07.2010, 17:35
  2. Daten aus Zeichenatz lesen+als Scrolltext ausgeben (Max7221)
    Von BoondockDuck im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 21.06.2008, 21:49
  3. Messergebnis vom SRF02 richtig interpretieren
    Von toju80 im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 28.03.2008, 22:46
  4. hilfe :Ultraschallsensor srf02
    Von sterncapture im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 14.02.2008, 16:49
  5. Ultraschallsensor SRF02 bei Feuchtigkeit ?
    Von Stromi im Forum Sensoren / Sensorik
    Antworten: 8
    Letzter Beitrag: 13.06.2007, 09:55

Berechtigungen

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