Autonomer und Simulationsmodus (im Simuationsmodus implementiert: [S])
Funktion | Aktion |
forward() [S] | versetzt den Roboter in die Vorwärtsbewegung |
forward(time) [S] | fährt während gegebener Zeit (in ms) vorwärts, blockierende Methode |
backward() [S] | versetzt den Roboter in die Rückwärtsbewegung |
backward(time) [S] | fährt während gegebener Zeit (in ms) rückwärts, blockierende Methode |
left() [S] | versetzt den Roboter in die Linksdrehung |
left(time) [S] | dreht während gegebener Zeit (in ms) nach links, blockierende Methode |
right() [S] | versetzt den Roboter in die die Rechtsdrehung |
right(time) [S] | dreht während gegebener Zeit (in ms) nach rechts, blockierende Methode |
leftArc(radius) [S] | startet die Linkskurvenbewegung (Radius in m) |
leftArc(radius, time) [S] | fährt während der gegebener Zeit (ms) auf dem Linksbogen (Radius in m), blockierend |
rightArc(radius) [S] | startet die Rechtskurvenbewegung (Radius in m) |
rightArc(radius, time) [S] | fährt während der gegebener Zeit (ms) auf dem Rechtsbogen (Radius in m), blockierend |
stop() [S] | stoppt die Bewegung |
setSpeed(speed) [S] | setzt die Geschwindigkeit (0..100). Wird erst beim Aufruf der nächsten Bewegungsfunktion wirksam (Standardgeschwinkigkeit ist 30) |
delay(time) [S] | hält das Programm während der gegebenen Zeit (in ms) an |
sleep(time) [S] | dasselbe wie delay(time) |
setLED(n) [S] | schaltet 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 |
setAlarm(n) [S] | schaltet Alarm: 0: aus, 1:ein |
playTone(freq, duration) [S] | spielt einen Ton mit gegebener Frequenz (in Hertz) und Dauer (in ms) |
setVolume(volume) | setzt die Lautstärke (0..100). Dieser Wert wird dauerhaft gespeichert |
drawString(text, x, y) | schreibt einzeiligen Text an Position (x: horizontal, y: vertikal) |
clearDisplay() | löscht den Bildschirm |
getIPAddresses() | gibt eine Liste mit allen aktiven IP Adressen zurück |
getRobot() | liefert die Instanz des globalen Robot zurück (zur Verwendung der OOP-Klassen) |
reset() [nur S] | setzt den Roboter an die Startposition/Startrichtung |
RobotContext. enableTrace(True) [nur S] |
roboter hinterlässt Spuren |
RobotContext. enableRotCenter(True) [nur S] |
zeichnet bei Bewegungen auf einem Kreisbogen das Rotationszentrum |
Instanzen | Port |
motA , motB, motC, motD | Motor am entprechenden MotorPort [Simulation nur motA und motB] |
motL = motA, motR = motB | Linker und rechter Motor |
Methoden | Aktion |
motX.rotate(speed) [S] | dreht den Motor motX (speed > 0: vorwärts, speed < 0: rückwärts, speed = 0: stop |
motX.getMotorCount() [S] | gibt den momentanen Stand des Zählers zurück |
motX.resetMotorCount() [S] | setzt den Zähler auf 0 |
motX.setSpeed(speed) | ändert die Geschwindigkeit des Motors X (nur Realmodus) |
motX.forward() | bewegt den Motor vorwärts (nur Realmodus) |
motX.backward() | bewegt den Motor rückwärts (nur Realmodus) |
motX.rotateTo(deg) [S] | bewegt Motor bis Umdrehungswinkel deg (0-360) und stoppt (blockierend). Setzt Zähler auf 0 (nur motA, motB und motC) |
motX.rotateTo(deg, blocking) [S] | wie rotateTo(deg). Nicht blockierend, falls blocking = False (nur motA, motB und motC) |
motX.continueTo(deg) [S] | wie rotateTo(deg), aber Zähler wird nicht auf 0 gesetzt |
motX.continueTo(deg, blocking) [S] | wie rotateTo(deg), blocking), aber Zähler wird nicht auf 0 gesetzt. Nicht blockierend, falls blocking = False |
motX.continueRelativeTo(deg [S] | wie continueTo(deg), aber count ist Inkrement |
motX.continueRelativeTo(deg, blocking) [S] | wie continueTo(deg, blocking), aber count ist Inkrement. Nicht blockierend, falls blocking = False |
motX.isMoving() [S] | gibt True zurück, falls der Motor motX rotiert |
motX.setSpeed(speed) | setzt die Geschwindigkeit des Motors (default speed=50) |
Instanzen | Position |
button_escape [S] | oben links |
button_enter [S] | Mitte |
button_left [S] | Cursor links |
button_right [S] | Cursor rechts |
button_up [S] | Cursor aufwärts |
button_down [S] | Cursor abwärts |
Methode | Aktion |
was_pressed() [S] | gibt True zurück, falls der Button seit dem letzten Aufruf gedrückt wurde |
isEscapeHit() [S] | gibt True zurück, falls der Escape-Button seit dem letzten Aufruf gedrückt wurde |
isEnterHit() [S] | dasselbe für den Enter-Button |
isLeftHit() [S] | dasselbe für den Left-Button |
isRightHit() [S] | dasselbe für den Right-Button |
isUpHit() [S] | dasselbe für den Up-Button |
isDownHit() [S] | dasselbe für den Down-Button |
Lichtsensor (EV3 Colorsensor als Helligkeitssensor):
Instanzen | Port |
ls1, ls2, ls3, ls4 [S] | Lichtsensor am entsprechenden SensorPort |
Methode | Aktion |
getValue() [S] | liefert die Lichtintensität (0..1023) |
RobotContext. useBackground("sprite") [S] |
Nur Simulationsmodus: fügt ein Hintergrundbild für die Simulation mit Licht- oder Colorsensoren hinzu |
RobotContext. setStartPosition(x, y) [S] |
Nur Simulationsmodus: Setzt den simulierten Roboter an die Position (x, y) im Grafikfenster |
RobotContext. setStartDirection(w) [s]] |
Nur Simulationsmodus: Bestimmt die Startrichtung (0: osten, 90: norden, 180: westen, 270: süden) |
Touchsensor
Instanzen | Port |
ts1, ts2, ts3, ts4 [S] | Touchsensor am entsprechenden SensorPort |
Methode | Aktion |
isPressed() [S] | liefert True, falls der Touchsensor gedrückt ist |
RobotContext. useObstacle("sprite", x, y) |
Nur Simulationsmodus: fügt ein Bild mit Transparrenten Hintergrund an die Position x,y hinzu |
Distanzsensor (EV3 Ultrasonicsensor):
Instanzen | Port |
us1, us2, us3, us4 [S] |
Sensor am entsprechenden SensorPort |
Methoden | Aktion |
getDistance() [S] | liefert Distanz in cm (255, falls keine reflektierendes Objekt gefunden wird, im Simulationsmodus: -1) |
RotContext. setProximityCircleColor(color) |
Nur Simulationsmodus: setzt die Farbe des Suchkreises |
RobotContext. setMeshTriangleColor(color) |
Nur Simulationsmodus: setzt die Füllfarbe der Maschen |
RobotContext. setBeamAreaColor(color) |
Nur Simulationsmodus: setzt die Farbe der Strahlbereichsgrenzen |
RobotContexr. eraseBeamArea() |
Nur Simulationsmodus: löscht die Strahlbereichsgrenzen |
Colorsensor
Instanzen | Port |
cs1, cs2, cs3, cs4 [S] | Colorsensor am entsprechenden SensorPort |
Methoden | Aktion |
getColor() [S] | liefert die Grundfarben RED, BLUE, YELLOW, GREEN, BLACK, WHITE |
getColorRGB() | liefert die rgb-Farbkomponenten als Liste [r, g, b], nur Realmodus |
calibrateColor(colors, previous) | kalibriert Farben, die nicht richtig erkannt wurden. colors ist eine Liste der Farben, die kalibriert werden sollen. Bei previous = True, wird neu kalibriert, False verwerdet die Ergebnisse der letzten Kalibrierung. cs3.calibrateColor(["RED", "BLUE", "GREEN"], True) kalibriert neu die Farben rot,blau und grün cs3.calibrateColor(["RED", "BLUE", "GREEN"], False) verwendet die gespeicherten Werte der letzten Kalibrierung für die Farben rot, blau und grün |
Bemerkung:
Sind die Sensoren am Port 1 angeschlossen, kann man die globale Funktionen (z.B. getValue()) vewenden.
GyroRateSensor
Instanzen | Port |
grs1, grs2, grs3, grs4 | erzeugt einen GyroRateSensor am entsprechenden SensorPort |
Methoden | Aktion |
getValue() | gibt die Winkelgeschwindigkeit zurück (Grad pro Sekunde, positiv im Gegenuhrzeigersinn) |
GyroAngleSensor
Instanzen | Port |
gas1, gas2, gas3, gas4 | erzeugt einen GyroAngelSensor am entsprechenden SensorPort |
Methoden | Aktion |
getValue() | gibt die Orientierung des Sensors bezüglich seiner Startposition zurück (Grad im Gegenuhrzeigersinn) |
reset() | setzt die Startposition |
Temperatursensor (NXT Temperatursensor):
Instanzen | Port |
tmp1, tmp2, tmp3, tmp4 | Sensor am entsprechenden SensorPort |
Methode | Aktion |
getTemperature() | liefert die Temperatur in Grad Celsius |
Bemerkung:
Diese Methode (mit SensorPort.S1) gibt es auch als globale Funktion (Kompatibilität zu mbrobot)
Instanzen | Port |
sht1, sht2, sht3, sht4 | Sensor am entsprechenden SensorPort |
Methode | Aktion |
getValues() | liefert ein Float-Tupel mit Temperatur (Grad C) und Luftfeuchtigkeit (%). |
Instanzen | Port |
bme1, bme2, bme3, bme4 | Sensor am entsprechenden SensorPort |
Methode | Aktion |
getValues() | liefert ein Float-Tupel mit Temperatur (Grad C) , Luftfeuchtigkeit (%) und Luftdruck (hPa) |
3-Achsen Beschleunigungssensor (ADXL345 über I2C):
Instanzen | Port |
adxl1, adxl2, adxl3, adxl4 | Sensor am entsprechenden SensorPort |
Methode | Aktion |
getValues() | liefert ein Float-Tupel mit den Beschleunigungen in x-, y- und z-Richtung (m/s^2 im Bereich -2g .. 2g) |
Instanzen | Port |
irs | Infrarotsensor an SensorPort S1 |
Methode | Aktion |
getCommand() | gibt die aktuelle Kommando-ID für die gedrückten Tasten zurück: Der rote Schiebeschalter muss ganz oben stehen (für SensorPort S1) |
Internet (EV3 über WLAN-Adapter mit Accesspoint verbunden):
Funktion | Aktion |
httpGet(url) | führt einen HTTP GET Request durch und liefert den Response zurück. url in der Form "http://<server>?key=value&key=value&..." oder für SSL "https://..." |
httpPost(url, content) | führt einen HTTP POST Request durch und liefert den Response zurück. url in der Form "http://<server>". content im Format "key=value&key=value&..." oder für SSL "https://..." |
httpDelete(url) | führt einen HTTP DELETE Request mit der gegebenen Ressource aus |
startHTTPServer(handler) | startet einen HTTP Server (Webserver auf Port 80), der auf HTTP GET Requests hört. Bei einem GET Request wird der benutzerdefinierte Callback handler(clientIP, filename, params) aufgerufen: Beispiel http://192.168.0.101/on?a=ok&b=3 Die Rückgabe besteht aus kommagetrennten Werten, die in die %s-Formatangaben der gespeicherten HTML-Datei eingebaut werden, bevor sie dem Browser zurückgesendet wird. (Die Anzahl und Reihenfolge muss übereinstimmen.) Fehlt der Rückgabewert, so wird die HTML-Datei unverändert zurückgesendet (Der Aufruf ist nicht blockierend, da der Server in einem eigenen Thread läuft.) |
saveHTML(text) | speichert den Text als HTML-Datei, die dem Browser bei einem GET Request zurück gesendet wird. Sie kann %-Formatangaben enthalten, die mit den Rückgabewerten des Callbacks handler(clientIP, filename, params) ersetzt werden |
Wetterdaten
Funktion | Aktion | ||||||||||||||||||||
getWeather(city, key) |
macht einen Wetterdaten-Request auf http://openweathermap.org für die gewählte Stadt. Dabei wird der gegebene Authorisierungsschlüssel verwendet. Diesen kann man man kostenfrei auf diesem Host beziehen. (Wird der Parameter weggelassen, so wird ein Standardschlüssel verwendet, der maximal 60 Anfragen / min für alle Nutzer erlaubt.) Rückgabewert: Dictionary mit den Feldern:
|
Lokales Datum/Zeit für gegebene Stadt
Funktion | Aktion |
getHTTPDateTime(city, timezone, key) |
macht einen Zeit/Datum-Request auf https://api.timezonedb.com für die gewählte Stadt.. Dabei wird der gegebene Authorisierungsschlüssel verwendet. Diesen kann man man kostenfrei auf diesem Host beziehen. (Wird der Parameter weggelassen, so wird ein Standardschlüssel verwendet, der maximal 1 Anfrage/sec für alle Nutzer erlaubt.) timezone ist entweder der Country Code oder der Landesname (englisch). Rückgabewert: String im Format: ww yyyy-nn-dd hh:mm:ss Falls ein Fehler auftritt, wird None zurückgegeben |
getHTTPTime(city, timezone, key) | dasselbe, aber es wird nur der Zeitteil im Format hh:mm:ss zurückgegeben |
getCountryCode(country) | gibt den Country Code (2 Buchstaben) zum gegebenen Land (Englisch geschrieben) zurück |
getCountry(countryCode) | gibt das Land zum gegebenen Country Code zurück |
countryCodes | Dictionary mit code:country |
Modul time
Modulimport: import time
Funktion | Aktion |
time.time() |
Gibt die aktuelle Zeit in Sekunden an |