• IT-Karriere:
  • Services:

Wie der Beschleunigungssensor funktioniert

Als Mensch erfahren wir im Alltag eine Lageänderung am deutlichsten, wenn wir in einem schnellen Auto oder auf einem Motorrad sitzen und wir das Fahrzeug, über das Durchdrücken des Gaspedals oder das Aufreißen des Gasgriffs plötzlich beschleunigen. Da stellt sich die Frage, warum das Board schon Sensorwerte liefert, wenn es ganz ruhig auf dem Tisch liegt. Für die Beantwortung dieser Frage ist eine Vorstellung vom mechanischen Aufbau des Sensors von Vorteil.

Stellenmarkt
  1. Stadt Hildesheim, Hildesheim
  2. NEW AG, Mönchengladbach

Angenommen, auf einem Tisch sind die Schienen einer Modelleisenbahn aufgebaut. Es bibt zwei Schienenstränge. Der eine Schienenstrang ist gegen den anderen um 90 Grad gedreht positioniert und auf beiden Strängen steht ein Waggon, der an beiden Enden mit einem locker gespannten Gummiband an den Enden des Schienenstrangs befestigt ist. Ist der Tisch perfekt horizontal ausgerichtet, wird sich keiner der Waggons bewegen. Hebe ich den Tisch an einer Seite etwas an, so wird sich aufgrund der Erdanziehungskraft ein Waggon bewegen und der andere immer noch stillstehen. Stelle ich den Tisch wieder ab und hebe den Tisch an einer der beiden anstoßenden Kanten an, so wird sich der andere Waggon bewegen und der sich eben noch bewegende, stillstehen. Hebe ich den Tisch an einer Ecke an, so werden sich beide Waggons bewegen. Wie weit sich die Waggons bewegen, also wie weit die Gummibänder gespannt bzw. entspannt sind, kann ich elektronisch abfragen. Die beiden Schienenstränge stehen für die X- und die Y-Achse im Raum. Würde ich mitten auf dem Tisch noch hochkant eine Platte montieren, auf der sich ein nach oben zeigender Schienenstrang befindet, hätte ich auch die Z-Achse.

  • Adafruit Playground Circuit (Bild: Thomas Ell)
  • Adafruit Playground Circuit  (Bild: Thomas Ell)
  • Bewegungssensor mit Koordinatenbeschriftung (Bild: Thomas Ell)
  • Skript in der Arduino IDE (Bild: Thomas Ell)
  • Ausgabe des seriellen Monitors (Bild: Thomas Ell)
  • Gehäuse für den Playground Circuit (Bild: Thomas Ell)
  • Gehäuse für den Playground Circuit (Bild: Thomas Ell)
  • (Bild: Thomas Ell)
  • (Bild: Thomas Ell)
  • (Bild: Thomas Ell)
(Bild: Thomas Ell)

Zwar ohne Modelleisenbahn, aber im Prinzip ganz ähnlich, funktioniert ein Beschleunigungssensor in Wirklichkeit. Anstatt der Waggons kommt ein federnder Kamm zum Einsatz, dessen Zinken sich zwischen den Zinken eines anderen, fest montierten Kamms bewegen können. Der Abstand der Zinken zueinander verändert eine Kapazität, die elektronisch ausgewertet werden kann.

Fragt sich noch, wo da die Beschleunigung ist. Aber gebt dem Tisch einmal einen Schubs, was wird passieren? Die Waggons werden sich kurz bewegen und dann wieder stillstehen.

Die höchste LED ermitteln

Je nach Neigung des Boards verändern sich die Werte für X und Y so, dass für jede Lage ein individuelles Paar von Werten existiert. Je nachdem, nach welcher Seite geneigt wird, können die Werte positiv oder negativ sein. Sie können in ein Achsenkreuz eingezeichnet werden.

Dies wird besser vorstellbar, wenn das Circuit Playground Board vor einem auf einem Tisch liegt und dabei so ausgerichtet ist, dass die USB-Buchse nach rechts zeigt. Dann sind die kleinen, in der Mitte auf das Board gedruckten Pfeile deckungsgleich mit den Achsen eines kartesischen Koordinatenkreuzes. Wird das Board jetzt mit der rechten Seite etwas angehoben, erhöht sich der X-Wert, während Y gleich bleibt. Wird es mit der linken Seite angehoben, wird der X-Wert negativ. Wird das Board an der oberen Seite angehoben, erhöht sich der Y-Wert, wird es unten angehoben, wird der Y-Wert negativ.

Wenn ich auf diese Weise rund zehn zufällige Wertepaare ermittle, sie jeweils als Koordinate interpretiere und in ein kartesisches Koordinatenkreuz einzeichne, sollte ich mit etwas Glück in allen vier Quadranten mindestens einen Punkt haben. Um den Mittelpunkt zeichne ich einen Kreis, der alle Punkte umfasst. Zeichne ich jetzt für jede Koordinate eine Linie, die vom Mittelpunkt des Achsenkreuzes durch diese Koordinate führt, und verlängere die Linie, bis sie den Kreis erreicht, so habe ich genau die Stelle des Randes des Circuit Playground, die im Moment des Erfassens des zugehörigen Punktes am höchsten war.

Doch die Koordinaten sind innerhalb eines Programms unhandlich zu gebrauchen. Ich könnte sie zwar theoretisch für Vergleiche verwenden, hätte dann aber immer mit zwei Werten zu tun und müsste im Kopf aufwendig umdenken, um die Algorithmen zu formulieren. Besser wäre ein einzelner Wert, der mit dem gewohnten Denken kompatibel ist. Den gibt es auch, ich muss ihn nur aus der Koordinate berechnen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Aus Eins wird DreiEtwas Trigonometrie 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8.  


Anzeige
Spiele-Angebote
  1. (u. a. Anno 2205 Ultimate Edition für 11,99€, Rayman Legends für 4,99€, The Crew 2 - Gold...
  2. 7,99€
  3. 24,99€
  4. 12,39€

erlkoenig 19. Sep 2018

Man könnte den Slide Switch Eingang als Interrupt konfigurieren, und den Prozessor bei...

FrankGallagher 18. Sep 2018

Hast du falsch verstanden. Druckempfindlich nennt man resistive Flächen, kapazitive...

Eheran 18. Sep 2018

Ich habe noch nie einen Megacontroller programmiert. Wie groß sind die? Meine winzigen...


Folgen Sie uns
       


Geforce RTX 3060 - Test

Schneller als eine Geforce RTX 2070, so günstig wie die Geforce GTX 1060 (theoretisch).

Geforce RTX 3060 - Test Video aufrufen
    •  /