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. Haufe Gruppe, Freiburg im Breisgau
  2. Daimler AG, Stuttgart-Fellbach
  3. Osmo Holz und Color GmbH & Co. KG, Göttingen
  4. über Performance + Talent Management Ltd., Köln


Anzeige
Hardware-Angebote
  1. und 15€ Cashback erhalten
  2. (täglich neue Deals)
  3. 17,99€ statt 29,99€

Folgen Sie uns
       


  1. Auto

    Faraday Future zeigt neue Details seines Elektro-SUVs

  2. iTunes

    Apple plant Streaming aktueller Kinofilme

  3. Bluetooth 5

    Funkleistung wird verzehnfacht

  4. Microsofts x86-Emulator für ARM

    Yes, it can run Crysis

  5. Spielebranche

    Shadow Tactics gewinnt Deutschen Entwicklerpreis 2016

  6. Erotik-Abo-Falle

    Verdienen Mobilfunkbetreiber an WAP-Billing-Betrug mit?

  7. Final Fantasy 15

    Square Enix will die Story patchen

  8. TU Dresden

    5G-Forschung der Telekom geht in Entertain und Hybrid ein

  9. Petya-Variante

    Goldeneye-Ransomware verschickt überzeugende Bewerbungen

  10. Sony

    Mehr als 50 Millionen Playstation 4 verkauft



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
The Last Guardian im Test: Gassi gehen mit einem computergesteuerten Riesenbiest
The Last Guardian im Test
Gassi gehen mit einem computergesteuerten Riesenbiest
  1. Firmware LG kündigt TV-Update für Playstation 4 Pro an
  2. iFixit-Teardown Sony setzt bei der PS4 Pro auf einen 25-Watt-Lüfter
  3. Playstation 4 Pro im Test Für 400 Euro gibt's da wenig zu überlegen

Kosmobits im Test: Tausch den Spielecontroller gegen einen Mikrocontroller!
Kosmobits im Test
Tausch den Spielecontroller gegen einen Mikrocontroller!
  1. HiFive 1 Entwicklerboard mit freiem RISC-Prozessor verfügbar
  2. Simatic IoT2020 Siemens stellt linuxfähigen Arduino-Klon vor
  3. Calliope Mini Mikrocontroller-Board für deutsche Schüler angekündigt

Gigaset Mobile Dock im Test: Das Smartphone wird DECT-fähig
Gigaset Mobile Dock im Test
Das Smartphone wird DECT-fähig

  1. Re: 25 - 50 ?

    wo.ist.der... | 08:40

  2. Re: Vor 8 Jahren gabs das auch schon...

    Peter Brülls | 08:39

  3. Re: Bundespost war Sondervermögen des Staates und...

    M.P. | 08:38

  4. Re: nice ...

    Berner Rösti | 08:38

  5. Re: Die erste kurze Demo sieht ja schon mal gut aus

    Sybok | 08:37


  1. 08:01

  2. 07:44

  3. 07:35

  4. 07:19

  5. 22:00

  6. 18:47

  7. 17:47

  8. 17:34


  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