Bewegungssensor auswerten: Mit Wackeln programmieren lernen
Bewegungssensoren stecken in vielen Geräten und bieten neue Formen der Nutzereingaben, auch ohne Taster und Schalter. Doch ihre Auswertung in einem eigenen Programm ist nicht einfach, gerade beim Bau eigener Geräte. Wir erklären die grundlegenden Schritte anhand eines kleinen Spiels auf einem bunt leuchtendem Mikrocontroller-Board.

Als ehemaliger Informatik-Ausbilder habe ich immer ein Auge auf neue Mikrocontroller-Boards mit pädagogischer Ausrichtung. Deshalb weckten die ungewöhnlichen Circuit-Playground-Boards von Adafruit mit ihren vielen Sensoren und der runden Form meine Aufmerksamkeit. Schon länger habe ich Adafruits Neopixel-Ringe in Verbindung mit den Trinkets des Herstellers verwendet, um Anfängern das Programmieren beizubringen. Ein Neopixel-Ring ermöglicht es, Grundlagen wie die Verwendung von Programmschleifen direkt optisch sichtbar zu machen, indem zum Beispiel der Wert einer Zählvariable für eine bestimmte LED steht. Da beim Circuit Playground Controller und Neopixel auf einer Platine integriert und auch noch eine Fülle von Sensoren verbaut sind, erschien mir der Controller als ideale Grundlage für erste Experimente mit Arduinos und dem Erlernen des Programmierens.
- Bewegungssensor auswerten: Mit Wackeln programmieren lernen
- Aus Eins wird Drei
- Wie der Beschleunigungssensor funktioniert
- Etwas Trigonometrie
- Die Regeln umsetzen
- Fazit - Noch verpacken und fertig
Ein Circuit Playground ist eine fünf Zentimeter durchmessende, kreisrunde Platine, deren äußerer Rand von Kontaktflächen und deren innerer Rand von zehn Neopixeln gesäumt ist. In der Mitte sind der Prozessor, die Sensoren, zwei Taster und ein Schalter aufgelötet. Der Rand ist an zwei gegenüberliegenden Stellen mit einer USB-Buchse und einem JST-Anschluß für Batterien bzw. Akkus unterbrochen.
Um mich mit der Platine vertraut zu machen, wollte ich den Beschleunigungssensor abfragen und die LEDs in Abhängigkeit der vom Sensor zurückgelieferten Werte leuchten lassen. Nach kurzer Überlegung sollte das so passieren, dass die gerade in Bezug zum umgebenden Raum höchste Stelle der Platine die an dieser Stelle befindliche LED leuchten lassen soll. Daraus entwickelte sich die Idee, ein kleines Geduldspiel zu programmieren, das den Umgang mit dem verbauten Beschleunigungssensor lehren kann und dank der vielen RGB-LEDs auch Spaß macht.
Kein Spiel ohne Regeln
Um daraus ein Spiel zu machen, ist nicht mehr allzu viel nötig. Zuerst müssen aber die Regeln klar definiert werden: Der Spieler soll das Board bei minimaler Neigung so bewegen, dass eine LED nach der anderen reihum einmal leuchtet. Dabei soll die Richtung egal sein. Wenn er das schafft, wird als Belohnung eine kleine Farbanimation abgespielt. Wenn er einmal eine LED überspringt oder kurz die Richtung wechselt, beginnt die Zählung der LEDs von neuem.
Viele Sensoren an Board
Das Circuit-Playground-Board ist reich an verbauten Sensoren und Aktuatoren. Ohne Zusatzelemente kann ein Programm Bewegungen erkennen, die Temperatur und Helligkeit messen und Geräusche erfassen. Für Nutzereingaben stehen zwei Taster und ein Schalter zur Verfügung. Rückmeldungen erhält der Nutzer über zehn bunte Neopixel-LEDs, je eine grüne und rote LED und den eingebauten Lautsprecher.
Wem das nicht reicht, der kann über die acht touch-fähigen GPIO-Kontaktflächen zusätzliche Bauelemente anschließen. Über die Kontaktflächen werden auch I2C und UART bereitgestellt.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Aus Eins wird Drei |
Man könnte den Slide Switch Eingang als Interrupt konfigurieren, und den Prozessor bei...
Hast du falsch verstanden. Druckempfindlich nennt man resistive Flächen, kapazitive...
Ich habe noch nie einen Megacontroller programmiert. Wie groß sind die? Meine winzigen...