Python Online
Home     .

Dokumentation Robotik

Module import: from ev3robot import *

 

LegoRobot:

Funktion Action
LegoRobot() erzeugt Roboter (ohne Motoren) und stellt die Verbindung zum Roboter her
addPart(part) fügt eine Komponente zum Roboter
clearDisplay() Löscht die Anzeige
drawString(text, x, y) Schreibt text an Position x, y
isButtonHit() True, falls Taste gedrückt wurde
isEscapeHit() True, falls ESCAPE-Taste gedrückt wurde
isEnterHit() True, falls ENTER-Taste gedrückt wurde
isLeftHit() True, falls LEFT-Taste gedrückt wurde
isRightHit() True, falls RIGHT-Taste gedrückt wurde
isUpHit() True, falls UP-Taste gedrückt wurde
isDownHit() True, falls DOWN-Taste gedrückt wurde
playTone(frequency, duration) spielt einen Ton mit geg, Frequenz (in Hz) in Länge (ms)
setVolume(volume) setzt die Lautstärke für alle Tonausgaben (0..100)
playSample(tag, volume) spielt mit der Lautstärke volume (0..100) eine WAV Datei aus dem Verzeichnis /home/root/music mit dem Dateinamen song<tag>.wav ab (tag: integer) (Funktion nicht blockierend). WAV format: mono, 8 bit unsigned oder 16 bit signed mit maximaler Samplingrate 11025 Hz.
playSampleWait(tag, volume) dasselbe, aber Funktion blockierend, bis Datei fertig abgespielt.
setLED(pattern) setzt EV3-LEDS: 0: aus, 1: grün, 2: rot, 3: rot hell, 4: grün blinkend, 5: rot blinkend, 6: rot blinkend hell, 7: grün doppelblinkend, 8: rot doppelblinkend, 9: rot doppelblinkend hell
exit() stoppt den Roboter und beendet die Verbindung
isConnected() gibt True zurück, falls die Verbindung unterbrochen ist, oder das Simulationsfenster geschlossen wurde

Gear:
Gear() erzeugt ein Fahrwerk mit 2 synchronisierten Motoren an Port A, B
backward() fährt rückwärts (nicht-blockierende Methode)
backward(ms) fährt während gegebener Zeit (in ms) rückwärts (blockierende Methode)
isMoving() gibt True zurück, wenn das Fahrwerk in Bewegung ist
forward() fährt vorwärts (nicht blockierende Methode)
forward(ms) fährt während gegebener Zeit (in ms) vorwärts (blockierende Methode)
left() dreht links (nicht blockierende Methode)
left(ms) dreht während gegebener Zeit (in ms) links (blockierende Methode)
leftArc(radius) fährt auf einem Linksbogen mit geg. Radius (nicht- blockierende Methode)
leftArc(radius, ms) fährt während gegebener Zeit (in ms) auf einem Linksbogen (blockierende Methode)
right() dreht rechts (nicht-blockierende Methode)
right(ms) dreht während gegebener Zeit (in ms) rechts (blockierende Methode)
rightArc(radius) fährt auf einem Rechtsbogen mit geg. Radius (nicht blockierende Methode)
rightArc(radius, ms) fährt während gegebener Zeit (in ms) auf einem Rechtsbogen (blockierende Methode)
setSpeed(speed) setzt die Geschwindigkeit
stop() stoppt das Fahrwerk
getLeftMotorCount() gibt momentanen Zählerstand für den linken Motor zurück
getRightMotorCount() gibt momentanen Zählerstand für den rechten Motor zurück
resetLeftMotorCount() setzt den Zähler des linken Motors auf 0
resetRightMotorCount() setzt den Zähler des rechten Motors auf 0

TurtleRobot:
TurtleRobot() erzeugt Roboter mit Fahrwerk mit Motoren an Port A, B
backward() fährt rückwärts (nicht-blockierende Methode)
backward(step) fährt die gegebene Anzahl Schritte rückwärts (blockierende Methode)
forward() fährt vorwärts (nicht-blockierende Methode)
forward(step) fährt die gegebene Anzahl Schritte vorwärts (blockierende Methode)
left() dreht links (nicht-blockierende Methode)
left(angle) dreht um den gegebenen Winkel links (blockierende Methode)
right() dreht rechts (nicht-blockierende Methode)
right(angle) dreht um den gegebenen Winkel rechts (blockierende Methode)
setTurtleSpeed(speed) setzt die Geschwindigkeit

