Bezugsquellen:
NIBObee bei Reichelt
Ansmann Akkus bei Reichelt
Schnell-Ladegerät bei Reichelt
Informationen:
NIBObee von nicai-systems
AVR-GCC Compiler
avr-libc Dokumentation
Diskussions-Forum:
Roboternetz Bausätze und Modelle
Zubehör:
USB zu seriell Adapter
Bluetooth Modul BTM-222
Serielle LC-Displays
Mini Servo ES-05
Ultraschall-Sensor SRF02
Infrarot Entfernungs-Sensoren
mehr analoge Eingänge MCP3208
mehr digitale Eingänge 74HCT165
mehr digitale Ausgänge 74HCT595
An dieser Stelle möchte ich jungen und erwachsenen Spielkindern einen spannenden Roboter-Bausatz vorstellen, und dazu eine passende alternative C-Library veröffentlichen. Meine Library ist einfacher und dennoch nicht weniger funktional, als die originale Library vom Hersteller (Stand April 2010).
Der NIBObee Roboter Bausatz richtet sich an Menschen, die ein bischen basteln wollen und vor allem Interesse an der Programmierung eines solchen Gerätes haben. Für nur 50 Euro erhalten Sie mit dem NIBObee ein unterhaltsames und lehrreiches Männerspielzeug. Da lohnt sich kein Eigenbau - es sei denn Sie haben mehr Geld zur Verfügung und richtig viel Spaß an mechanischer Konstruktions-Arbeit.
Der NIBObee wird normalerweise in C programmiert, mit dem avr-gcc Compiler, für den es zahlreiche kostenlose grafische Oberflächen gibt. Eine für Windows ist im Lieferumfang auf CD enthalten, für Linux und MacOS Benutzer stehen entsprechende Downloads zur Verfügung.
An technischer Ausstattung hat die Biene folgendes zu bieten:
Mit zwei Getriebemotoren fährt sie vorwärts und Rückwärts bis zu etwa 2 Meter pro Sekunde (auf glattem Boden). Kurven sind auch möglich, sowie Drehen auf der Stelle. Zwei Lichtschranken liefern 40 Takte pro Rad-Umdrehung. Sie dienen der Messung von Strecke, Winkel und Geschwindigkeit.
Zwei Fühler erkennen Hindernisse. Man kann unterscheiden, in welche Richtung sie gedrückt werden. Drei Infrarot Sensoren auf der Unterseite erkennen Markierungen auf dem Boden (analog). Die Spannung der Batterien kann gemessen werden. Vier Leuchtdioden stehen zur freien Programmierung verfügbar.
Die Biene hat zehn I/O Pins frei, davon können vier auch als analoger Eingang verwendet werden. Zwei I/O Pins können als serielle Schnittstelle verwendet werden, und zwei andere können als I2C Schnittstelle verwendet werden.
Video Clip (Windows User müssen zur Wiedergabe eventuell einen DivX Codec installieren).
Und darum habe ich meine eigene Library geschrieben. Ich bin davon überzeugt, daß einzig und alleine meine Library die Probleme der Welt lösen wird und für jeden daher zwangsläufig ideal ist ... quatsch, das war ein Scherz. Aber wer sie benutzen möchte, darf das gerne tun, und zwar ohne jegliche Einschränkung.
Die Dokumentation der einzelnen Funktionen schreibe ich immer in die include Dateien (*.h) rein. Anders als bei der original Library brauchen Sie bei meiner nicht diverse init_xxxx() Funktionen aufzurufen. Die Library initialisiert sich nämlich selbst durch bloßes Einbinden.
Bevor Sie die fahren.c verwenden, möchte ich Sie animieren, die Motorsteuerung lieber selbst zu entwickeln. Denn diese Aufgabe ist alles andere als Trivial, und daher sehr lehrreich.
Wenn Sie Hilfe brauchen, dann schauen Sie in die Wissens-Datenbank vom Roboternetz oder holen Sie sich Anregungen aus meinem Quelltext.
Der serielle Port wird von der Library mit den Datei-Handles stdin und stdout verbunden, welche von sämtlichen Funktionen in der stdio Library verwendet werden können.
Wenn sie noch mehr I/O Leitungen für Erweiterungen benötigen, dann schauen Sie sich mal den seriellen Analog/Digital Konverter MCP3208 oder die Schieberegister 74HCT165 und 74HCT595 an.
Wer nicht gegen Hindernisse fahren möchte, kann einen Ultraschall Entfernungs-Sensor SRF02 auf den Roboter montieren. Alternativ bieten sich besonders für den Nahbereich auch Infrarot Entfernungs-Sensoren an.
Wenn man den Entfernungs-Sensor auf einen Servo montiert, kann man ihn sogar hin und her drehen, ohne den ganzen Roboter bewegen zu müssen. Das sieht dann so aus:
Die Gelenke der Fühler sind ein wenig schwergängig. In der Montageanleitung ist vorgesehen, die Fühler mit Schrumpfschläuchen an diese Schalthebel zu befestigen:
Entfernen Sie diese Schalthebel einfach und kleben Sie die Fühler wie im folgenden Foto gezeigt mit Heißkleber an, dann funktionieren sie einwandfrei:
Bei der Programmierung müssen sie berücksichtigen, daß die Taster (vorne/hinten) nun umgekehrt funktionieren.
Abhilfe schafft hier die Abdeckung aus einem halbierten Deckel von einer Haarspray-Dose, mit Heißkleber angeklebt.
Vermeiden Sie das Überladen Ihrer Akkus, indem Sie entweder nur ganz leere Akkus in der Biene aufladen, oder den Ladevorgang unterbrechen, sobald sie Akkus heiß werden (Hand-warm ist ok). Besser ist ein externes Ladegerät, welches den tatsächlichen Ladezustand jeder Zelle einzeln überwacht.