• IT-Karriere:
  • Services:

Aus Eins wird Drei

Die Bezeichnung des im Circuit Playground verbauten Beschleunigungssensors, LIS3DH, enthält das Kürzel 3D. Ein Hinweis auf einen 3-Achsen-Sensor, der tatsächlich aus drei einzelnen Sensoren besteht. Diese sind grundsätzlich gleich, liefern aber durch ihre Anordnung in den drei Raumebenen X,Y und Z unterschiedliche Werte. Erst durch ihr Zusammenspiel ist eine Lagebestimmung im Raum möglich.

Erste Versuche

Stellenmarkt
  1. NOVENTI HealthCare GmbH, München, Aschheim (Home-Office möglich)
  2. P&I Personal & Informatik AG, Wiesbaden

Um überhaupt einen ersten Bezug zum Sensor zu bekommen, empfiehlt es sich, das nachfolgende kleine Programm auszuprobieren. Der Quellcode kann auch von Github heruntergeladen werden. Das Programm fragt einfach nur die drei Achsen des Sensors ab und gibt sie alle 100 Millisekunden an die serielle Schnittstelle aus:

  1. #include <Adafruit_CircuitPlayground.h>
  2.  
  3. float X, Y, Z;
  4.  
  5. void setup() {
  6. Serial.begin(9600);
  7. CircuitPlayground.begin();
  8. }
  9.  
  10. void loop() {
  11. X = CircuitPlayground.motionX();
  12. Y = CircuitPlayground.motionY();
  13. Z = CircuitPlayground.motionZ();
  14.  
  15. Serial.print(X);
  16. Serial.print(",");
  17. Serial.print(Y);
  18. Serial.print(",");
  19. Serial.println(Z);
  20.  
  21. delay(100);
  22. }

  • 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)
Bewegungssensor mit Koordinatenbeschriftung (Bild: Thomas Ell)

Mit Hilfe der Arduino-IDE wird das Programm auf das Circuit Playground geladen. Bei Adafruit findet sich eine Anleitung, die beschreibt, wie die IDE installiert und eingerichtet wird. Wenn dieses Programm auf das Board geladen wurde, ist es möglich, von den drei Einzelsensoren Kurvenverläufe zu bekommen, indem über die Arduino-IDE das Fenster Werkzeuge - Serieller Plotter ausgewählt wird. Jetzt kann man das Board in die Hand nehmen und im Plotter-Fenster sehen, wie sich die Kurven verändern, wenn man das Board dreht und wendet.

Was zieht denn da?

Was bei ersten Versuchen mit einem Beschleunigungssensor verunsichern kann, ist die Tatsache, dass der Sensor auch schon Werte zurückliefert, wenn er ganz ruhig auf dem Tisch liegt. Scheinbar wird er ja dann gar nicht beschleunigt. Ich habe anfangs gedacht, dass in Ruhelage von allen drei Achsen der Wert 0 zurückgegeben werden müsste und nur Werte ungleich 0 zurückgeliefert werden, wenn ich den Sensor schnell bewege und auch dann nur in dem Moment, in dem sich die Geschwindigkeit der Bewegung verändert - denn das ist ja laut Definition die Beschleunigung . Die ersten Experimente zeigen aber schnell, dass dem nicht so ist.

Es ist die Erdbeschleunigung, deren Wirkung auf die Sensoren ich nicht berücksichtigt hatte! Sie wirkt beständig auf die Sensoren ein, und darum geben diese auch in Ruhelage einen Wert zurück. Und nebenbei ist dies auch der Grund dafür, dass diese Sensoren auch Lagesensoren sind - und damit erst dieses Spiel ermöglichen. Um nun eine zusätzlich auf den Sensor einwirkende Beschleunigung zu detektieren, muss der Wert in der Ruhephase bekannt sein, um vom aktuellen Wert subtrahiert zu werden. Die Differenz ist die tatsächlich auf den Sensor zusätzlich zur Erdbeschleunigung einwirkende Beschleunigung.

Für das Spiel benötige ich aber lediglich die Lage des Sensors, ich gehe daher im weiteren Text nicht weiter auf die Beschleunigungsdetektion ein.

  • 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)
Ausgabe des seriellen Monitors (Bild: Thomas Ell)

Wenn ich das Circuit Playground waagrecht auf dem Tisch liegen habe und einmal in die Mitte sehe, finde ich dort den Beschleunigungssensor als kleines schwarzes Kästchen und daneben die Buchstaben X und Y. In der Darstellung des Plotters sehe ich, dass zwei Achsen (X und Y) keinen Ausschlag haben und eine (Z) voll ausgeschlagen ist. Denn auf die Z-Achse wirkt sich in dieser Position die volle Erdbeschleunigung aus! Halte ich das Board so, dass es hochkant auf dem Tisch steht, so ist der Ausschlag für Z gleich 0, während die anderen beiden Achsen plötzlich unterschiedliche Werte zeigen, je nach der gerade aktuellen Rotation des Boards.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Bewegungssensor auswerten: Mit Wackeln programmieren lernenWie der Beschleunigungssensor funktioniert 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8.  


Anzeige
Top-Angebote
  1. (u. a. LG OLED55CX9LA 120Hz für 1.359€, Samsung Galaxy A51 128GB für 245€)
  2. gratis
  3. (u. a. i-tec Adapterkabel USB-C &gt; HDMI 4K/60Hz 1,5m für 12,99€, i-tec MySafe USB 3.0 Easy...

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
       


Samsung QLED 8K Q800T - Test

Samsungs preisgünstiger 8K-Fernseher hat eine tolle Auflösung, schneidet aber insgesamt nicht so gut ab.

Samsung QLED 8K Q800T - Test Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /