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. Media-Saturn Electronic Online Services GmbH, München
  2. IT2media GmbH & Co.KG, Nürnberg
  3. NRW.BANK, Düsseldorf
  4. ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn


Anzeige
Spiele-Angebote
  1. 5,99€
  2. 59,00€
  3. (-78%) 11,99€

Folgen Sie uns
       


  1. Energielabels

    Aus A+++ wird nur noch A

  2. Update 1.2

    Gog.com-Client erhält Cloud-Speicheroption und fps-Zähler

  3. HTTPS

    US-Cert warnt vor Man-In-The-Middle-Boxen

  4. Datenrate

    Facebook und Nokia bringen Seekabel ans Limit

  5. Grafikkarte

    Zotac will die schnellste Geforce GTX 1080 Ti stellen

  6. Ab 2018

    Cebit findet künftig im Sommer statt

  7. Google

    Maps erlaubt Teilen des eigenen Standortes in Echtzeit

  8. Datengesetz geplant

    Halter sollen Eigentümer von Fahrzeugdaten werden

  9. Nintendo Switch

    Leitfähiger Schaumstoff löst Joy-Con-Probleme

  10. Stack Overflow

    Deutsche Entwickler fühlen sich unterbezahlt



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Buch - Apple intern: "Die behandeln uns wie Sklaven"
Buch - Apple intern
"Die behandeln uns wie Sklaven"
  1. Earbuds mit Sensor Apple beantragt Patent auf biometrische Kopfhörer
  2. Apple Park Apple bezieht das Raumschiff
  3. Klage gegen Steuernachzahlung Apple beruft sich auf europäische Grundrechte

Technik-Kritiker: Jaron Lanier will Facebook zerschlagen
Technik-Kritiker
Jaron Lanier will Facebook zerschlagen
  1. Facebook & Co Bis zu 50 Millionen Euro Geldbuße für Hasskommentare
  2. OCP Facebook rüstet das Rechenzentrum auf
  3. Social Media Facebook verbietet Datennutzung für Überwachung

Forensik Challenge: Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
Forensik Challenge
Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
  1. Reporter ohne Grenzen Verfassungsklage gegen BND-Überwachung eingereicht
  2. Selektorenaffäre BND soll ausländische Journalisten ausspioniert haben
  3. Ex-Verfassungsgerichtspräsident Papier Die Politik stellt sich beim BND-Gesetz taub

  1. Re: Vertrauen in die Menschheit

    Johnny Cache | 04:46

  2. Re: schöne Sache

    Sharra | 04:09

  3. Re: Ja und?

    kaliberx | 03:59

  4. Re: Problem erkannt, Problem wiederholt.

    topo | 03:57

  5. Macht das nicht fast jeder mit WhatsApp oder...

    ecv | 03:50


  1. 18:59

  2. 18:42

  3. 18:06

  4. 17:39

  5. 17:10

  6. 16:46

  7. 16:26

  8. 16:24


  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