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