Compare commits

..

No commits in common. "10012024" and "main" have entirely different histories.

2 changed files with 21 additions and 68 deletions

View file

@ -26,7 +26,6 @@ class IQRobot:
FRONT_MOTOR_RIGHT_PORT = "B" FRONT_MOTOR_RIGHT_PORT = "B"
FRONT_MOTOR_LEFT_PORT = "A" FRONT_MOTOR_LEFT_PORT = "A"
self.farbSensor: ColorSensor = ColorSensor("C")
self.bothFrontMotors: MotorPair = MotorPair(FRONT_MOTOR_LEFT_PORT, FRONT_MOTOR_RIGHT_PORT) self.bothFrontMotors: MotorPair = MotorPair(FRONT_MOTOR_LEFT_PORT, FRONT_MOTOR_RIGHT_PORT)
self.linker_motor_vorne: Motor = Motor(FRONT_MOTOR_LEFT_PORT) self.linker_motor_vorne: Motor = Motor(FRONT_MOTOR_LEFT_PORT)
self.linker_motor_vorne.set_stall_detection(stop_when_stalled=True) self.linker_motor_vorne.set_stall_detection(stop_when_stalled=True)
@ -46,10 +45,7 @@ class IQRobot:
self.bewegungsSensor: MotionSensor = MotionSensor() self.bewegungsSensor: MotionSensor = MotionSensor()
try: self.abstandsSensor: DistanceSensor = DistanceSensor("D")
self.abstandsSensor: DistanceSensor = DistanceSensor("D")
except:
self.abstandsSensor: DistanceSensor = DistanceSensor("C")
def show(self, image: str): def show(self, image: str):
''' '''
@ -102,7 +98,7 @@ class IQRobot:
self.antrieb.stop() self.antrieb.stop()
print ("Final Ziel: {}, Aktuell: {}".format(ziel, aktuell)) print ("Final Ziel: {}, Aktuell: {}".format(ziel, aktuell))
def fahre_gerade_aus(self, cm, speed=20, intensity_stop=None, abstand_stop=None, abstand_greater=True): def fahre_gerade_aus(self, cm, speed=20):
""" """
Funktion um den Roboter geradeaus fahren zu lassen Funktion um den Roboter geradeaus fahren zu lassen
@ -126,8 +122,8 @@ class IQRobot:
self.bewegungsSensor.reset_yaw_angle() self.bewegungsSensor.reset_yaw_angle()
# Mit irgendeiner Geschwindigkeit g>0 starten. Wert ist irrelevant # Mit irgendeiner Geschwindigkeit g>0 starten. Wert ist irrelevant
self.antrieb.start_tank(richtung*10, richtung*10) self.antrieb.start_tank(10, 10)
self.antrieb.set_default_speed(richtung*10) self.antrieb.set_default_speed(10)
linker_speed=speed # Geschwindigkeit linker Motor linker_speed=speed # Geschwindigkeit linker Motor
rechter_speed=speed # Geschwindigkeit rechter Motor rechter_speed=speed # Geschwindigkeit rechter Motor
@ -139,20 +135,6 @@ class IQRobot:
# wiederhole solange die gefahrene Strecke noch nicht erreicht ist # wiederhole solange die gefahrene Strecke noch nicht erreicht ist
while sum_cm < cm * richtung: while sum_cm < cm * richtung:
if intensity_stop:
red, green, blue, intensity = self.farbSensor.get_rgb_intensity()
print("Farbintensität: " + str(intensity))
if intensity == intensity_stop:
break
if abstand_stop:
abstand = self.abstandsSensor.get_distance_cm()
print("Abstand: " + str(abstand))
if abstand_greater:
if abstand >= abstand_stop:
break
else:
if abstand <= abstand_stop:
break
wait_for_seconds(0.05) # Sonst wird das zu oft ausgeführt wait_for_seconds(0.05) # Sonst wird das zu oft ausgeführt
sum_cm = self.strecke_gefahren() * richtung # Gefahrene Strecke, ggf. eben negativ machen sum_cm = self.strecke_gefahren() * richtung # Gefahrene Strecke, ggf. eben negativ machen
versatz = self.bewegungsSensor.get_yaw_angle() # Um wie viel sind wir falsch? versatz = self.bewegungsSensor.get_yaw_angle() # Um wie viel sind wir falsch?
@ -211,7 +193,7 @@ class IQRobot:
""" """
self.bothFrontMotors.move_tank(-cm*3.3,"cm", -speed, speed) # Heber bewegen self.bothFrontMotors.move_tank(-cm*3.3,"cm", -speed, speed) # Heber bewegen
def schaufel(self,prozent, speed=100): def schaufel(self,prozent, speed=20):
""" """
Lässt die Schaufel fahren Lässt die Schaufel fahren