Motor:
Motor(MotorPort.port) erzeugt einen Motor am Motorport A, B, C oder D
backward() dreht den Motor rückwärts
forward() dreht den Motor vorwärts
setSpeed(speed) setzt die Geschwindigkeit
isMoving() gibt True zurück, wenn der Motor in Bewegung ist
stop() stoppt den Motor
getMotorCount() gibt den momentanen Stand des Zählers zurück
resetMotorCount() setzt den Zähler auf 0
rotateTo(count) setzt Zähler auf 0, bewegt Motor bis Zählerstand count und stoppt (blockierend)
rotateTo(count, blocking) wie rotateTo(count), aber mit blocking False nicht blockierend
continueTo(count) wie rotateTo(count), aber Zähler nicht auf 0 gesetzt
continueTo(count, blocking) wie rotateTo(count, blocking), aber Zähler nicht auf 0 gesetzt
continueRelativeTo(count) wie continueTo(count), aber count ist Inkrement
continueRelativeTo(count, blocking) wie continueTo(count, blocking), aber count ist Inkrement

LightSensor:
LightSensor(SensorPort.port)

erzeugt einen Lichtsensor am SensorPort S1, S2, S3, S4

LightSensor(SensorPort.port, bright = onBright, dark = onDark)
dasselbe mit registrierten Event-Callbacks onBright(port, value), onDark(port, value) beim Überqueren des Triggerlevels
LightSensor(SensorPort.port, True, bright = onBright, dark = onDark)
dasselbe mit registrierten Event-Callbacks onBright(port, value), onDark(port, value) beim Überqueren des Triggerlevels
activate(bool)
schaltet den LED eines NXT LightSensors ein/aus
getValue() gibt den Wert des Lichtsensors zurück (Zahl zwischen 0 und 1000)
setTriggerLevel(level) setzt den Triggerlevel (default: 500)

ColorSensor:
ColorSensor(SensorPort.port) erzeugt einen Colorsensor am Port S1, S2, S3, S4
getColor() gibt die gemessene Farbe zurück als Color-Objekt mit den Methoden getRed(), getGreen() und getBlue(), welche den RGB-Wert 0 - 255 liefern
getColorID() gibt eine Farbidentifikationszahl zurück: 0: undefiniert, 1: schwarz, 2: blau, 3:grün, 4: gelb, 5: rot, 6: weiss
getColorStr() liefert die Farbe als String (BLACK, BLUE, GREEN, YELLOW, RED, WHITE und UNDEFINED)
getLightValue() gibt die Helligkeit (im HSG Modell) der gemessenen Farbe zurück

TouchSensor:
TouchSensor(SensorPort.port)
erzeugt einen Berührungssensor am SensorPort S1, S2, S3, S4
TouchSensor(SensorPort.port, pressed = onPressed, released = onReleased)
dasselbe mit registrierten Event-Callbacks onPressed(port), onReleased(port)
isPressed() gibt True zurück, falls der Touchsensor gedrückt ist

