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. Bertrandt Services GmbH, Friedrichshafen
  2. Schaeffler Technologies AG & Co. KG, Herzogenaurach
  3. über OPTARES GmbH & Co. KG, Großraum München
  4. Max Bögl Bauservice GmbH & Co. KG, Sengenthal bei Neumarkt i.d.Opf.


Anzeige
Top-Angebote
  1. 34,49€
  2. 169,99€ bzw. 15€ günstiger bei Newsletter-Anmeldung

Folgen Sie uns
       


  1. WW2

    Kostenpflichtige Profispieler für Call of Duty verfügbar

  2. Firefox Nightly Build 58

    Firefox warnt künftig vor Webseiten mit Datenlecks

  3. Limux-Ende

    München beschließt 90 Millionen für IT-Umbau

  4. Chiphersteller

    Broadcom erhöht Druck bei feindlicher Übernahme von Qualcomm

  5. Open Access

    Konkurrenten wollen FTTH-Ausbau mit der Telekom

  6. Waipu TV

    Produkte aus Werbeblock direkt bei Amazon bestellen

  7. Darpa

    US-Militär will Pflanzen als Schadstoffsensoren einsetzen

  8. Snpr External Graphics Enclosure

    KFA2s Grafikbox samt Geforce GTX 1060 kostet 500 Euro

  9. IOS 11 und iPhone X

    Das Super-Retina-Display braucht nur wenige Anpassungen

  10. Polyphony Digital

    GT Sport bekommt Einzelspielerliga



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Montagewerk in Tilburg: Wo Tesla seine E-Autos für Europa produziert
Montagewerk in Tilburg
Wo Tesla seine E-Autos für Europa produziert
  1. Elektroauto Walmart will den Tesla-Truck
  2. Elektrosportwagen Tesla Roadster 2 beschleunigt in 2 Sekunden auf Tempo 100
  3. Elektromobilität Tesla Truck soll in 30 Minuten 630 km Reichweite laden

Fitbit Ionic im Test: Die (noch) nicht ganz so smarte Sportuhr
Fitbit Ionic im Test
Die (noch) nicht ganz so smarte Sportuhr
  1. Verbraucherschutz Sportuhr-Hersteller gehen unsportlich mit Daten um
  2. Wii Remote Nintendo muss 10 Millionen US-Dollar in Patentstreit zahlen
  3. Ionic Fitbit stellt Smartwatch mit Vier-Tage-Akku vor

E-Golf im Praxistest: Und lädt und lädt und lädt
E-Golf im Praxistest
Und lädt und lädt und lädt
  1. Garmin Vivoactive 3 im Test Bananaware fürs Handgelenk
  2. Microsoft Sonar überprüft kostenlos Webseiten auf Fehler
  3. Inspiron 5675 im Test Dells Ryzen-Gaming-PC reicht mindestens bis 2020

  1. Re: Ein Sack Reis ist in China umgefallen...

    Tigtor | 17:50

  2. Soll das was neues sein...?

    Rauschkind | 17:50

  3. Re: Staatsgelder verpulfert

    cry88 | 17:48

  4. Re: Ein Blick in die Kugel verät mir ...

    redwolf | 17:48

  5. Re: Remotedesktop und gut ist

    SP1D3RM4N | 17:47


  1. 17:44

  2. 17:23

  3. 17:05

  4. 17:04

  5. 14:39

  6. 14:24

  7. 12:56

  8. 12:30


  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