LED Cube
Unterrichtseinheit
In dieser Unterrichtseinheit für das Fach Informatik sollen die Schülerinnen und Schüler ihre zuvor erworbenen Kenntnisse von Algorithmen am Beispiel eines LED Cube üben und festigen. Ziel ist, dass die Lernenden die Programmierung von Animationen des Cube durchschauen und nachvollziehen beziehungsweise eigene Animationen kreieren können.Das Phänomen der 3D-LED Cubes geistert schon lange durch das Internet - speziell auf Video-Plattformen werden viele Cube-Videos angeboten und begeistern vor allem Jugendliche. Beim Anschauen dieser Videos kann also der Wunsch aufkommen, solch einen Cube selbst zu programmieren. Solche realen LED Cubes sind jedoch in der Regel kompliziert aufzubauen und nicht ganz einfach anzusteuern. Der Autor dieser Unterrichtseinheit hat ein Programm entwickelt, mit dem das einfach möglich ist.Informatik-Themen können recht trocken sein und sollten deshalb möglichst anschaulich und motivierend gestaltet werden. Es bietet sich zum Beispiel an, in das Thema "Modell - Algorithmus - Lösung" mit einer Unterrichtseinheit zum programmierbaren Roboterarm einzusteigen und die LED Cube-Unterrichtseinheit anzuschließen. Das entsprechende Programm 5x5x5_LED_Cube.exe wurde vom Autor dieser Unterrichtseinheit, Jens Tiburski, unter Verwendung der Programmiersprache OGLBasic programmiert, einer Basic-Variante, die auf die Programmierung mithilfe der Open Graphic Library zugeschnitten ist. Umsetzung der Unterrichtseinheit "LED-Cube" Hier erhalten Sie detaillierte Anregungen zur Arbeit mit dem Programm 5x5x5_LED_Cube.exe im Informatik-Unterricht. Fachkompetenz Die Schülerinnen und Schüler wenden ihre Kenntnisse zur sequentiellen Programmierung auf eine neue Umgebung an. übertragen ihre Kenntnisse zum Problemlöseprozess auf selbstständiges Lösen einfacher Probleme. Medienkompetenz Die Schülerinnen und Schüler entwickeln in einer neuen Arbeitsumgebung (das Programm 5x5x5_LED_Cube.exe) bekannte Lösungsstrategien und arbeiten dabei mit Excel. Sozialkompetenz Die Schülerinnen und Schüler entwickeln nach Möglichkeit in Partnerarbeit Ideen für ansprechende Animationen. erstellen im Idealfall Animationen zur Verwendung auf der Schulhomepage oder ähnlichem. Motivation und Einstieg Um die Schülerinnen und Schüler für die Arbeit mit LED Cubes zu motivieren, können Sie zunächst ein paar entsprechende Videos zeigen, die zum Beispiel auf der Videoplattform YouTube vorgeführt werden. Die LED-Cubes, die Sie dort sehen, sind kompliziert aufzubauen und auch nicht ganz einfach anzusteuern. Leichter zu handhaben ist da das Programm 5x5x5_LED_Cube.exe, welches auf einer 5x5x5-Matrix frei programmierbare Animationen erlaubt. Dieses wurde vom Autor Jens Tiburski selbst programmiert. Nachdem Sie Ihren Schülerinnen und Schülern das Programm zur Verfügung gestellt haben, sollen diese einige der vorbereiteten Beispiele ausprobieren. Die Bedienung des Programmes ist selbsterklärend. Nach dem Start erfolgt die Aufforderung, eine Datei auszuwählen. Im Ordner des Programms sind einige Beispiele zu finden. Tastaturbelegung Nach dem Einlesen der Daten erscheint der Informationsbildschirm, der darüber informiert, wie viele Frames eingelesen wurden. Ferner wird die Tastaturbelegung erklärt: FrameRate: +/- Rotieren: Cursor-Tasten Zoomen: PageUp/PageDown AutoSpin: R(echts), L(inks) und S(topp) Beenden: Escape Zentrale Fragestellungen Schnell erkennen die Schülerinnen und Schüler, dass ein unverzweigter Algorithmus abgearbeitet wird. Das führt unweigerlich zu der Frage, wie solche Animationen selbst erstellt werden können. Somit ergeben sich zwei Ebenen, die den Cube für den Informatikunterricht interessant machen: 1. Wie wurde der Cube programmiert? und 2. Wie kann man die Animationen selbst programmieren? Quellcode Das Programm 5x5x5_LED_Cube.exe wurde von Jens Tiburski unter Verwendung der Programmiersprache OGLBasic programmiert, einer Basic-Variante, die auf die Programmierung mithilfe der Open Graphic Library zugeschnitten ist. Deshalb ist der Quellcode relativ einfach nachzuvollziehen. Das Programm ist unter dem Namen 5x5x5_LED_Cube.ogl abgelegt und kann mit jedem Text-Editor eingesehen werden. Ein Blick in den Quelltext zeigt den in der Abbildung dargestellten Aufbau. Nach der Variablen-Deklaration steht die Prozedur "DrawGLScene". In dieser Prozedur erfolgt das eigentliche Aufbauen der 3D-Scene - und somit der größte Unterschied zum herkömmlichen Basic. Dort geschieht jedoch nichts Geheimnisvolles, sondern die 125 LEDs (Spheren) werden positioniert. Bedeutung der Befehle Der Move-Befehl bewegt die Scene an die Stelle, an der ein Objekt eingefügt wird (ausgehend vom Punkt Origin, beziehungsweise dem letzten Move-Befehl). Der Color-Befehl gibt die Farbe des Objektes in RGB vor - die vierte Angabe steht für die Transparenz. Der Befehl Sphehre erzeugt nun eine Kugel mit dem Radius Farbe_LED![i] sowie je zehn Segmenten und Schichten. Geübte Programmierer erkennen, dass über die Area-Variable Farbe_LED![i] sowohl die Farbe, als auch der Radius geändert werden können. Zeilenweise Interpretation In den Zeilen 545 bis 560 wird nun ein Text-Dokument geöffnet und der Inhalt in ein eindimensionales Area Farbe![Farbzähler%] eingelesen. Beim Einlesen der Daten wird die Text-Datei geöffnet und zeilenweise interpretiert. Dabei werden von jeder Zeile nur die ersten fünf Zeichen eingelesen. Alles, was dahinter kommt, wird abgeschnitten. Verfügbare Zeichenanzahl Pro Frame werden 125 Zeichen (also 5 x 5 x 5 Zeichen oder 25 Zeilen) in ein eindimensionales Area eingelesen. Da das Area auf circa 16.2000 Elemente beschränkt ist, können somit 1.296 Frames eingelesen werden. Also reichlich Platz für gute Ideen. Nachdem die Dateneingabe erfolgt ist, wird im Startbildschirm die Anzahl der eingelesenen Frames sowie die Tastatur-Belegung angezeigt. Mit WaitInput wird auf eine beliebige Eingabe über Maus oder Tastatur gewartet. Danach erfolgt das Anzeigen der Scene. Drei ineinander geschachtelte Schleifen bilden das eigentliche Hauptprogramm. Die äußerste Schleife wird beendet, wenn der User die Escape-Taste drückt und somit das Programm beendet. Die mittlere Schleife wird so oft ausgeführt, wie Frames eingelesen wurden. Die innerste Schleife weist jetzt jeder der 125 LEDs Farbe_LED![i] einen Wert aus dem Area Farbe![Farbzähler%] zu. Wenn jede LED einen Farbwert hat, wird die Scene gerendert und am Bildschirm angezeigt. Dazu wird in Zeile 618 die Prozedur DrawGLScene() aufgerufen. Interpretation der Text-Beispieldateien Ein Blick in die beigefügten Text-Beispieldateien zeigt, dass die Informationen in Zeilen zu jeweils fünf Zeichen abgelegt sind. Naheliegend ist, dass jeweils eine Zeile an Zeichen auch eine Reihe an LEDs interpretiert, wobei das Zeichen "1" für "LED an" und das Zeichen "0" für "LED aus" steht. Also ergeben fünf Zeilen eine Ebene und fünf Ebenen den gesamten Cube. Insgesamt 125 Zeichen (25 Zeilen) bilden also einen Frame der Animation. Testphase Nun beginnt die Phase des Testens: Welches Zeichen steht für oben links oder für unten rechts oder für die Mitte? Nach einigen Minuten des Probierens kristallisiert sich sicher heraus, dass die obersten fünf Zeilen die Grundebene darstellen und somit das Einlesen der Informationen "kopfüber" erfolgt. Dies sowie die fehlende Strukturierung der Daten macht das Erstellen eigener Animationen aber nicht gerade leichter. Excel-Mappe als Frameeditor Abhilfe schafft dann eine Excel-Mappe, die als Frameeditor dienen soll und mit ein wenig Übung die Programmierung anspruchsvoller Abläufe gestattet. Die fünf Ebenen des Würfels sind rot dargestellt. Wird in diese rot markierten Zellen der Wert "1" eingegeben, überträgt Excel diesen Wert an die richtige Stelle in der Datenreihe und fasst fünf nebeneinanderliegende Zellen zur linken Spalte zusammen. Durch Kopieren und Einfügen können beliebig viele Frames in eine Excel-Mappe aufgenommen werden. Durch Kopieren und Einfügen von Werten kann auch innerhalb eines Frames ebenenweise kopiert werden. An dieser Stelle kann gern noch einmal auf Excel-Funktionen wie Zellenwertübergabe oder Zellenwertvereinigung eingegangen werden. Speichern der Excel-Datei Die fertige Excel-Datei kann zur weiteren Verwendung abgespeichert werden. Nun muss die Excel-Datei auch noch als txt-Datei abgespeichert werden (Datei danach schließen, da der Zugriff sonst blockiert ist!). Noch einmal zur Erinnerung: Nur die ersten fünf Zeichen einer Zeile werden vom Programm eingelesen. Somit kann die als txt gespeicherte Excel-Datei zur Eingabe verwendet werden, obwohl sie über mehr Zeichen verfügt, als für die Animation notwendig sind. Alternativ kann auch nur der Inhalt der linken Spalte kopiert und in ein Text-Dokument eingefügt werden. Das spart Speicherplatz und man kann einzelne Inhalte problemlos zusammenfügen. Einsatz in Klasse 8 In dieser Unterrichtseinheit sollen die Schülerinnen und Schüler ihre zuvor erworbenen Kenntnisse von Algorithmen üben und festigen. Deshalb bietet es sich an, diese Doppelstunde am Ende des Lernbereichs 2, "Informationen verarbeiten: Modell - Algorithmus - Lösung" der Klassenstufe 8 einzusetzen. Animierte Schriftzüge am Beispiel von Lehrer-Online Falls Ihre Schülerinnen und Schüler einen Schriftzug animieren möchten, hier ein Beispiel: Die Datei Bsp_06_lehrer-online.txt zeigt den Schriftzug LEHRER-ONLINE als Animation. Video zur Beispiel-Animation
-
Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
-
Sekundarstufe I