Software
From Nibo
m |
|||
Line 1: | Line 1: | ||
==Programmierung== | ==Programmierung== | ||
- | Die Programmierung des Roboters kann | + | Die Programmierung des Roboters wird bevorzugt in C durchgeführt, kann aber auch in Assembler bzw. C++ erfolgen. [[AVR-GCC]] stellt die notwendigen Tools für C/C++ zur Verfügung. Für das Betriebssystem MS Windows bietet sich die Kombination aus AVR Studio und WinAVR (enthält avr-gcc, avr-g++, avrdude, avr-gdb u.a.) an. |
- | Ansteuerungsbibliotheken | + | Umfangreiche Ansteuerungsbibliotheken für die Programmiersprachen C/C++ wurden bereits entwickelt. Diese beinhalten auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display. |
+ | |||
+ | Mit Hilfe der [[NanoVM]] kann der Roboter sogar in Java programmiert werden. Eine entsprechende Java-Bibliothek wird demnächst zur Verfügung stehen. | ||
==Initialisierung== | ==Initialisierung== |
Revision as of 23:31, 2 August 2007
Contents |
Programmierung
Die Programmierung des Roboters wird bevorzugt in C durchgeführt, kann aber auch in Assembler bzw. C++ erfolgen. AVR-GCC stellt die notwendigen Tools für C/C++ zur Verfügung. Für das Betriebssystem MS Windows bietet sich die Kombination aus AVR Studio und WinAVR (enthält avr-gcc, avr-g++, avrdude, avr-gdb u.a.) an.
Umfangreiche Ansteuerungsbibliotheken für die Programmiersprachen C/C++ wurden bereits entwickelt. Diese beinhalten auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display.
Mit Hilfe der NanoVM kann der Roboter sogar in Java programmiert werden. Eine entsprechende Java-Bibliothek wird demnächst zur Verfügung stehen.
Initialisierung
Für die anfängliche Inbetriebnahme des Roboters steht eine Initialisierungs-Software (hex-File) zur Verfügung, mit der der IR-Controller und der Motorcontroller programmiert werden können. Um das Update durchzuführen, wird die aktuelle Version der Initialisierungssoftware mittels ISP auf den ATmega128 aufgespielt.
Zum automatischen Updaten des MotCo wird Jumper JP1 geschlossen und Jumper JP2 geöffnet. Nach dem Drücken des Reset-Tasters beginnt dann die Überprüfung und Programmierung (Status-LEDs rot). Ist die Programmierung abgeschlossen, leuchten die Status-LEDs grün.
Zum automatischen Updaten des IRCo wird Jumper JP1 geöffnet und Jumper JP2 geschlossen. Nach dem Drücken des Reset-Tasters beginnt dann die Überprüfung und Programmierung (Status-LEDs rot). Die Programmierung ist abgeschlossen, wenn die Status-LEDs grün leuchten.
Sollte sich schon die aktuelle Version auf dem jeweiligen Controller befinden, blinken die LEDs rot (3*kurz, Pause, ...).
Die Software beinhaltet neben der Firmware für MOTCo und IRCo auch einen Funktionstest: Wenn keiner der beiden Jumper gesteckt ist, wird ein Blinktest durchgeführt: Nach dem Einschalten leuchten alle LEDs kurz orange auf. Danach wiederholt sich folgendes Muster:
- Die LEDs leuchten im Uhrzeigersinn nacheinander rot auf.
- Die LEDs leuchten im Uhrzeigersinn nacheinander grün auf.
- Die weißen Scheinwerfer-LEDs leuchten kurz auf.
Wenn beide Jumper gesteckt sind, werden alle Komponenten getestet:
- Der Roboter sollte sich in ca. 6 Sekunden einmal im Uhrzeigersinn um seine mittlere Hochachse drehen.
- Die mehrfarbigen Status-LEDs zeigen die Freiräume an (rot: besetzt, aus: mittel, grün: frei)
- Die weißen LEDs leuchten, wenn der Roboter an allen Bodensensoren keinen Bodenkontakt hat.
- Folgende Werte werden auf dem Display angezeigt:
- Batteriespannung
- Odometrie-Ticks rechts
- Odometrie-Ticks links
- Die fünf IR-Distanzmessungen
- Werte von Abgrund- und Liniensensoren
- Empfangener RC5-Code
Download
- firmware_20070710.hex - Aktuelle Version als Intel-Hex File
- firmware_20070710.zip - Aktuelle Version als gezipptes Intel-Hex File
Links
- Nibo Library - Projektseite zur Nibo Library
- Nibo Library Doc - Dokumentation zur Nibo Library