Klasse "Robot"
Dies ist ein Beispiel für eine Bibliothek, die dir Grundfunktionen des Fahrens in objektorientierter Programmierung zeigt.
Die Funktion fahren(self, s, dir_l, dir_r):
setzt die Fahrfunktion allgemein um. Um den Aufruf der Grundfunktionen zu vereinfachen, wird diese Funktion von einfacher benannten Funktionen aufgerufen.
# import motor
from motor import Motor, BiMotor
import utime
class Robot:
def __init__(self, m1, m2):
self.motor_left= BiMotor(m1) # Initializing pins 11 and 12 for left motor.
self.motor_right= BiMotor(m2) # Initializing pins 14 and 15 for right motor.
self.speed = 0
def fahren(self, s, dir_l, dir_r):
self.motor_left.setForward(dir_l)
self.motor_right.setForward(dir_r)
if s > self.speed:
steps = 1
elif s < self.speed:
steps = -1
for i in range(self.speed,s,steps):
self.motor_left.setSpeed(i)
self.motor_right.setSpeed(i)
utime.sleep_ms(10+int(i/2))
self.speed = s
def geradeaus(self, s):
self.fahren(s,True, True)
def rueckwaerts(self, s):
self.fahren(s,False, False)
def turn(self, d):
self.fahren(40,True,False)
utime.sleep_ms(d)
self.fahren(0,True,False)
def stop(self):
self.fahren(0,self.motor_left.forward, self.motor_right.forward)
Beispiel für die Benutzung der Klasse
robot = Robot(11,14) # Definiert die Klasse Roboter, die die Pins für die Motoren übergibt.