Programmierung LEGO NXT Roboter mit NXC - hsg-kl.de ?· Programmierung LEGO NXT Roboter mit NXC (beta3.0…

  • View
    213

  • Download
    0

Embed Size (px)

Transcript

  • Programmierung

    LEGO NXT Roboter mit NXC (beta3.0 oder hher)

    (Version 2.2, 7. Juni 2007)

    Von Daniele Benedettelli

    mit nderungen von John Jansen

    bersetzung (und Ergnzungen) ins Deutsche von Thorsten Leimbach, Sebastian Trella

    (Version-DE 1.0, 24. Juli 2009)

  • 2

    Vorwort Was bereits fr die guten alten Mindstorms RIS, Cybermaster und Spybotics galt, gilt nun auch fr den Mindstorms NXT Stein, um die volle Leistung ausnutzen zu knnen, wird eine Programmierumgebung bentigt, die handlicher ist als die, im Einzelhandel erhltliche, grafische Programmierumgebung NXT-G, welche hnlich der Software LabVIEW der Firma National Instruments ist. NXC ist eine Programmiersprache, die von John Hansen, speziell fr die Lego-Roboter entwickelt wurde. Sollten Sie noch nie ein Programm zuvor geschrieben haben, keine Sorge! NXC ist wirklich einfach zu erlernen und anzuwenden. Dieses Tutorial wird Sie bei Ihren ersten Schritten zur Erreichung dieses Ziels leiten. Um textbasierte Programme zu erleichtern, gibt es das Bricx Command Center (BricxCC). Diese Umgebung hilft Ihnen, Ihre Programme zu schreiben, auf den Roboter zu bertragen, diese zu starten und zu stoppen, den Speicher des NXT zu durchsuchen, Sound-Dateien fr die Verwendung auf dem NXT-Stein zu konvertieren und vieles mehr. BricxCC funktioniert fast wie ein Text-Prozessor, aber mit einigen Extras. Dieses Tutorial basiert auf BricxCC (Version 3.3.7.16 oder hher) als integrierte Entwicklungsumgebung (IDE). Sie knnen es kostenlos aus dem Internet unter folgender Adresse herunterladen: http://bricxcc.sourceforge.net/ BricxCC luft auf Windows-PCs (95, 98, ME, NT, 2K, XP, Vista1). Die NXC Sprache kann auch auf anderen Plattformen verwendet werden. BricxCC kann unter folgender Web-Seite herunterladen werden: http://bricxcc.sourceforge.net/nxc/ Der Groteil dieses Tutorial sollte auch fr andere Plattformen zutreffend sein, es sei denn, einige der Werkzeuge, die in BricxCC und in der Farbcodierung (Text Highlighting) enthalten sind, gehen verloren. Dieses Tutorial wurde aktualisiert, um mit Beta 30 von NXC und hhere Versionen arbeiten zu knnen. Einige der Programmbeispiele lassen sich nicht mit lteren Versionen als Beta-30 kompilieren. Hinweis in Eigener Sache: Meine Web-Seite ist voll von Lego Mindstorms RCX und NXT Inhalten, darunter auch ein PC-Tool zur Kommunikation mit NXT: http://daniele.benedettelli.com

    Danksagungen Vielen Dank an John Hansen, dessen Arbeit unbezahlbar ist!

    Vorwort zur bersetzen Version In der bersetzung wurde, wo es sinnvoll erschien Sachverhalte ergnzt (meistens in Funoten zu finden) bzw. korrigiert. Die bersetzte Version bezieht sich allerdings berwiegend auf die Version 2.2 von Daniele Benedettelli, wobei die beschriebenen Sachverhalte sinngem, frei bersetzt wurden. Die Screenshots und die Programme wurden bis auf wenige Ausnahmen unverndert bernommen.

    1 Es gibt mittlerweile (2009) auch eine Beta-Version fr MacOS, Linux und andere Unix Systeme

  • 3

    Vorwort ................................................................................................................................................................... 2 Danksagungen .................................................................................................................................................... 2 Vorwort zur bersetzen Version......................................................................................................................... 2

    1 Das erste selbstgeschriebene Programm........................................................................................................ 4 Konstruktion eines Roboters .............................................................................................................................. 4 Das Bricx Command Center............................................................................................................................... 4 Ein Programm schreiben .................................................................................................................................... 5 Das Programm starten ........................................................................................................................................ 6 Fehler in Ihrem Programm ................................................................................................................................. 7 ndern der Geschwindigkeit.............................................................................................................................. 7 Zusammenfassung.............................................................................................................................................. 8

    2 Ein viel interessanteres Programm ................................................................................................................ 9 Kurven fahren..................................................................................................................................................... 9 Schleifen............................................................................................................................................................. 9 Kommentare einfgen ...................................................................................................................................... 10 Zusammenfassung............................................................................................................................................ 11

    3 Nutzung von Variablen................................................................................................................................ 12 Eine Spirale fahren ........................................................................................................................................... 12 Zufallszahlen .................................................................................................................................................... 13 Zusammenfassung............................................................................................................................................ 14

    4 Kontrollstrukturen ....................................................................................................................................... 15 Die If-Anweisung............................................................................................................................................. 15 Die do-Anweisung (do-while Schleife)............................................................................................................ 16 Zusammenfassung............................................................................................................................................ 16

    5 Sensoren ...................................................................................................................................................... 17 Auf Sensor(-Werte) warten .............................................................................................................................. 17 Auf den Tastsensor reagieren ........................................................................................................................... 18 Lichtsensor ....................................................................................................................................................... 18 Sound Sensor.................................................................................................................................................... 19 Ultraschallsensor .............................................................................................................................................. 20 Zusammenfassung............................................................................................................................................ 21

    6 Tasks und Subroutinen ................................................................................................................................ 22 Tasks ................................................................................................................................................................ 22 Subroutinen ...................................................................................................................................................... 23 Makros Definieren............................................................................................................................................ 25 Zusammenfasssung .......................................................................................................................................... 25

    7 Musik komponieren..................................................................................................................................... 26 Abspielen von Musikdateien ............................................................................................................................ 26 Spielen von Musik............................................................................................................................................ 26 Zusammenfassung............................................................................................................................................ 27

    8 Mehr ber Motoren...................................................................................................................................... 28 Sachtes bremsen ............................................................................................................................................... 28 PID-Regler .....................................................