Mikrocontroller- und Roboter-Programmierung
Mikrocontroller sind Kleinstrechner, die sich heute in vielen Alltagsgegenständen, wie Kühlschränken, Kaffeemaschinen, drahtlos schaltbaren Steckdosen oder Autos, befinden. Mit ihnen können Vorgänge automatisch gesteuert werden.
Unsere Module Mikrocontroller-Programmierung mit Arduino und Mikrocontroller-Programmierung mit dem micro:bit (verlinken) führen Schülerinnen und Schüler ab der Sekundarstufe I in das algorithmische Denken und in die Programmierung ein. Sie bauen selbst elektronische Schaltungen, bestehend aus Sensoren (Taster, Temperatursensoren, …) und Aktoren (LEDs, Motoren, …) auf, planen Abläufe und setzen diese durch Programmierung um. So entstehen unter anderem Ampelschaltungen mit Bedarfstaster oder digitale Temperaturmessgeräte mit graphischer Ausgabe.
Der große didaktische Vorteil der Verwendung von Mikrokontrollern liegt zum einen in der direkten Rückmeldung des Systems auf die Programmierung. Die Schüler sehen sofort, ob etwa die von Ihnen programmierte LED leuchtet. Andererseits schafft die Verwendung „realer“ (physischer) Bauteile, wie LEDs oder Taster, eine viel größere Motivation bei den Lernenden als eine vergleichbare Simulation am Bildschirm.
Abhängig von der Altersstufe und den Vorerfahrungen der Schülerinnen und Schüler setzen wir unterschiedliche Programmierumgebungen ein. Graphische Systeme zur blockbasierten Programmierung erlauben das Erstellen von Programmen durch zusammenfügen von selbsterklärenden Puzzleteilen. Damit können bei Einsteigern störende Fehlerquellen, wie Tippfehler beim Schreiben von Quellcode, weitgehend abgestellt werden. Der Fokus liegt dann alleine auf der passenden Strukturierung des Ablaufs. Fortgeschrittene programmieren im Quellcode mit den Programmiersprachen Arduino bzw. Python und fühlen sich dabei wie „echte“ Softwareentwickler.
Die Vielfalt der Möglichkeiten steigt in einem weiterführenden Modul Roboter-Programmierung. Dort können die Schülerinnen und Schüler ihre bisherigen algorithmischen Kompetenzen auf fahrbare Roboter anwenden und etwa um Aspekte der Kommunikation zwischen (Roboter-)Systemen erweitern. Auch hier steht der experimentelle Charakter im Vordergrund.