schreibe Lego mit Segmenten Backsteinrobot

This commit is contained in:
unknown 2023-06-28 19:06:19 +02:00
parent e29586681a
commit b654633332
2 changed files with 15 additions and 7 deletions

View file

@ -18,7 +18,7 @@ class IQRobot:
self.movementMotors: MotorPair = MotorPair(leftMotorPort, rightMotorPort) self.movementMotors: MotorPair = MotorPair(leftMotorPort, rightMotorPort)
#self.colorSensor: ColorSensor = ColorSensor(colorSensorPort) #self.colorSensor: ColorSensor = ColorSensor(colorSensorPort)
#self.frontMotorLeft: Motor = Motor("C") #self.frontMotorLeft: Motor = Motor("C")
self.frontMotorRight: Motor = Motor("B") self.frontMotorRight: Motor = Motor("E")
self.motionSensor: MotionSensor = MotionSensor() self.motionSensor: MotionSensor = MotionSensor()
@ -50,6 +50,13 @@ class IQRobot:
self.movementMotors.stop() self.movementMotors.stop()
def drehe_backstein_robot(self, grad=90):
radius=9.5
stift_versatz=2.2
self.movementMotors.move(-radius - stift_versatz)
self.drehe(grad)
self.movementMotors.move(radius - stift_versatz)
def buchstabe_zu_segmenten(self, buchstabe): def buchstabe_zu_segmenten(self, buchstabe):
# Segmente um Buchstaben zu schreiben # Segmente um Buchstaben zu schreiben
# 5_ # 5_
@ -65,19 +72,20 @@ class IQRobot:
self.frontMotorRight.run_for_rotations(richtung*0.4) self.frontMotorRight.run_for_rotations(richtung*0.4)
def schreibe_buchstabe(self, buchstabe): def schreibe_buchstabe(self, buchstabe):
print(f"Schreibe {buchstabe}") print("Schreibe " + buchstabe)
segmente = self.buchstabe_zu_segmenten(buchstabe) segmente = self.buchstabe_zu_segmenten(buchstabe)
grad_drehung=90 grad_drehung=-90
self.movementMotors.move(2) self.movementMotors.move(2)
self.drehe(grad_drehung) self.drehe(grad_drehung)
for segment, segment_nummer in enumerate(segmente): for segment, segment_nummer in enumerate(segmente):
print("Segment: " + str(segment) + " , Segment Nummer: " + str(segment_nummer))
if segment==1: if segment==1:
self.bewege_stift(-1) self.bewege_stift(-1)
self.movementMotors.move(5) self.movementMotors.move(5)
if segment==1: if segment==1:
self.bewege_stift(1) self.bewege_stift(1)
if segment_nummer+1 != 3: if (segment_nummer+1) != 3:
self.drehe(grad_drehung) self.drehe_backstein_robot(grad_drehung)
def schreibeL(self, schreibe=True, zurueck=False): def schreibeL(self, schreibe=True, zurueck=False):

View file

@ -73,8 +73,8 @@ dh auch an die Funktionen im importierten Code übergeben werde
# Definiere an welchen Ports die Sensoren angeschlossen sind # Definiere an welchen Ports die Sensoren angeschlossen sind
COLOR_SENSOR_PORT = 'E' #not implemented yet COLOR_SENSOR_PORT = 'E' #not implemented yet
LEFT_MOTOR_PORT = 'E' LEFT_MOTOR_PORT = 'F'
RIGHT_MOTOR_PORT = 'F' RIGHT_MOTOR_PORT = 'B'
# Initialisieren des Hubs, der Aktoren und Sensoren # Initialisieren des Hubs, der Aktoren und Sensoren
hub = PrimeHub() hub = PrimeHub()