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. Knauf Gips KG, Iphofen (Raum Würzburg)
  2. Jos. Schneider Optische Werke GmbH, Bad Kreuznach
  3. Lampe & Schwartze KG, Bremen
  4. Landeskriminalamt Thüringen, Erfurt


Anzeige
Blu-ray-Angebote
  1. 38,49€ (Vorbesteller-Preisgarantie)
  2. (u. a. Hobbit Trilogie Blu-ray 43,89€ und Batman Dark Knight Trilogy Blu-ray 17,99€)
  3. (u. a. The Revenant 7,97€, James Bond Spectre 7,97€, Der Marsianer 7,97€)

Folgen Sie uns
       


  1. Netgear Nighthawk X6S

    Triband-Router kann mit Sprache gesteuert werden

  2. Spark

    DJI-Minicopter stürzt ab

  3. Nachfolger Watchbox

    RTL beendet Streamingportal Clipfish

  4. Chipmaschinenausrüster

    ASML demonstriert 250-Watt-EUV-System

  5. Linux-Distribution

    Opensuse Leap 42.3 baut Langzeitpflege aus

  6. Soziales Netzwerk

    Facebook soll an Smart-Speaker mit Display arbeiten

  7. Kumu Networks

    Vollduplex-WLAN auf gleicher Frequenz soll noch 2018 kommen

  8. IT-Dienstleister

    Daten von 400.000 Unicredit-Kunden kompromittiert

  9. Terrorismusbekämpfung

    Fluggastdatenabkommen mit Kanada darf nicht in Kraft treten

  10. Makeblock Airblock im Test

    Es regnet Drohnenmodule



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Microsoft Surface Pro im Test: Dieses Tablet kann lange
Microsoft Surface Pro im Test
Dieses Tablet kann lange
  1. Microsoft Neues Surface Pro fährt sich ohne Grund selbst herunter
  2. iFixit-Teardown Surface Laptop ist fast nicht reparabel
  3. Surface Studio Microsofts Grafikerstation kommt nach Deutschland

Ausprobiert: JPEGmini Pro komprimiert riesige JPEGs um bis zu 80 Prozent
Ausprobiert
JPEGmini Pro komprimiert riesige JPEGs um bis zu 80 Prozent
  1. Google KI erstellt professionelle Panoramen
  2. Bildbearbeitung Google gibt Nik Collection auf

Kryptowährungen: Bitcoin steht vor grundlegenden Änderungen
Kryptowährungen
Bitcoin steht vor grundlegenden Änderungen
  1. Linux-Distributionen Mehr als 90 Prozent der Debian-Pakete reproduzierbar
  2. Die Woche im Video Strittige Standards, entzweite Bitcoins, eine Riesenkonsole
  3. Kryptowährung Bitcoin notiert auf neuem Rekordhoch

  1. Re: Ich benutze zwar kein Android

    nachgefragt | 16:51

  2. Re: uuuuund noch ein Streaming-Dings.

    mnementh | 16:51

  3. Benötigt Thunderbolt 3 beide High Speed Lanes?

    Graveangel | 16:50

  4. Re: Erster Eindruck..

    der_wahre_hannes | 16:49

  5. Re: Comdirect ist ganz nice

    norinofu | 16:46


  1. 16:53

  2. 16:22

  3. 14:53

  4. 14:15

  5. 14:00

  6. 13:51

  7. 13:34

  8. 12:48


  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