SoundSensor:
NxtSoundSensor(SensorPort.port) erzeugt einen Soundsensor am Port S1, S2, S3, S4 (nur 1 Instanz erlaubt)
(Beim NXT-Roboter nur SoundSensor()
NxtSound(SensorPort.port, loud = onLoud, quiet = onQuiet)
dasselbe mit registrierten Event-Callbacks onLoud(port, value), onQuiet(port, value) beim Überqueren des Triggerlevels.
getValue() gibt die Lautstärke zurück (0 - 150)
setTriggerLevel(level) setzt den Triggerlevel (default: 50)

UltrasonicSensor:
UltrasonicSensor(SensorPort.port)

erzeugt einen Ultraschallsensor.

UltrasonicSensor(SensorPort.port, far = onFar, near = onNear)

dasselbe mit registrierten Event-Callbacks onFar(port, value), onNear(port, value) beim Überqueren des Triggerlevels
getDistance() gibt die Entfernung zurück
setTriggerLevel(level) setzt einen Triggerlevel (default: 10)

GyroRateSensor (nur EV3):
GyroRateSensor(SensorPort.port)

erzeugt einen GyroRateSensor am SensorPort S1, S2, S3, S4

getValue() gibt die Winkelgeschwindigkeit zurück (Grad pro Sekunde, positiv im Gegenuhrzeigersinn)

GyroAngleSensor (nur EV3):
GyroAngleSensor(SensorPort.port)

erzeugt einen GyroAngleSensor am SensorPort S1, S2, S3, S4

getValue() gibt die Orientierung des Sensors bezüglich seiner Startposition zurück (Grad im Gegenuhrzeigersinn)
reset() setzt die Startposition

InfraredSensor (nur EV3):
IRRemoteSensor(SensorPort.port) erzeugt einen Infrarot-Fernsteuerungssensor am Port S1, S2, S3, S4
getCommand() gibt die aktuelle Kommando-ID zurück: 0: nichts, 1:oben-links, 2:unten-links, 3:oben-rechts,
4:unten-rechts,5:oben-links+oben-rechts,6:oben-links+unten-rechts,7:unten-links+oben-rechts,
8::unten-links+unten-.rechts,9:Zentrum,10:unten-links+oben-links,11:oben-rechts+unten-rechts.
Der Kanal wird mit dem roten Schiebeschalter gewählt.1: oben, 4: unten. Er entspricht der Portnummer, wo der Sensor angeschlossen ist.
actionPerformed(port, command) Callback-Funktion, die als benannter Parameter registriert werden kann
IRSeekSensor(SensorPort.port)
erzeugt einen Infrarot-Suchensor am Port S1, S2, S3, S4 (aktive IR-Quelle der Fernsteuerung, wenn der Zentrums-Button gedrückt wird)
v = getValue()
v.bearing gibt den Richtungswert (-12..12) und v.distance die Distanz (in cm) zur Quelle zurück.
Der Kanal wird mit dem roten Schiebeschalter gewählt.1: oben, 4: unten. Er entspricht der Portnummer, wo der Sensor angeschlossen ist.
IRDistanceSensor(SensorPort.port)
erzeugt einen Infrarot-Distanzsensor am Port S1, S2, S3, S4 (reflektierendes Target)
getDistance() gibt die Entfernung zurück (in cm; 255, falls die die Distanzmessung misslingt)

TemperatureSensor (nur EV3):
TemperatureSensor(SensorPort.port) erzeugt einen Temperatursensor am SensorPort S1, S2, S3, S4 (Lego NXT Temperature Sensor 9749)
getTemperature() gibt die Temperatur im Bereich -55..128 Grad Celsius zurück

I2CExpander (nur EV3):
I2CExpander(SensorPort.port, deviceType, slaveAddress) erzeugt einen I2C Expander auf Port S1, S2, S3, S4. deviceType = 0: PCF8574, 1: PCF8574A, 2: PCF8591; slaveAddress: 8-bit I2C Adresse
I2CExpander(SensorPort.port, deviceType, inputMode, slaveAddress) dasselbe, aber mit Angabe von inputMode: 0: single ended, 2: three differential, 3: mixed, 4: two differential (gemäss Datenblatt PCF8591)

writeDigital(out)

setzt den Digital-Eingang/Ausgang (8 bits) und liefert den aktuellen Wert zurück. Für einen digitalen Eingang wird das Portbit auf 1 gesetzt. (Nur für PCF8574/PCF8574A)
writeAnalog(out) setzt den Analog-Ausgang (8 bits). (Nur für PCF8591)
readAnalog(channel)

liefert den aktuellen Wert von channel 0..3 (0..255 für single ended, -128..127 für differential). (Nur für PCF8591)

readAnalog() liefert Liste mit den aktuellen Werten aller Kanäle. (Nur für PCF8591)

ArduinoLink (nur EV3):

ArduinoLink(SensorPort.port) erzeugt einen I2C-Master zur Verbindung mit dem Arduino auf Port S1, S2, S3, S4
getReply(request, reply) sendet den request (Integer 0..255) an den Arduino und liefert die Antwort in der übergebenen Liste reply (max.16 Integers 0..255)
getReplyInt(request) sendet den request (Integer 0..255) an den Arduino und liefert eine Antwort als Integer 0..255
getReplyString(request) sendet den request (Integer 0..255) an den Arduino und liefert die Antwort als String (max. 15 ASCII-Zeichen)