Herunterladen Inhalt Inhalt Diese Seite drucken

SunFounder Da Vinci Kit Bedienungsanleitung Seite 133

Für den raspberry pi 4 modell b, 3 modell a +, 3 modell b +, 3 modell b, 2 modell b, 1 modell b +, 1 modell a +, zero w and zero
Inhaltsverzeichnis

Werbung

True:
while
for
i
in
range(0, 181, 5):
setAngle(i)
time.sleep(0.002)
time.sleep(1)
for
i
in
range(180, -1, -5):
setAngle(i)
time.sleep(0.001)
time.sleep(1)
def
destroy():
p.stop()
GPIO.cleanup()
if
__name__
==
'__main__':
setup()
try:
loop()
except
KeyboardInterrupt:
be executed.
destroy()
Code Erklärung
p
=
GPIO.PWM(ServoPin, 50)
p.start(0)
Stellen Sie den ServoPin auf den PWM-Pin, dann die Frequenz auf 50 Hz und die Periode auf 20 ms.
p.start (0): Führen Sie die PWM-Funktion, und setzen Sie den Anfangswert auf 0.
def
setAngle(angle):
angle
=
max(0, min(180, angle))
pulse_width
=
map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE)
pwm
=
map(pulse_width, 0, 20000, 0, 100)
p.ChangeDutyCycle(pwm)#map the angle to duty cycle and output it
Erstellen Sie eine Funktion, setAngle (), um einen Winkel von 0 bis 180 in das Servo zu schreiben.
angle
=
max(0, min(180, angle))
Diese Kode wird verwendet, um den Winkel im Bereich von 0 bis 180 ° zu begrenzen.
Die Funktion min () gibt das Minimum der Eingabewerte zurück. Wenn 180 <Winkel, then 180 zurückgeben, wenn
nicht, Winkel zurückgeben .
Die max () -Methode gibt das maximale Element in einem iterierbaren oder größten von zwei oder mehr Parametern
zurück. Wenn 0> Winkel, dann 0 zurückgeben, wenn nicht, Winkel zurückgeben.
pulse_width
=
map(angle, 0, 180, SERVO_MIN_PULSE, SERVO_MAX_PULSE)
pwm
=
map(pulse_width, 0, 20000, 0, 100)
p.ChangeDutyCycle(pwm)
Um einen Bereich von 0 bis 180° zum Servo zu rendern, wird die Impulsbreite des Servos auf 0,5 ms (500 us) bis 2,5
ms (2500 us) eingestellt.
Die Periode der PWM beträgt 20 ms (20000us), daher beträgt das Tastverhältnis der PWM (500/20000)% -
(2500/20000)%, und der Bereich 0 bis 180 wird auf 2.5 bis 12.5 abgebildet.
1.7. 1 Ausgabe
#make servo rotate from 0 to 180 deg
# Write to servo
#make servo rotate from 180 to 0 deg
#Program start from here
# When 'Ctrl+C' is pressed, the program destroy() will
# set Frequecy to 50Hz
# Duty Cycle = 0
# make the servo rotate to specific angle (0-180 degrees)
SunFounder Da Vinci Kit
(Fortsetzung der vorherigen Seite)
129

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für SunFounder Da Vinci Kit

Diese Anleitung auch für:

Davinci-kit-for-raspberry-pi

Inhaltsverzeichnis