59
main.py
View file

@ -1,4 +1,4 @@
# LEGO type:standard slot:5 # LEGO type:standard slot:5 autostart
import os, sys import os, sys
@ -88,61 +88,32 @@ def hologram_alt():
iqRobot.fahre_gerade_aus(cm=-75,speed=50) iqRobot.fahre_gerade_aus(cm=-75,speed=50)
def druckmaschine(): def druckmaschine():
iqRobot.fahre_gerade_aus(19,70) iqRobot.fahre_gerade_aus(19,30)
iqRobot.drehe(-45) iqRobot.drehe(-45)
iqRobot.fahre_gerade_aus(25,50) iqRobot.fahre_gerade_aus(20,30)
iqRobot.fahre_gerade_aus(-15,40) iqRobot.fahre_gerade_aus(-15,30)
def hologram(): def hologram():
iqRobot.drehe(45) iqRobot.drehe(45)
iqRobot.fahre_gerade_aus(37.5,60) iqRobot.fahre_gerade_aus(37.5,30)
iqRobot.fahre_bis_abstand(28,30,True)
print(iqRobot.abstandsSensor.get_distance_cm())
iqRobot.drehe(45) iqRobot.drehe(45)
iqRobot.antrieb.move_tank(15,left_speed=30,right_speed=30) iqRobot.fahre_gerade_aus(15,30)
#iqRobot.fahre_gerade_aus(15,30)
iqRobot.fahre_gerade_aus(-15,30) iqRobot.fahre_gerade_aus(-15,30)
def augmented_reality(): def augmented_reality():
iqRobot.drehe(45) iqRobot.drehe(-135)
# cm should be greater than real distance as we stop at color intensity iqRobot.fahre_gerade_aus(42,30)
iqRobot.fahre_gerade_aus(cm=-50,speed=50, abstand_stop=86) iqRobot.drehe(90)
iqRobot.drehe(-90)
iqRobot.fahre_gerade_aus(12,30) iqRobot.fahre_gerade_aus(12,30)
iqRobot.schaufel(-2200) iqRobot.schaufel(-100)
iqRobot.fahre_gerade_aus(-4,30) iqRobot.fahre_gerade_aus(-3,30)
iqRobot.drehe(90) iqRobot.drehe(90)
iqRobot.fahre_gerade_aus(20,30) iqRobot.fahre_gerade_aus(20,30)
#iqRobot.drehe(-90) iqRobot.drehe(-90)
#iqRobot.fahre_gerade_aus(5,20) iqRobot.fahre_gerade_aus(5,20)
def backHome():
iqRobot.fahre_gerade_aus(-5, 30)
iqRobot.drehe(138)
iqRobot.fahre_gerade_aus_alt(80, 100)
#iqRobot.fahre_gerade_aus(16, 20) #iqRobot.fahre_gerade_aus(16, 20)
#iqRobot.drehe(38) #iqRobot.drehe(38)
#iqRobot.fahre_gerade_aus(33,25) #iqRobot.fahre_gerade_aus(33,25)
#iqRobot.schaufel(1600, speed=100 ) iqRobot.schaufel(1600, speed=100 )
#iqRobot.schaufel(-1600, speed=100 ) iqRobot.schaufel(-1600, speed=100 )
iqRobot.schaufel(3000)
druckmaschine()
hologram()
augmented_reality()
#backHome()
#huenchenaufgabe()
#iqRobot.farbSensor.light_up(1,1,1)
#wait_for_seconds(2)
#while 0 == 0:
#print(iqRobot.abstandsSensor.get_distance_cm())
#print(iqRobot.farbSensor.get_reflected_light())
#print(str(iqRobot.farbSensor.get_blue())+" "+str(iqRobot.farbSensor.get_green())+" "+str(iqRobot.farbSensor.get_red()))
#wait_for_seconds(0.5)
#print(str(iqRobot.abstandsSensor.get_distance_cm()))