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
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