• IT-Karriere:
  • Services:

Ein Drehbuch in Codeform

Unser Programm auf dem Touchboard muss drei Dinge gleichzeitig koordinieren: die situationsabhängige Ansteuerung der LEDs, das Abspielen von MP3-Dateien im richtigen Moment und die Überwachung der berührungsempfindlichen Sensoren.

Stellenmarkt
  1. ekom21 - KGRZ Hessen, Darmstadt, Gießen
  2. Melitta Business Service Center GmbH & Co. KG, Minden

Die Umsetzung vereinfachen zwei Dinge: Zum einen läuft das Abspielen der MP3-Datei über die entsprechende Bibliothek von Bare Conductive weitgehend autonom, zum anderen befindet sich die Logik für die konkrete Ansteuerung jeder einzelnen LED auf dem Arduino und muss uns an dieser Stelle auch nicht weiter kümmern. Als Konsequenz müssen wir kein Multitasking selbst implementieren, sondern können uns weitgehend darauf beschränken, ein Drehbuch sequentiell abzuarbeiten. Das vollständige Arduino-Sketch für das Touchboard kann heruntergeladen werden.

Das Drehbuch besteht aus einer Folge von Zeilen (ScriptLine). Jede Zeile besitzt einen Zustand (state): Entweder wird veranlasst, eine MP3-Datei abzuspielen und parallel der Zustand der LEDs gesetzt (STATE_PLAY), oder es wird auf die Berührung eines Sensors gewartet und danach der Zustand der LEDs geändert (STATE_TOUCH).

Der zusammengesetzte Datentyp ScriptLine dient dazu, jede Drehbuchzeile zu speichern:

  1. struct ScriptLine {
  2. byte state = STATE_PLAY;
  3. struct Pin pin[LEDS];
  4. byte touch = 0;
  5. byte file = 1;
  6. int delay = 0;
  7. };

Das Datenelement state repräsentiert die Art der Drehbuchzeile, das Array pin enthält Anweisungen, wie die LEDs angesteuert werden sollen. Ist es notwendig, auf einen Sensor zu reagieren, wird der betreffende Sensor mit Hilfe des Bitfeldes touch repräsentiert. Ein gesetztes Bit heißt: Der entsprechende Sensor muss berührt werden, bevor das Drehbuch weiter abgearbeitet wird. Soll hingegen eine MP3-Datei abgespielt werden, so enthält file die Nummer der MP3-Datei aus dem Einsprech-Skript und delay die Zeit in Millisekunden, die bis zur Ausführung der nächsten Drehbuchzeile gewartet werden soll - die Dauer entspricht meist der Spieldauer der MP3-Datei.

Mehr als Licht an und Licht aus

Im ScriptLine-Element wird die Ansteuerung der LEDs durch einen weiteren zusammengesetzten Datentyp repräsentiert. Das ist notwendig, da wir mehr als ein simples An und Aus bieten wollen. Tatsächlich können wir jede LED auf fünf verschiedene Arten ansteuern: an, aus, langsames Hellerwerden, langsames Dunklerwerden und eine konkrete, teilweise Helligkeit.

  1. struct Pin {
  2. char mode = PC_MODE_LOW;
  3. char value = 0;
  4. };

Der mode-Wert gibt an, wie die LED angesteuert werden soll, die Interpretation des value-Wertes hängt von mode ab. Soll die LED langsam dunkler oder heller werden, gibt er den Startwert vor, bei teilweiser Helligkeit den konkreten Helligkeitswert.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Plexiglas verkabelnMühsam nährt sich das Eichhörnchen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11.  


Anzeige
Spiele-Angebote
  1. 20,49€
  2. (u. a. Death Stranding für 39,99€, Bloodstained: Ritual of the Night für 17,99€, Journey to...

McFarmar 13. Jan 2015

Finde ich auch super. Ein Kollege hat ein Kind das im richtigen Alter ist - ich glaube...

Konstantin... 13. Jan 2015

den ich persönlich lustiger finde. Man benötigt zwar einen PC dafür, wenn ich aber...


Folgen Sie uns
       


    •  /