lehrkraefte:snr:informatik:glf24:robotik

This is an old revision of the document!


Robotik (Micropython auf EV3 mit VSCode)

  • Die Roboter sind vorsichtig zu behandeln.
  • Die Roboter fahren NUR auf den Fussboden (damit sie nicht herunterfallen). Bitte vorsichtig sein beim Bewegen im Raum.
  • Verboten ist insbesondere das Umbauen der Roboter.

Preis pro Roboter: ca. 500 CHF

  • Jeder Roboter hat eine Nummer. Am Ende der Lektion ist jeder Roboter wieder an dem Platz mit seiner Nummer.
  • Programmiert wird an den Stehtischen auf den eigenen Laptops.
  • Nur dann auf dem Fussboden sitzen, wenn man etwas am Roboter macht.

Automatische Vervollständigung in Visual Studio Code beim Roboterlen

Automatische Vervollständigung in Visual Studio Code beim Roboterlen

  • eventuell: pip install pybricks
  • Die Datei settings.json im .vscode-Verzeichnis des Projekts sollte so aussehen:
// Place your settings in this file to overwrite default and user settings.
{
	"files.eol": "\n",
	"debug.openDebug": "neverOpen",
	"python.linting.enabled": true,
	"python.languageServer": "Default"
}

Bemerkung: Zuvor hatte es mit “en” statt “Default” geklappt, nun nicht mehr.

Den folgenden Code ans Ende des Programms main.py kopieren und den Code ausführen (Ctrl+F5).

# Bitte sicherstellen, dass dein Computer im tech-lab-Netz ist und nicht in Schule SG o.ä..
 
ev3.speaker.say(text="Hello I am Robby the robot")
 
links = Motor(Port.A)
rechts = Motor(Port.B)
 
# Checke die Kabelverbinungen! 
# Wenn du die obigen Einstellungen nutzen willst:
# - Der linke Motor muss mit Port A (am EV3-Brick) verbunden sein.
# - Der rechte Motor muss mit Port B verbunden sein.

Den Roboter so programmieren, dass er genau einen Meter geradeaus fährt (auf 5 cm genau). Am Boden gibt es 1-Meter-Markierungen (oder mit Metermass abmessen).

Verwende die folgenden Befehle:

links.run_angle(drehgeschwindigkeit, alpha, wait=False)

Bewegt den linken Motor, also das linke Rad, mit

  1. drehgeschwindigkeit: Drehgeschwindigkeit in Grad/s; sinnvoll ist z. B. 120
  2. alpha: Drehwinkel in Grad
  3. wait=False: Der Roboter wartet nicht, bis die Drehung vollständig ausgeführt ist; der Roboter kann sofort einen weiteren Befehl verarbeiten.
rechts.run_angle(drehgeschwindigkeit, alpha, wait=True)   
  • Dasselbe mit dem rechten Motor.
  • Wegen wait=True wird gewartet, bis die Raddrehung beendet ist.
links.stop()
rechts.stop()

Stoppt die Motoren (vielleicht nicht unbedingt nötig).

Das vorherige Programm so erweitern, dass der Roboter genau einen Meter geradeaus fährt, sich dann umdreht und zum Ausgangspunkt zurückfährt.

Toleranz: 10 cm Abstand bis zum Startpunkt.

  • lehrkraefte/snr/informatik/glf24/robotik.1736775550.txt.gz
  • Last modified: 2025/01/13 13:39
  • by Olaf Schnürer