Frage von DerDev, 87

Raspberry pi 2 Servo ansteuer will nicht gehen?

Hallo, ich schaffe es jetzt seit geschlagenen 3 Stunden nicht dieses Servo an zu schließen. Ich erzähle jetzt einfach mal wie ich alles gemacht habe. 1. GPIO Libary installiert.
2. Servo + und - Pol an Akku angeschlossen.
3.PWM Kabel an den Rasp. pi 2 an den 4 Pin von oben also von der Platine weg angeschlossen.
4.Dieses Script kopiert:
import RPi.GPIO as GPIO import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7,GPIO.OUT)

p = GPIO.PWM(7,50)
p.start(7.5)

try:
        while True:
                p.ChangeDutyCycle(7.5)
                time.sleep(1)
                p.ChangeDutyCycle(12.5)
                time.sleep(1)
                p.ChangeDutyCycle(2.5)
                time.sleep(1)

except KeyboardInterrupt:
        GPIO.cleanup()

5.Script mit dem Command "sudo python links.py" ausgeführt.
6. Es ist nichts passiert.
Ich denke das ich warscheinlich einfach nur an den Falschen Pin angeschlossen habe aber das weis ich auch nicht ):

Danke im voraus MFG Luick.

Antwort
von holofoxx, 57

Hi DerDev,

ich hätte jetzt auch gesagt, dass der falsche Pin steckt. Den Unterschied zwischen BOARD und BCM wirst du kennen nehme ich an. Ansonsten schau dir einfach eine Grafik an. Es gibt welche da sind sowohl die durchnummerierten Pins drauf, die BCM-Pins und die Bezeichnung für die einzelnen Pins. 

Grüße foxx

Kommentar von YellowEagle ,

Naja ich bin wirklich sehr neu leider weis ich immer noch nicht der Unterschied zwischen BOARD und BCM.

Könntest du mir sagen welchen Pin ich benutzen soll und was der Unterschiede ist?

Kommentar von holofoxx ,

OK kein Problem dann erkläre ich es dir kurz und einfach. BOARD weist allen Pins auf dem Pi die Nummer zu, die sie von oben links nach ganz unten rechts hätten. also von 1-40. BCM ist die Ansteuerung, die der Controller auf der CPU von Broadcomm hat. Das heißt im Klartext der 7. Pin auf dem Pi kann für den Controller aber der 17. sein. 

Schau mal hier: http://i.stack.imgur.com/Ct2JG.png

Dort siehst du bei Pin# die Nummer des Pins wenn sie normal gezählt werden (BOARD), unter Name die Bezeichnung die der Pin hat (3.3V ist zB nicht ansteuerbar sondern immer bei 3.3V) und dann in dick schwarz dahinter die Nummer aus Sicht des Controllers (BCM). Für dein Problem heißt das, dass du für Pin7(BCM) Pin26 (BOARD) nehmen musst. 

Kommentar von holofoxx ,

Druck dir das Bild auch ruhig aus. Ich habe das am Anfang immer auf meinem Bildschirm gehabt. Kanns mir noch nichtmal jetzt merken :D

Kommentar von YellowEagle ,

Danke ;D

Kommentar von YellowEagle ,

Jetzt habe ich s verstanden, danke ;D Aber ist Pin 7(BCM) ein PWM Pin?

Kommentar von holofoxx ,

Du kannst jeden Pin der ansteuerbar ist als PWM Pin verwenden. 

Kommentar von YellowEagle ,

Es geht trotz dem nicht habe den PWM vom Servo jetzt an BOARD Pin 12angeschlossen es geht aber trotzdem nicht.

Kommentar von holofoxx ,

Wenn in deinem Programm steht BOARD, dann musst du es auch an genau den Pin stecken. Also in deinem Fall 7. Ansonsten entweder Code oder Polung überprüfen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten