Klasse Robot
¶
Beispiel
# Import Robot class
from robot import Robot
# Create a robot(PiSloth)
robot = Robot(pin_list=[0, 1, 2, 3], name="pisloth")
robot.move_list["forward"] = [
[0, 40, 0, 15],
[-30, 40, -30, 15],
[-30, 0, -30, 0],
[0, -15, 0, -40],
[30, -15, 30, -40],
[30, 0, 30, 0],
]
robot.do_action("forward", step=3, speed=90)
API
- class robot_hat.Robot(pin_list, db='/root/.config/robot-hat/robot-hat.conf', name=None, init_angles=None, init_order=None, **kwargs)¶
Basisklasse:
_Basic_class
Robot-Klasse
Diese Klasse dient zum Erstellen eines Servo-Roboters mit dem Robot HAT
Es gibt eine Servo-Initialisierung, alle Servos bewegen sich mit einer spezifischen Geschwindigkeit. Servo-Offset und so weiter. Es erleichtert das Erstellen eines Roboters. Alle Pi-Serie Roboter von SunFounder verwenden diese Klasse. Schauen Sie sich diese für weitere Details an.
PiSloth: https://github.com/sunfounder/pisloth
PiArm: https://github.com/sunfounder/piarm
PiCrawler: https://github.com/sunfounder/picrawler
- move_list = {}¶
Voreingestellte Aktionen
- max_dps = 428¶
Servo maximale Grad pro Sekunde
- __init__(pin_list, db='/root/.config/robot-hat/robot-hat.conf', name=None, init_angles=None, init_order=None, **kwargs)¶
Die Robot-Klasse initialisieren
- Parameter
pin_list (list) – Liste der Pin-Nummern [0-11]
db (str) – Pfad zur Konfigurationsdatei
name (str) – Robotername
init_angles (list) – Liste der Anfangswinkel
init_order (list) – Liste der Initialisierungsreihenfolge (Servos werden einzeln initialisiert, falls es zu einem plötzlichen starken Strom kommt, der die Spannung der Stromversorgung herunterzieht. Die Standardreihenfolge ist die Pin-Liste. In einigen Fällen benötigen Sie eine andere Reihenfolge, verwenden Sie diesen Parameter, um sie festzulegen.)
- new_list(default_value)¶
Erstellen Sie eine Liste von Servowinkeln mit Standardwert
- Parameter
default_value (int or float) – Standardwert der Servowinkel
- Rückgabe
Liste der Servowinkel
- Rückgabetyp
list
- servo_write_raw(angle_list)¶
Servowinkel auf spezifische Rohwinkel einstellen
- Parameter
angle_list (list) – Liste der Servowinkel
- servo_write_all(angles)¶
Servowinkel mit ursprünglichem Winkel und Offset auf spezifische Winkel einstellen
- Parameter
angles (list) – Liste der Servowinkel
- servo_move(targets, speed=50, bpm=None)¶
Servo mit Geschwindigkeit oder bpm auf spezifische Winkel bewegen
- Parameter
targets (list) – Liste der Servowinkel
speed (int or float) – Geschwindigkeit der Servobewegung
bpm (int or float) – Schläge pro Minute
- do_action(motion_name, step=1, speed=50)¶
Führen Sie eine vordefinierte Aktion mit Bewegungsname, Schritt und Geschwindigkeit aus
- Parameter
motion_name (str) – Bewegung
step (int) – Schritt der Bewegung
speed (int or float) – Geschwindigkeit der Bewegung
- set_offset(offset_list)¶
Offset der Servowinkel einstellen
- Parameter
offset_list (list) – Liste der Servowinkel
- calibration()¶
Alle Servos in die Ausgangsposition bewegen
- reset()¶
Servo in die ursprüngliche Position zurücksetzen