Arduino als Einstieg in die Mikrocontroller-Welt

Seite 4: Beschleunigen

Inhaltsverzeichnis

Als drittes Beispiel stellt der c't-Artikel einen 3D-Spiele-Controller auf Basis des Beschleunigungssensors ADXL330 vor. Je nachdem, welches Arduino-Board und auch welchen Sensor Sie verwenden, sieht die Schaltung etwas anders aus. Unser Nano-Schaltplan zeigt die Verdrahtung für einen älteren Arduino Nano (Version 2.X) und einen Beschleunigungssensor auf einer Platine mit Stiftleisten, wie er etwa bei Segor zu bekommen ist. Achtung: Der Schaltplan muss bei Verwendung eines Arduino Nano Version ab 3.0 etwas geändert werden, da hier die Pins A0 bis A7 in der umgekehrten Reihenfolge am Controllerboard angeordnet sind. Die Beschriftungen des Arduino sind hier verbindlich, der Schaltplan zeigt nur das Prinzip.

Weiterhin ist zu beachten:

Beschleunigungssensor-Schaltung beim Arduino Nano
  • Der Beschleunigungssensor muss unbedingt richtig herum auf das Steckbrett gesetzt werden. Eine Ecke des quadratischen Gehäuses ist mit einem winzigen Punkt markiert (der auch auf dem Schaltplan angedeutet ist). Dieser Punkt muss zum Arduino-Board hin ausgerichtet sein.
  • Die schwarze Drahtbrücke verbindet den Massepin (GND) mit der untersten Lochleiste, die rote beschaltet die Reihe darüber mit 3,3 Volt, der Versorgungsspannung des Sensors.
  • Die schwarze und die rote Drahtbrücke ganz links koppeln die oberen und die unteren Längsleisten aneinander, so dass der Sensor von oben mit den beiden roten Drahtbrücken mit Spannung versorgt werden kann.
  • Die orangenen Leitungen verbinden die Output-Pins des Sensors mit den Eingängen A0, A1 und A2; bei Verwendung eines Arduino Nano 3.0 weicht deren Position vom oben gezeigten Schaltplan ab.
  • Der Taster entspricht der Tasterschaltung aus dem ersten Beispiel.
  • Wer die Schaltung entschlossen enger steckt, bringt sie eventuell auch auf einem kurzen Steckbrett unter; wer leichter an den Taster kommen will, kann ihn auch noch weiter nach rechts versetzen.
  • Für eine dauerhafte Installation ist es empfehlenswert, die Drahtbrücken auf die optimale Länge zu kürzen.

Beschleunigungssensor-Schaltung beim Arduino Diecimilia
Bevor man das Arduino-Board mit dem USB-Kabel unter Strom setzt und das Programm hineinlädt, überprüft man sicherheitshalber nochmals die korrekte Platzierung aller Bauteile. Zu dieser Schaltung gehört unser Programm controller.pde.
Der Spielecontroller lässt sich natürlich auch mit ähnlichen Bauteilen umsetzen. Hier sieht man beispielsweise den alternative Schaltplan für einen Arduino Diecimilia, bei dem der Sensor auf einer kleinen Platine (breakout board) mit Stiftleiste sitzt und direkt auf die Analog-Buchsenleiste des Boards gesteckt wird. Solche Module gibt es etwa bei der Firma Sparkfun.

In diesem Fall werden allerdings ein paar Änderungen am Code notwendig:

  • Als Eingänge für die Sensorwerte dienen nicht mehr die Analog-Eingänge 0 bis 2, sondern 1 bis 3.
  • Für die Spannungsversorgung und die Erdung müssen Pin 4 und 5 als Output-Pins deklariert und mit LOW (Pin 4) und HIGH (Pin 5) belegt werden. Zwar ist der ADXL330 nur für 3,3 Volt Betriebsspannung ausgelegt und wird dann mit 5 Volt betrieben. Allerdings gibt das Datenblatt des Sensors als absolutes Maximum für die Versogungsspannung 7 Volt an; insofern dürfte fürs Herumspielen und Ausprobieren die etwas zu hohe Spannung aus dem Arduino-Board kein Problem sein. Im Dauerbetrieb sollte man den Sensor allerdings mit der Nennspannung betreiben, etwa, indem man ihn statt aufs Board aufs Steckbrett stöpselt und die Verbindungen zwischen Buchsenleiste und Sensor mit Kabelbrücken herstellt.