Jump to content

walterberger

Members
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von walterberger

  1. Ja das kann man sehen wie man will, aber bei einem GPS macht die Antenne nur oben sinn.

    Aber ich habe noch ein ganz anderes Problem: Beim alten GPS konnte ich bei einem Stapel aus Red und Master mit GPS beim anschliessen an den PC am Red die GPS position und Sateliten ect sehen. Mit dem neuen GPS geht das bei mir nicht. Da kommt nur der Zähler für timeout oder so. Wenn ich das GPS2 nur mit Master verbinde und diesen an den PC anschliesse kommen die werte.

    Was mache ich falsch?

  2. Vielen Dank für die Antwort.

     

    Wie muss die Abfrage des IO-4 genau aussehen? Hast du da vielleicht ein Beispiel.

     

    Die Speicherkarte habe ich zusammen mit dem RedBrick bei eienm Reseller gekauft.

    Eigentlich bin ich davon ausgegeangen das das Image schon auf der Karte ist, war es aber nicht. Ich habe das Image mit Windows gemäss Anleitung auf die Karte geschrieben. Aber vielleicht ist die Karte nicht gut, ich werde mir mal eine andere besorgen. Auf diese hier habe ich das Image schon 2x versucht zu schreiben.

  3. Mittlerweilen habe ich das Programm soweit zum laufen gebracht das es mit dem PC funktioniert. Die Genauigkeit muss ich noch austesten.

     

    Hier mal der Code:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    HOST = "localhost"
    PORT = 4223
    UID = "qG8" # Change to your UID
    
    from tinkerforge.ip_connection import IPConnection
    from tinkerforge.bricklet_gps import BrickletGPS
    import time
    
    ende = 7
    
    if __name__ == "__main__":
        ipcon = IPConnection() # Create IP connection
        gps = BrickletGPS(UID, ipcon) # Create device object
    
        ipcon.connect(HOST, PORT) # Connect to brickd
        # Don't use device before ipcon is connected
    
        while True:
            start = 0
    
            while start <= ende:
                course, speed = gps.get_motion() # speed in 1/100 km/h
                start = start + (speed/3600)
    
                time.sleep(0.1)
    
            print("Summe", start)
    
            HOST = "localhost"
            PORT = 4223
            UID = "roq" # Change to your UID
    
            from tinkerforge.ip_connection import IPConnection
            from tinkerforge.bricklet_industrial_quad_relay import BrickletIndustrialQuadRelay
            import time
    
            if __name__ == "__main__":
                ipcon = IPConnection() # Create IP connection
                iqr = BrickletIndustrialQuadRelay(UID, ipcon) # Create device object
    
                ipcon.connect(HOST, PORT) # Connect to brickd
               
                iqr.set_value(1111)
                time.sleep(0.3)
                iqr.set_value(0000)
                          
                ipcon.disconnect()
            
        ipcon.disconnect()
    
    

     

    Dazu habe ich noch ein paar Fragen:

     

    - Ist das so richtig wie ich die verschiedenen Bicklets aufrufe oder macht man das anders?

     

    - Wenn die Berechnung den gewünschten Wert erreicht hat erflgt das auslösen. Dort ist eine Pause von 0.3 Sec drinn, muss so sein. Sehe ich das richtig das in der Zeit die Neuberechnung noch nicht läuft? Wenn ja wie muss das seine damit die Neuberechnung unabhänig von der Auslösung weiterläuft?

     

    - Nun möchte ich den gesammten Ablauf mit einem externen Schalter via IO-4 Bricklet steuern. Wenn der Schalter offen ist sollte eine art Warteschlaufe laufen und wenn der Schalter geschlossen ist sollte die Berechnung und Auslösung durchlaufen. Wie muss ich das machen, da habe ich leider keine Idee?

     

    - Und noch was anderes, schlussendlich soll das alles auf einem RedBrick laufen. Denn habe ich auch schon hier und nach Anleitung die SD-Karte vorbereitet. Nur tut sich leider nicht, der Brick wird nicht erkannt. Gemäss Anleitung sollte die grüne LED blinken, aber bei meinem leuchter diese dauernd. Was könnte das sein?

     

    Danke und einen schönen Abend.

  4. Vielen Dank, das funktioniert.

    Ja das Ganze so wie es jetzt da steht macht natürlich keinen Sinn.

    Letztendlich soll nicht die Geschwindligkeit sondern der Weg (v*t) aufsummiert werden um alle X Meter eine Aktion auszulösen.

     

    Dazu habe ich mir gedacht ein Industrial Quad Relay Bricklet zu verwenden und einen Ausganz kurz ein und wieder auszuschalten.

    Und irgendwie muss ich die Endlosschlaufe auch noch ferngesteuert aktivieren und deaktivieren können. Da habe ich mir gedacht das geht am besten mit einem IO-4 Bricklet.

    Könnte das so grundsätzlich funktionieren?

     

    Der Ursprung des Ganzen ist übrigens das hier:

    http://www.tinkerunity.org/forum/index.php/topic,3398.0.html

     

     

    Das was du das tun willst funktioniert auch mit Callbacks. Aber fang am besten erst mal einfach mit Gettern an:

     

     

    Mit ist nur nicht klar, warum du den speed aufsummieren möchtest bis die Summe 0,065 km/h erreicht hat.

  5. Vielen Dank, aber leider hilft mir das nicht weiter.

    Die Frage war vielleicht etwas schlecht verständlich.

    Unten mal mein Programm, dort wo fast am Ende zahl = 1 steht sollte anstelle von 1 die Geschwindigkeit (speed) stehen. Wenn ich dort einfach speed eingebe erhalte ich folgende Fehlermeldung:

     

    Traceback (most recent call last):

      File "C:\Users\wb\AppData\Local\Programs\Python\Python35-32\Servo-Test-1\GPS-7Meter-1.py", line 40, in <module>

        zahl = speed

    NameError: name 'speed' is not defined

     

    Wie muss ich speed dort definieren?

     

     

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

     

    HOST = "localhost"

    PORT = 4223

    UID = "qG8" # Change to your UID

     

    from tinkerforge.ip_connection import IPConnection

    from tinkerforge.bricklet_gps import BrickletGPS

    import time

    ende = 6.5

     

    # Callback function for coordinates callback

    def cb_motion(course, speed):

        #print("Speed: " + str(speed/360))

        #print("Longitude: " + str(longitude/1000000.0) + "° " + ew)

        #print("")

     

     

     

     

        if __name__ == "__main__":

            ipcon = IPConnection() # Create IP connection

            gps = BrickletGPS(UID, ipcon) # Create device object

     

            ipcon.connect(HOST, PORT) # Connect to brickd

            # Don't use device before ipcon is connected

     

            # Register coordinates callback to function cb_coordinates

            gps.register_callback(gps.CALLBACK_MOTION, cb_motion)

     

        # Set period for coordinates callback to 1s (1000ms)

        # Note: The coordinates callback is only called every second

        #      if the coordinates has changed since the last call!

        # gps.set_coordinates_callback_period(1000)

     

            gps.set_motion_callback_period(100)

     

     

    zahl = 1

    while 1:

        start = 0

        while start <= ende:

            start = start + zahl

       

        print ("Summe", start)

        time.sleep(1)

     

     

               

    #  input("Press key to exit\n") # Use input() in Python 3

    ipcon.disconnect()

     

  6. Hallo

    Ich bin neu in der Welt von Tinkerforge und mache gerade die ersten Versuche mit dem GPS-Bricklet. Dazu habe ich das Callback beispiel genommen (python) und für callback_motion angepasst. Das funktioniert soweit das ich mir fortlaufend die Geschwindigkeit anzeigen lassen kann. Die Richtung (course) benötige ich nicht. Wie muss ich aber nun speed definieren, damit ich mit dem Wert berechnungen anstellen kann?

×
×
  • Neu erstellen...