Kleines Nachschlagewerk Informatik
Selbstbau mit Arduino
Worum geht es?
Seit kurzem gibt es von Arexx (14 Euro über Reichelt) einfache Roboter-Plattformen. Dazu gehört eine Basisplatine, zwei 3V-Motoren samt "Getriebe" und zwei Räder. Die Mechanik ist nicht besonders, aber besser als bei NiboBee oder Asuro.

Dieser Bausatz kann nun mit verschiedenster Steuerelektronik bestückt werden. Da bietet sich ein einfacher Arduino (Uno) zuzüglich Motorcontroller an.
Material
Vor Kurzem war hier noch die gelötete Variante zu sehen. Mit einem Prototyping-Board geht es allerdings noch einfacher.

Man benötigt:
Bauanleitung
Von der Batteriehalterung müssen zwei Anschlusskabel abgehen. Zum einen muss das Board über den Hohlstecker mit 9V versorgt werden, zum zweiten brauchen die Motoren Spannung.



An die Motoren werden - wenn nicht schon erledigt - Bastelkabel für die Arduinos angelötet.



Das Prototypingboard wird auf den Arduino, der bereits auf das Fahrgestell geschraubt wurde, gesetzt. Darauf setzt man den Motorcontroller und verbindet ihn mit den Motoren. Achtung, die Motoren bekommen 9V, vertragen aber nur 3V. Deshalb muss je ein Widerstand in Reihe geschaltet werden (die Steuerspannung von 5V darf nicht über der Motorspannung liegen).

Hierfür unbedingt notwendige Informationen zum Motorcontroller gibt es hier



Anschließend werden die Steuerleitungen (zwei pro Motor, A0 bis A3) angeschlossen.



Wenn dies alles erledigt ist, wird der Motorcontroller über das Arduino-Board mit Masse und 5V versorgt.



Wenn all dies erledigt ist, wird noch die Spannung an Board und Motoren angelegt.

Fahren
Ein Testprogramm ist einfach, man braucht nur die Pins A0 bis A3 auf Ausgabe zu schalten und Vorwärtsfahren einzuschalten. Je nach Verbindung der Pins mit dem Motorcontroller kann es sein, dass der Roboter rückwärts fährt. Dann ändert man einfach die Programmierung oder steckt die Kabel um.

      void setup()
      {
          // Die 4 Pins zum Steuern der Motoren
          pinMode(0, OUTPUT);
          pinMode(1, OUTPUT);
          pinMode(2, OUTPUT);
          pinMode(3, OUTPUT);
      }
    
      void loop()
      {
          // alles gerade aus
          digitalWrite(0, HIGH);
          digitalWrite(1, LOW);
          digitalWrite(2, HIGH);
          digitalWrite(3, LOW);
      }
            
Erweiterungen
Wenn man möchte, kann man den Roboter mit LEDs und Sensoren ausstatten. Hier wurden zwei LEDs aufgesetzt, die man beim Richtungswechsel als Blinker verwenden kann.