Lassen Sie uns Akizuki Denshis vierrädriges Fahrzeug FT-MC-004 mit Raspberry Pi fahren.
FT-MC-004 ist das auf Arduino basierende 4WD-Auto-Kit von Akizuki Denshi. Der Preis beträgt ¥ 2.610. 4WD Mobile Robot Platform Kits for Education FT-MC-004 http://akizukidenshi.com/catalog/g/gK-13652/
Die Kit-Konfiguration des FT-MC-004 besteht aus 4 Motoren, einer Motortreiberplatine, einem Chassis und Stegen für eine Mikrocomputerplatine. Die Brudermaschine FT-MC-002 besteht aus zwei Motoren, einer Motortreiberplatine, einem Chassis und einem Steg für eine Mikrocomputerplatine. Abhängig von der Anzahl der Motoren gibt es zwei Typen. Es kann jedoch nicht so verwendet werden, wie es ist.
Es ist schwierig, den Raspberry Pi und den Akku einzubauen. Aus diesem Grund verwenden wir das Tamiya Fun Work Series Nr. 157 Universal Plate 2 Sheets Set (70157). Bild des Anbringens von Raspberry Pi Legen Sie diese auf FT-MC-004.
Dieses Mal habe ich Raspberry Pi in einem Fall verwendet, anstatt es direkt zu platzieren. Die Stromversorgung erfolgte über eine USB-Batterie. Wir empfehlen, RaspberryPi 5V nicht zu verwenden, da dies die Verkabelung durchbrennen kann.
Lass es uns bewegen. Der FT-MC-004 wird durch Eingabe der PWM-Frequenz in den Motortreiber gesteuert.
[Frage] Wie groß ist die Impulsbreite für die angeschlossene Karte? [Antwort] Da keine Herstellerdaten vorliegen, werden die gemessenen Werte unten angezeigt. Vorwärtsdrehung: 1,2 bis 1,4 (keine visuelle Änderung darunter) Still: 1.5 (Es gibt eine leichte Totzone vorne und hinten) Umkehrung: 1.6-1.8 (keine visuellen Änderungen mehr) Einheit (ms) (C)http://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=K-13652 Die Steuerung erfolgt durch Ausgabe von PWM an die Pins 4 und 17 von GPIO. ** Nach einem anderen Dokument, 1 ms bis 2 ms, beträgt die Mitte 1,5 ms.
Das Programm sieht so aus. Ich bin stationär
servoX.ChangeDutyCycle(7.2)
Es wurde gemacht. Es ist möglich, von 6,5 auf 8,5 vorwärts und rückwärts zu steuern. (Vorder- und Rückseite sind nicht gut ausbalanciert) Wenn Sie dies in Python tun, drehen sich die Reifen vorerst.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
lp_out = 4
rp_out = 17
GPIO.setup(lp_out, GPIO.OUT)
GPIO.setup(rp_out, GPIO.OUT)
servol = GPIO.PWM(lp_out, 50)
servor = GPIO.PWM(rp_out, 50)
servol.start(0)
servor.start(0)
for i in range(1):
print("Stop")
servol.ChangeDutyCycle(7.2)
servor.ChangeDutyCycle(7.2)
time.sleep(1.5)
print("Start")
servol.ChangeDutyCycle(6.5)
servor.ChangeDutyCycle(8.0)
time.sleep(1.5)
print("Stop")
servol.ChangeDutyCycle(7.2)
servor.ChangeDutyCycle(7.2)
time.sleep(1.5)
servol.stop()
servor.stop()
GPIO.cleanup()
Lass es uns etwas länger drehen.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
lp_out = 4
rp_out = 17
GPIO.setup(lp_out, GPIO.OUT)
GPIO.setup(rp_out, GPIO.OUT)
servol = GPIO.PWM(lp_out, 50)
servor = GPIO.PWM(rp_out, 50)
servol.start(0)
servor.start(0)
for i in range(1):
print("Stop")
servol.ChangeDutyCycle(7.2)
servor.ChangeDutyCycle(7.2)
time.sleep(1.5)
print("Start")
servol.ChangeDutyCycle(6.5)
servor.ChangeDutyCycle(8.0)
time.sleep(1.5)
print("Stop")
servol.ChangeDutyCycle(7.2)
servor.ChangeDutyCycle(7.2)
time.sleep(1.5)
print("R")
servol.ChangeDutyCycle(7.2)
servor.ChangeDutyCycle(8.0)
time.sleep(1.5)
print("L")
servol.ChangeDutyCycle(5.0)
servor.ChangeDutyCycle(7.2)
time.sleep(1.5)
print("BR")
servol.ChangeDutyCycle(7.2)
servor.ChangeDutyCycle(5.0)
time.sleep(1.5)
print("BL")
servol.ChangeDutyCycle(10.0)
servor.ChangeDutyCycle(7.2)
time.sleep(1.5)
servol.stop()
servor.stop()
GPIO.cleanup()
Recommended Posts