DistanceSensor hinzugefügt + getDIstance Methode hinzugefügt
This commit is contained in:
parent
ee76b97d83
commit
377195855a
2 changed files with 41 additions and 24 deletions
19
iqrobot.py
19
iqrobot.py
|
@ -1,6 +1,6 @@
|
||||||
# LEGO type:standard slot:6 autostart
|
# LEGO type:standard slot:6 autostart
|
||||||
|
|
||||||
from spike import PrimeHub, Motor, MotorPair, ColorSensor
|
from spike import PrimeHub, Motor, MotorPair, ColorSensor, DistanceSensor
|
||||||
from spike.control import wait_for_seconds
|
from spike.control import wait_for_seconds
|
||||||
|
|
||||||
HELLO = "HELLO IQ"
|
HELLO = "HELLO IQ"
|
||||||
|
@ -12,14 +12,22 @@ damit man dann später auch wieder Code Completion hat bei Nutzung der Variablen
|
||||||
'''
|
'''
|
||||||
class IQRobot:
|
class IQRobot:
|
||||||
|
|
||||||
def __init__(self, hub: PrimeHub, leftMotorPort: str, rightMotorPort: str, colorSensorPort: str, stickMotorPort: str, gabelMotorPort: str):
|
def __init__(self, hub: PrimeHub, leftMotorPort: str, rightMotorPort: str, colorSensorPort: str, stickMotorPort: str, gabelMotorPort: str, distanceSensorPort: str):
|
||||||
self.hub: PrimeHub = hub
|
self.hub: PrimeHub = hub
|
||||||
|
if (leftMotorPort != ''):
|
||||||
self.leftMotor: Motor = Motor(leftMotorPort)
|
self.leftMotor: Motor = Motor(leftMotorPort)
|
||||||
|
if (rightMotorPort != ''):
|
||||||
self.rightMotor: Motor = Motor(rightMotorPort)
|
self.rightMotor: Motor = Motor(rightMotorPort)
|
||||||
|
if (leftMotorPort != '' and rightMotorPort != ''):
|
||||||
self.movementMotors: MotorPair = MotorPair(leftMotorPort, rightMotorPort)
|
self.movementMotors: MotorPair = MotorPair(leftMotorPort, rightMotorPort)
|
||||||
|
if (colorSensorPort != ''):
|
||||||
self.colorSensor: ColorSensor = ColorSensor(colorSensorPort)
|
self.colorSensor: ColorSensor = ColorSensor(colorSensorPort)
|
||||||
|
if (stickMotorPort != ''):
|
||||||
self.stickMotor: Motor = Motor(stickMotorPort)
|
self.stickMotor: Motor = Motor(stickMotorPort)
|
||||||
|
if (gabelMotorPort != ''):
|
||||||
self.gabelMotor: Motor = Motor(gabelMotorPort)
|
self.gabelMotor: Motor = Motor(gabelMotorPort)
|
||||||
|
if (distanceSensorPort != ''):
|
||||||
|
self.distanceSensor: DistanceSensor = DistanceSensor(distanceSensorPort)
|
||||||
|
|
||||||
def show(self, image: str):
|
def show(self, image: str):
|
||||||
'''
|
'''
|
||||||
|
@ -71,5 +79,12 @@ class IQRobot:
|
||||||
#Bewege sanft und langsam die Schleuderstange am hinteren Rumpf des Geräts
|
#Bewege sanft und langsam die Schleuderstange am hinteren Rumpf des Geräts
|
||||||
self.gabelMotor.run_for_degrees(degrees)
|
self.gabelMotor.run_for_degrees(degrees)
|
||||||
|
|
||||||
|
def getDistance (self) :
|
||||||
|
cmDistance = self.distanceSensor.get_distance_cm(short_range=False)
|
||||||
|
return cmDistance
|
||||||
|
|
||||||
|
def getShortDistance (self) :
|
||||||
|
cmDistance = self.distanceSensor.get_distance_cm(short_range=True)
|
||||||
|
return cmDistance
|
||||||
|
|
||||||
print("Loading library IQRobot in version " + VERSION)
|
print("Loading library IQRobot in version " + VERSION)
|
30
main.py
30
main.py
|
@ -56,21 +56,22 @@ import iqrobot as iq
|
||||||
print(iq.HELLO)
|
print(iq.HELLO)
|
||||||
|
|
||||||
# Definiere an welchen Ports die Sensoren angeschlossen sind
|
# Definiere an welchen Ports die Sensoren angeschlossen sind
|
||||||
COLOR_SENSOR_PORT = 'E'
|
|
||||||
LEFT_MOTOR_PORT = 'A'
|
COLOR_SENSOR_PORT = ''
|
||||||
RIGHT_MOTOR_PORT = 'B'
|
LEFT_MOTOR_PORT = ''
|
||||||
STICK_MOTOR_PORT = 'C'
|
RIGHT_MOTOR_PORT = ''
|
||||||
GABEL_MOTOR_PORT = 'D'
|
STICK_MOTOR_PORT = ''
|
||||||
|
GABEL_MOTOR_PORT = ''
|
||||||
|
DISTANCE_SENSOR_PORT = 'F'
|
||||||
|
|
||||||
# Initialisieren des Hubs, der Aktoren und Sensoren
|
# Initialisieren des Hubs, der Aktoren und Sensoren
|
||||||
hub = PrimeHub()
|
hub = PrimeHub()
|
||||||
|
|
||||||
# Initialisiere Robot Klasse mit unseren Funktionen
|
# Initialisiere Robot Klasse mit unseren Funktionen
|
||||||
iqRobot: iq.IQRobot = iq.IQRobot(hub, LEFT_MOTOR_PORT, RIGHT_MOTOR_PORT, COLOR_SENSOR_PORT, STICK_MOTOR_PORT, GABEL_MOTOR_PORT)
|
iqRobot: iq.IQRobot = iq.IQRobot(hub, LEFT_MOTOR_PORT, RIGHT_MOTOR_PORT, COLOR_SENSOR_PORT, STICK_MOTOR_PORT, GABEL_MOTOR_PORT, DISTANCE_SENSOR_PORT)
|
||||||
|
|
||||||
'''
|
'''
|
||||||
while(True):
|
while(True):iqRobot.moveGabel(50)or())
|
||||||
print('DIE FARBE IST ', iqRobot.colorSensor.get_color())
|
|
||||||
if (iqRobot.colorSensor.get_color() == "cyan"):
|
if (iqRobot.colorSensor.get_color() == "cyan"):
|
||||||
iqRobot.driveForward_for_sec(1)
|
iqRobot.driveForward_for_sec(1)
|
||||||
print('Blau du Affe')
|
print('Blau du Affe')
|
||||||
|
@ -81,11 +82,12 @@ while(True):
|
||||||
print('Keine Farbe!')
|
print('Keine Farbe!')
|
||||||
'''
|
'''
|
||||||
|
|
||||||
iqRobot.moveGabel(50)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
while (True):
|
||||||
|
print('Kurz:' + str(iqRobot.getShortDistance()))
|
||||||
|
wait_for_seconds(1)
|
||||||
|
|
||||||
|
'''
|
||||||
|
print('Lang:' + str(iqRobot.getDistance()))
|
||||||
|
wait_for_seconds(5)
|
||||||
|
'''
|
||||||
|
|
Loading…
Reference in a new issue