Modul motor
¶
Klasse Motors
¶
Beispiel
Initialisieren
# Import Motor class
from robot_hat import Motors
# Create Motor object
motors = Motors()
Direkte Steuerung eines Motors. Motor 1/2 entspricht der Kennzeichnung auf der Platine
# Motor 1 clockwise at 100% speed
motors[1].speed(100)
# Motor 2 counter-clockwise at 100% speed
motors[2].speed(-100)
# Stop all motors
motors.stop()
Einrichtung für hochrangige Steuerung, welche Funktionen von einfachen Bewegungen wie Vorwärts, Rückwärts, Links, Rechts, Stopp bis zu komplexeren wie Joysticksteuerung, Kalibrierung der Motorenrichtung usw. bereitstellt.
Bemerkung
All diese Einrichtungen müssen nur einmal ausgeführt werden und werden in einer Konfigurationsdatei gespeichert. Wenn Sie das nächste Mal die Klasse Motors laden, wird sie aus der Konfigurationsdatei geladen.
# Setup left and right motors
motors.set_left_id(1)
motors.set_right_id(2)
# Go forward and see if both motor directions are correct
motors.forward(100)
# if you found a motor is running in the wrong direction
# Use these function to correct it
motors.set_left_reverse()
motors.set_right_reverse()
# Run forward again and see if both motor directions are correct
motors.forward(100)
Jetzt den Roboter steuern
import time
motors.forward(100)
time.sleep(1)
motors.backward(100)
time.sleep(1)
motors.turn_left(100)
time.sleep(1)
motors.turn_right(100)
time.sleep(1)
motors.stop()
API
- class robot_hat.Motors(db='/root/.config/robot-hat/robot-hat.conf', *args, **kwargs)¶
Basisklasse:
_Basic_class
- __init__(db='/root/.config/robot-hat/robot-hat.conf', *args, **kwargs)¶
Motoren mit robot_hat.motor.Motor initialisieren
- Parameter
db (str) – Pfad zur Konfigurationsdatei
- __getitem__(key)¶
Spezifischen Motor abrufen
- stop()¶
Alle Motoren stoppen
- property left¶
linker Motor
- property right¶
rechter Motor
- set_left_id(id)¶
Linke Motor-ID einstellen, diese Funktion muss nur einmal ausgeführt werden. Sie speichert die Motor-ID in der Konfigurationsdatei und lädt sie beim Initialisieren der Klasse.
- Parameter
id (int) – Motor-ID (1 oder 2)
- set_right_id(id)¶
Rechte Motor-ID einstellen, diese Funktion muss nur einmal ausgeführt werden. Sie speichert die Motor-ID in der Konfigurationsdatei und lädt sie beim Initialisieren der Klasse.
- Parameter
id (int) – Motor-ID (1 oder 2)
- set_left_reverse()¶
Linken Motor umkehren, diese Funktion muss nur einmal ausgeführt werden. Sie speichert den umgekehrten Status in der Konfigurationsdatei und lädt diesen beim Initialisieren der Klasse.
- Rückgabe
ob derzeit umgekehrt ist
- Rückgabetyp
bool
- set_right_reverse()¶
Rechten Motor umkehren, diese Funktion muss nur einmal ausgeführt werden. Sie speichert den umgekehrten Status in der Konfigurationsdatei und lädt diesen beim Initialisieren der Klasse.
- Rückgabe
ob derzeit umgekehrt ist
- Rückgabetyp
bool
- speed(left_speed, right_speed)¶
Motorgeschwindigkeit einstellen
- Parameter
left_speed (float) – Geschwindigkeit des linken Motors (-100,0 bis 100,0)
right_speed (float) – Geschwindigkeit des rechten Motors (-100,0 bis 100,0)
- forward(speed)¶
Vorwärts
- Parameter
speed (float) – Motorgeschwindigkeit (-100,0 bis 100,0)
- backward(speed)¶
Rückwärts
- Parameter
speed (float) – Motorgeschwindigkeit (-100,0 bis 100,0)
- turn_left(speed)¶
Links abbiegen
- Parameter
speed (float) – Motorgeschwindigkeit (-100,0 bis 100,0)
- turn_right(speed)¶
Rechts abbiegen
- Parameter
speed (float) – Motorgeschwindigkeit (-100,0 bis 100,0)
Klasse Motor
¶
Beispiel
# Import Motor class
from robot_hat import Motor, PWM, Pin
# Create Motor object
motor = Motor(PWM("P13"), Pin("D4"))
# Motor clockwise at 100% speed
motor.speed(100)
# Motor counter-clockwise at 100% speed
motor.speed(-100)
# If you like to reverse the motor direction
motor.set_is_reverse(True)
API
- class robot_hat.Motor(pwm, dir, is_reversed=False)¶
Basisklasse:
object
- __init__(pwm, dir, is_reversed=False)¶
Einen Motor initialisieren
- Parameter
pwm (robot_hat.pwm.PWM) – PWM-Pin zur Geschwindigkeitssteuerung des Motors
dir (robot_hat.pin.Pin) – Pin zur Steuerung der Motorenrichtung
- speed(speed=None)¶
Motorgeschwindigkeit abrufen oder einstellen
- Parameter
speed (float) – Motorgeschwindigkeit (-100,0 bis 100,0)
- set_is_reverse(is_reverse)¶
Motor umkehren oder nicht
- Parameter
is_reverse (bool) – Wahr oder Falsch