[[PageOutline]] = Verwendung der Lego-NXT-Roboter im Informatikunterricht = Seit dem Schuljahr 2010/11 finden am Kepler-Gymnasium für alle 10ten Klassen eine Einführung in Robotik und Programmierung mit [wikipediaDe:NXT Lego-NXT-Robotern] statt. Der Unterricht wird unter Verwendung einer Poolstunde halbjährig vierzehntägig erteilt. Im Anschluss können die Schüler die inhaltlich anschließende Informatik-AG belegen. == Ziel == Ziele des Einführungsunterrichts sind u.a.: - Profilgebung des Kepler-Gymnasiums - Abbau von Hemmschwellen durch interessanten spielerischen Umgang mit Technik - Für die meisten Schüler Erstkontakt mit Grundideen der algorithmischen Programmierung - Werbung für die inhaltlich anschließende Informatik-AG In Kombination mit der Informatik-AG ermöglicht die Teilnahme an der Poolstunde die Abiturprüfung im Fach Informatik. == Ausrüstung == **[Todo]** (Hier kurz eine Übersicht über die vorhandenen Kästen und Sensoren...) == Programmierung == Zur Programmierung der NXT-Bausteine kommt zunächst die mitgelieferte Software zum Einsatz. Sie erlaubt das visuelle Programmieren durch Anordnen und "Verkabeln" von Icons auf einem zweidimensionalen Bildschirm. Damit lassen sich von einfachen zeitlichen Abläufen über Schleifen und Verzweigungen bis hin zu sensorisch gesteuerten komplexen Programmen alle wesentlichen Programmstrukturen verwirklichen. Für den Einsatz in der Informatik-AG ist die Verwendung einer textbasierten Programmiersprache vorgesehen. Hier gibt es neben der vom Hersteller gelieferten C-ähnlichen Sprache [wikipedia:NXT-G] auch [wikipedia:Lego_Mindstorms#Programming_languages_2 Open-Source-Anbindungen an weitere wichtige Progammiersprachen]. === Python === Es existieren zwei verschiedene Anbindung an Python ([http://home.comcast.net/~dplau/nxt_python/ NXT_Python] und dessen Weiterentwicklung [http://code.google.com/p/nxt-python/ nxt-python]). Alles zur Verwendung des Python-Interfaces für unseren Unterricht findet sich unter UnterrichtLegoNxt/Python. === [http://sourceforge.net/projects/tuxminds/ TuxMinds] === [http://sourceforge.net/projects/tuxminds/ TuxMinds] ist eine Open-Source-Alternative zur mitgelieferten grafischen Programmierumgebung, die unter Linux läuft. Sie stammt aus der Schulumgebung (http://www.it-projekt-muenster.de/). == Aufgaben == Die Schüler werden der Reihe nach die folgenden Aufgaben mit ihren Robotern lösen: === Vorbereitung === 1. [./bauen Roboter nach Bauplan aufbauen] 1. [./software mit der Software vertraut machen] === Motoren ansteuern === 3. [./geradeaus Roboter vorwärts geradeaus fahren lassen] 1. [./einmeter genau einen Meter fahren lassen]\\\\ 1. [./drehen auf der Stelle drehen lassen] (links-/rechtsherum) 1. [./vierteldrehung genau 90° auf der Stelle drehen lassen]\\\\ 1. [./quadrat ein Quadrat fahren lassen]\\\\ 1. freiwillig: [./kurve Kurven fahren lassen] (verschiedene Radien) 1. freiwillig: [./kreis einen Kreis fahren lassen] (verschiedene Radien) === Programmiertechnik: //Schleife// === 10. [./quadratschleife ein Quadrat fahren -- mit Programmschleife!] === Sensoren abfragen === 11. [./drucksensor auf Druck losfahren] 1. [./schallsensor auf Zuruf losfahren, anhalten und zurückkommen] === Sensomotorische Interaktion === (ein lineares Programm sensorgesteuert abarbeiten) 13. [./fuehler Fühler]\\\\ 1. [./soeren Wer nicht "sören" will muss fühlen] 1. [./wegfahren Der schüchterne Roboter] 1. [./arena Roboterduell!] 1. [./labyrinth Ich bin ein Roboter, holt mich hier raus!]\\\\ 1. [./karavane Roboterkaravane] - Vorarbeit: Vor einem Hindernis anhalten und warten, dann weiterfahren - Erweiterung: Geschwindigkeit abhängig vom Abstand regeln - Vorarbeit: Auf die Wand zufahren, je näher der Roboter dran ist immer langsamer werden\\\\ 1. [./farbsensor einer schwarzen Linie entlangfahren] Was passiert, wenn der Roboter die Linie verliert? Kann er selbstständig eine Linie (wieder-) finden? - [wird fortgesetzt] === Komplexe Programmsteuerung === (ein Programm mit vorgegebenen Verzweigungen sensorgesteuert abarbeiten, Entscheidungsbaum) === Komplexe Sensomotorische Interaktion === - [eine laufende Programmschleife sensorgesteuert unterbrechen] - [aus einer laufenden Programmschleife sensorgesteuert in Unterprogramme springen] ---- {{{#!html
Creative-Commons-Lizenz

Die Inhalte dieser Webseite erscheinen, (wo anwendbar und nicht anderweitig angegeben), unter der Creative-Commons-Lizenz CC BY-NC-SA 3.0 Germany. Urheber: Dr. Rüdiger Kupper und Jens Baumgärtner, Kepler-Gymnasium Freudenstadt.

}}}