Abo
  • Services:
Anzeige
Das verkabelte Touchboard
Das verkabelte Touchboard (Bild: Fabian Hamacher/Golem.de)

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.

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.

Anzeige

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.

 Plexiglas verkabelnMühsam nährt sich das Eichhörnchen 

eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. Computacenter AG & Co. oHG, Berlin, Frankfurt, Ratingen, Stuttgart, München
  2. operational services GmbH & Co. KG, Nürnberg
  3. Robert Bosch GmbH, Leonberg
  4. SICK AG, Reute bei Freiburg im Breisgau


Anzeige
Top-Angebote
  1. 139,00€
  2. 485,00€ (Vergleichspreis 529)
  3. 299,00€

Folgen Sie uns
       


  1. Digital Paper DPT-RP1

    Sonys neuer E-Paper-Notizblock wird 700 US-Dollar kosten

  2. USB Typ C Alternate Mode

    Thunderbolt-3-Docks von Belkin und Elgato ab Juni

  3. Sphero Lightning McQueen

    Erst macht es Brummbrumm, dann verdreht es die Augen

  4. VLC, Kodi, Popcorn Time

    Mediaplayer können über Untertitel gehackt werden

  5. Engine

    Unity bekommt 400 Millionen US-Dollar Investorengeld

  6. Neuauflage

    Neues Nokia 3310 soll bei Defekt komplett ersetzt werden

  7. Surface Studio

    Microsofts Grafikerstation kommt nach Deutschland

  8. Polar

    Fitnesstracker A370 mit Tiefschlaf- und Pulsmessung

  9. Schutz

    Amazon rechtfertigt Sperrungen von Marketplace-Händlern

  10. CPU-Architektur

    RISC-V-Patches für Linux erstmals eingereicht



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Yodobashi und Bic Camera: Im Rausch der Netzwerkkabel
Yodobashi und Bic Camera
Im Rausch der Netzwerkkabel
  1. Sicherheitslücke Fehlerhaft konfiguriertes Git-Verzeichnis bei Redcoon
  2. Preisschild Media Markt nennt 7.998-Euro-Literpreis für Druckertinte

Vernetzte Hörgeräte und Hearables: Ich filter mir die Welt widdewiddewie sie mir gefällt
Vernetzte Hörgeräte und Hearables
Ich filter mir die Welt widdewiddewie sie mir gefällt
  1. The Dash Pro Bragis Drahtlos-Ohrstöpsel können jetzt auch übersetzen
  2. Beddit Apple kauft Schlaf-Tracker-Hersteller
  3. Smartwatch Huawei Watch bekommt Android Wear 2.0

In eigener Sache: Die Quanten kommen!
In eigener Sache
Die Quanten kommen!
  1. id Software "Global Illumination ist derzeit die größte Herausforderung"
  2. In eigener Sache Golem.de führt kostenpflichtige Links ein
  3. In eigener Sache Golem.de sucht Marketing Manager (w/m)

  1. Re: sehr interessant

    hum4n0id3 | 10:57

  2. Re: Naive Frage: Cloudzwang ?

    Ovaron | 10:57

  3. Re: Gutes Konzept... schrottiges OS, und dann 4000¤

    Seroy | 10:56

  4. Re: "muss für den Einsatz der Razer-Box ... im...

    ms (Golem.de) | 10:51

  5. Re: Für Vermögende die kreativ sein wollen..

    Seroy | 10:49


  1. 10:10

  2. 09:59

  3. 09:00

  4. 18:58

  5. 18:20

  6. 17:59

  7. 17:44

  8. 17:20


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel