-         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Roboterbau mit RPi - Tutorial

  1. #11
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    53
    Beiträge
    847

    Servosteuerung mit pizypwm

    Anzeige

    Nun ist es auch möglich, den Servo mittels Software - PWM anzusteuern.
    Danke an kampi für das Programm!

    Democode:
    Code:
    import RPi.GPIO as GPIO
    import time
    import signal
    import os
    from pizypwm import *
    
    def endProcess(signalnum = None, handler = None):
        servo.stop()
        GPIO.cleanup()
        exit(0)
    
    signal.signal(signal.SIGTERM, endProcess)
    signal.signal(signal.SIGINT, endProcess)
    
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(26, GPIO.OUT)
    
    
    while True:
        
        Servo = PiZyPwm(500, 26, GPIO.BOARD)
        
        user_input = raw_input("Bitte treffen Sie Ihre Wahl: ") 
        
        if(user_input == "l"):
            Servo.start(90)
            print "Drehung nach Links"
            time.sleep(1)
            Servo.stop()
            GPIO.cleanup()
        elif(user_input == "m"):
            Servo.start(50)
            print "Drehung in die Mitte"
            time.sleep(1) 
            Servo.stop()
            GPIO.cleanup()
        elif(user_input == "r"):
            Servo.start(10)
            print "Drehung nach Rechts"
            time.sleep(1)
        Servo.stop()
            GPIO.cleanup()
        elif(user_input == "q"):
            print "Programm wird beendet......"
            os._exit(1)
            Servo.stop()
            GPIO.cleanup()
        else:
            print "Ungueltige Eingabe!"

  2. #12
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    53
    Beiträge
    847
    Endlich habe ich auch den SHARP Abstandssensor in Betrieb. Die Herausforderung hierbei war, dass der Sharp nur analoge Signale am Ausgang liefert mit denen der digitale GPIO nichts anfangen kann. Als eine Lösung bietet sich hier Kampis Vorschlag an: Ein Komparator. Dieser vergleicht 2 Eingangspannungen und schaltet durch, wenn diese erreicht sind. Nachdem der GPIO Pin im EIngang nur 3,3 Volt verträgt, muss man diese Spannung als Vergleichspannung hernehmen. Dies passt um so besser, als dass der Sharp am Ausgang maxmal 3,1 Volt liefert.

    Benötigt wird:

    - SHARP Abstandssensor
    - Trimmer Poti
    - Operationsverstärker
    - Kabel

    Verkabelt wird laut Skizze.
    Program zum testen:
    Code:
    import RPi.GPIO as GPIO
    
    import time
    
    GPIO.setwarnings(False)
    
    GPIO.setmode(GPIO.BOARD)
    
    GPIO.setup(26, GPIO.IN)
    
    while True:
        
        if GPIO.input(26) == True:
            print GPIO.input(26)  
            time.sleep(0.5)  
        
        else:
            print GPIO.input(26)
            time.sleep(0.5)
    Wenn man das ganze mit einer LED koppelt, sollte es so aussehen:
    http://www.youtube.com/watch?v=bv1BK...NUSUew&index=2

    SHARP kombiniert mit der Linienverfolgung:
    http://www.youtube.com/watch?v=FUu94...NUSUew&index=1

    Fazit/Epilog:

    Ich habe meinen Pinselbot noch mit einem Rpi Type A ausgestattet (siehe Fotos). Der Vorteil hierbei ist, dass dieses Modell nur 200 mA Strom braucht und deswegen die Batterien etwa 3x so lange halten wie beim RPi Modell B.

    Ich habe nun alle 17 GPIO Pins mit folgenden Funktionen belegt :

    - Motorsteuerung 4 Pins
    - LCD 6 Pins
    - Servo 1 Pin
    - Ultraschallmodul 2 Pins
    - Liniensensor 2 Pins
    - Sharp Abstandssensor 1 Pin
    - LED 1 Pin

    Nun warte ich auf den RPi Kamera, damit können sicher auch interessante Dinge gemacht werden (Gesichtserkennung, etc.)

  3. #13
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    29
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    die Motorsteuerung und die LED kannst du alternativ ja noch an einen PCF8574 packen.
    Dadurch sparst du 5 GPIOs ein (nur so als Idee).
    Auf die Kamera warte ich auch schon gespannt
    Das Ding kommt an nen Servo und vielleicht noch 1-2 IR LEDs dran um eine brauchbare und schwenkbare Kamera zu haben.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    53
    Beiträge
    847

    Die RPi Kamera Modul ist da!

    Gekauft bei RS: http://raspberrypi.rsdelivers.com/pr...e/7757731.aspx
    Installation und Bedienung wie folgt: http://www.raspberrypi.org/archives/3890
    Online Stream via VLC ist auch möglich: http://raspi.tv/2013/how-to-stream-v...blet-using-vlc

    Ich habe einen Schlitz in die Plexiglasplattform gemacht und die Kamera darin fixiert (sh. Foto).

    Sobald es mir möglich ist, werde ich mich mit der Objektverfolgung auseinandersetzen.

    *Fortsetzung folgt*

  5. #15
    Prima Anleitung und Beschreibung!

    Wärst du so nett die Links zu aktualisieren?

  6. #16
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    53
    Beiträge
    847
    Hallo,

    nun eine Funktion des Bots mit Kamera: "Spionage-PiBot"

    Zuerst ein Code, mit dem der Bot via Tastatur ferngesteuert werden kann:

    Code:
    #These are the keyboard mappings
    #z = Go forward
    #q = Stop going forward or back
    #b = Go back
    #g= Go left
    #h = Go right
    
    #Get the GPIO module
    import RPi.GPIO as GPIO
    
    #Get the time module
    import time
    
    #A routine to control a pair of pins
    def ControlAPairOfPins(FirstPin,FirstState,SecondPin,SecondState):
      print "Controlling them pins"
      if FirstState == "1":
        GPIO.output(int(FirstPin),True)
      else:
        GPIO.output(int(FirstPin),False)
    
      if SecondState == "1":
        GPIO.output(int(SecondPin),True)
      else:
        GPIO.output(int(SecondPin),False)
      #Just retur
      return
    
    ####Main body of code
    
    #Get rid of warnings
    GPIO.setwarnings(False)
    
    #Set the GPIO mode
    GPIO.setmode(GPIO.BOARD)
    #Set the pins to be outputs
    GPIO.setup(19,GPIO.OUT)
    GPIO.setup(21,GPIO.OUT)
    GPIO.setup(23,GPIO.OUT)
    GPIO.setup(24,GPIO.OUT)
    
    while True:
      MyChar = raw_input("Press a character:")
      print "You pressed: " + MyChar
      if MyChar == "z":
        ControlAPairOfPins("19","1","21","0")
        ControlAPairOfPins("23","0","24","1")
        print "Forward"
      elif MyChar == "q":
        ControlAPairOfPins("19","0","21","0")
        ControlAPairOfPins("23","0","24","0")
        print "Stop"
      elif MyChar == "b":
        ControlAPairOfPins("19","0","21","1")
        ControlAPairOfPins("23","1","24","0")
        print ("Back")
      elif MyChar == "g":
        ControlAPairOfPins("19","0","21","1")
        ControlAPairOfPins("23","0","24","1")
        print "Left"
      elif MyChar == "h":
        ControlAPairOfPins("19","1","21","0")
        ControlAPairOfPins("23","1","24","0")
        print "Right"
      else:
        print "Not a command"
    Dann die Kamera einschalten:
    Code:
    raspivid -o - -t 999999 -hf -w 640 -h 360 -fps 25|cvlc -vvv  stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}'  :demux=h264
    Und mittels VLC spionieren
    http://raspi.tv/2013/how-to-stream-v...blet-using-vlc

    Viel Spass!

  7. #17
    Eine Frage ich möchte einen Pi Bot mit Tastatursteuerung WLAN und Kamera bauen dass Fahrgestell und die Brücke hab ich (genau das selbe wie Pinsel) und ich verstehe dass hier nicht wirklich kann mir jemand helfen??

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.06.2004
    Ort
    Berlin
    Alter
    54
    Beiträge
    393
    was verstehts du denn?
    das leben ist hart, aber wir müssen da durch.

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. wie soll ich mit dem Roboterbau anfangen
    Von el barto im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 06.02.2015, 18:15
  2. Pinsel's RPi Bot
    Von pinsel120866 im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 16
    Letzter Beitrag: 10.02.2013, 08:16
  3. Android auf dem RPI
    Von pinsel120866 im Forum Raspberry Pi
    Antworten: 1
    Letzter Beitrag: 11.12.2012, 21:43
  4. Gesucht: Hilfe für Roboterbau mit Raspberry Pi
    Von haering im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 23.04.2012, 19:01
  5. Grundlagen / Tutorial für µC-Programmierung mit C
    Von Zecher im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 26.03.2005, 22:02

Berechtigungen

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