Wer liest diese verrückten Artikel? ..
Raspberry Pi verfügt über viele Erweiterungsplattformen namens HAT, die auf ein bestimmtes Gebiet spezialisiert sind. Diesmal kam die Mission, den Motor mit Raspeye zu bewegen. Zuerst habe ich hart am Brotbrett gearbeitet, aber es wurde mühsam und
Nein, ich sollte nach HUT suchen! !! !!
Deshalb habe ich angefangen, danach zu suchen.
Es waren 4 Punkte.
Und das habe ich gefunden! !! Es ist ein HAT namens RPi Motor Driver Board von Waveshare.
Selbst wenn Sie den Raspeltorte mit HAT bedecken, können Sie alle GPIOs verwenden. Es können auch zwei Motoren angeschlossen werden, um die Raspeltorte mit Strom zu versorgen! !! Wir verwenden 6 AA-Batterien.
Beispiel)
import RPi.GPIO as GPIO
from time import sleep
PWMA1 = 6
PWMA2 = 13
PWMB1 = 20
PWMB2 = 21
D1 = 12
D2 = 26
#Verwenden Sie die GPIO-Portnummer
GPIO.setmode(GPIO.BCM)
#Richten Sie GPIO für die Verwendung mit dem Motor ein
GPIO.setup(PWMA1,GPIO.OUT)
GPIO.setup(PWMA2,GPIO.OUT)
GPIO.setup(PWMB1,GPIO.OUT)
GPIO.setup(PWMB2,GPIO.OUT)
GPIO.setup(D1,GPIO.OUT)
GPIO.setup(D2,GPIO.OUT)
#PWM-Einstellungen
motor1 = GPIO.PWM(D1,50)
motor2 = GPIO.PWM(D2,50)
#()Geben Sie eine Geschwindigkeit von 0 bis 100 an
motor1.start(50)
motor2.start(50)
#Bewegen Sie den Motor.
GPIO.output(PWMA1,1)
GPIO.output(PWMA2,0)
GPIO.output(PWMB1,1)
GPIO.output(PWMB2,0)
#Bewegen Sie den Motor 3 Sekunden lang
sleep(3)
#Stoppen Sie den Motor.
GPIO.output(PWMA1,0)
GPIO.output(PWMA2,0)
GPIO.output(PWMB1,0)
GPIO.output(PWMB2,0)
Mit dem obigen Programm ist es möglich, vorerst zwei Motoren 3 Sekunden lang laufen zu lassen. Schauen wir uns die Programme der Reihe nach von oben an.
Es verwendet das bekannte GPIO und die Zeitschlafbibliothek.
import RPi.GPIO as GPIO
from time import sleep
Deklarieren Sie die GPIO-Portnummer.
PWMA1 = 6
PWMA2 = 13
PWMB1 = 20
PWMB2 = 21
D1 = 12
D2 = 26
Motor Driver Board kann zwei Motoren einstellen,
** Motor 1 mit Anschlussnummer 12 ** ** Motor 2 Port Nummer 26 **
Scheint zu verwenden.
Beim Weiterleiten von mehr Strom
** Einer von Motor 1 hat Port Nummer 6 ** ** Einer von Motor 1 hat die Portnummer 13 **
** Einer von Motor 2 hat die Portnummer 20 ** ** Einer von Motor 2 hat die Portnummer 21 **
Verwenden Sie die.
Es wird angenommen, dass Strom von einer Seite fließt und die andere Seite GND ist.
GPIO.setup(PWMA1,GPIO.OUT)
GPIO.setup(PWMA2,GPIO.OUT)
GPIO.setup(PWMB1,GPIO.OUT)
GPIO.setup(PWMB2,GPIO.OUT)
GPIO.setup(D1,GPIO.OUT)
GPIO.setup(D2,GPIO.OUT)
Das ist auch bekannt.
Der Motor deklariert PWM nach dem GPIO-Setup.
motor1 = GPIO.PWM(D1,50)
motor2 = GPIO.PWM(D2,50)
--Portnummer, an der Sie PWM als erstes Argument verwenden möchten
Ursprünglich unterstützt GPIO nur die Ein- und Ausgabe digitaler Signale. Digitale Signale können nur ein- und ausgeschaltet werden. Geschwindigkeitsanpassung und LED-Helligkeitsanpassung können nicht nur durch Ein- und Ausschalten ausgedrückt werden, und es muss ein analoges Signal gesendet werden. Daher ist es notwendig, die Ausgangsspannung unter Verwendung dieses PWM-Verfahrens auf Pseudo-Weise zu steuern.
motor1.start(50)
motor2.start(50)
Sie können im Argument eine Geschwindigkeit von 0 bis 100 angeben.
Das ist bekannt.
GPIO.output(PWMA1,1) #Port 6
GPIO.output(PWMA2,0) #Port 13
Strom fließt von Port 6 und Port 13 wird zu GND.
GPIO.output(PWMA1,0) #Port 6
GPIO.output(PWMA2,1) #Port 13
Der Strom fließt von Port 13 und Port 6 wird zu GND. Dies kehrt die Drehung des Motors um.
** Motor 2 hat die gleiche Bewegung, daher wird sie weggelassen **
Vertrauter Schlaf
sleep(3)
Durch Ausschalten des gesamten durch GPIO fließenden Stroms stoppt der Motor.
GPIO.output(PWMA1,0)
GPIO.output(PWMA2,0)
GPIO.output(PWMB1,0)
GPIO.output(PWMB2,0)
das ist alles.
Ich frage mich, ob jemand so einen verrückten HUT benutzt. .. Wenn Sie Fragen haben, teilen Sie uns bitte mit, was Sie verwenden, und teilen Sie die Informationen!