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.