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

Mühsam nährt sich das Eichhörnchen

Unsere Zeichnung besteht aus einzelnen Elementen wie einem Baum, einem Eichhörnchen, einer Nuss und der Sonne. Diese selbst sind Sensoren, welche wir abhängig vom aktuellen Fortschritt der Geschichte auswerten müssen. Diesen Elementen sind auch LEDs zugeordnet, auch sie leuchten - oder eben nicht - abhängig vom Stand der Geschichte. Welche Sensoren und LEDs wann in der Geschichte relevant sind, beschreibt nun das Drehbuch.

Weite Teile des Programms bestehen deshalb aus der Definition des Drehbuchs mit Hilfe der ScriptLine-Elemente, es ist im Array script gespeichert. Die Einträge des Arrays werden hart-codiert (struct ScriptLine script[SCRIPTLINES];), hier beispielhaft Zeile 12 und 13 des Drehbuchs:

Anzeige

  1. script[12].state = STATE_TOUCH;
  2. script[12].touch = E_BUSH_1 | E_BUSH_2 | E_BUSH_3;
  3. script[12].pin[SQUIRREL].mode = PC_MODE_HIGH;
  4. script[12].pin[SUN].mode = PC_MODE_PWM;
  5. script[12].pin[SUN].value = 25;
  6. script[12].pin[NUT].mode = PC_MODE_HIGH;
  7.  
  8. script[13].state = STATE_PLAY;
  9. script[13].file = 10;
  10. script[13].pin[SQUIRREL].mode = PC_MODE_HIGH;
  11. script[13].pin[SUN].mode = PC_MODE_PWM;
  12. script[13].pin[SUN].value = 50;
  13. script[13].pin[NUT].mode = PC_MODE_HIGH;
  14. script[13].delay = 2000;

Die 12. Zeile weist an, auf eine Berührung eines der drei Büsche zu warten. Wurden sie berührt, wird die LED hinter dem Eichhörnchen angeschaltet, die LED hinter der Sonne leuchtet nur mit einem Bruchteil der Leuchtkraft und so weiter. Nach der Berührung wird direkt die 13. Zeile ausgeführt - in welcher die MP3-Datei Nummer 12 abgespielt wird und unter anderem die Sonne etwas heller erscheinen soll. Außerdem soll 2 Sekunden gewartet werden, bevor die nächste Drehbuchzeile ausgewertet wird.

In beiden Drehbuchzeilen wird der LED-Eintrag für die Nuss (NUT) gesetzt, obwohl er sich eigentlich nicht ändert. Das ist aber notwendig, da das zugrundeliegende Element standardmäßig mit PC_MODE_LOW initialisiert wurde, die LED würde automatisch beim Aufruf der 13. Zeile ausgeschaltet werden.

Der Speicher ist begrenzt

Unser Drehbuch besteht aus 17 ScriptLine-Elementen. Das erscheint wenig, der Speicherbedarf sollte aber nicht unterschätzt werden; der Mikrocontroller hat nur 2,5 Kbyte RAM. Tatsächlich sind wir in einer ersten Variante der ScriptLine-Implementierung bei weniger ScriptLine-Zeilen an diese Grenze gestoßen. Das liegt auch daran, dass die eingebundenen Bibliotheken selbst noch einmal rund 600 Byte Speicher im Betrieb anfordern.

In der Folge haben wir alle Datentypen im ScriptLine-Element noch einmal sorgfältig bedacht. Den größten Erfolg brachte allerdings eine Umstellung des touch-Elementes von einem Array mit den Sensorzuweisungen auf ein Bitfeld. Das spart zwar enorm Speicher, leider ist dadurch für Anfänger der Code für die Sensor-Auswertung aber weniger transparent.

Nichtsdestotrotz, auch mit der Umstellung dürfte nach spätestens 21 oder 22 Scriptzeilen Schluss sein. Ein echter Befreiungsschlag wäre die Speicherung des Drehbuches in einer Datei auf der Micro-SD-Karte. Das würde aber zu einem wesentlichen Code-Umbau führen und soll hier nicht weiter verfolgt werden.

 Ein Drehbuch in CodeformMusik abspielen 

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. Robert Bosch GmbH, Stuttgart-Feuerbach
  2. Vodafone GmbH, Düsseldorf
  3. FILIADATA GmbH, Karlsruhe
  4. State Street Global Exchange, Frankfurt


Anzeige
Hardware-Angebote
  1. 184,90€ + 3,99€ Versand (Bestpreis!)
  2. 17,99€ statt 29,99€

Folgen Sie uns
       


  1. Hoversurf

    Hoverbike Scorpion-3 ist ein Motorradcopter

  2. Rubbelcard

    Freenet-TV-Guthabenkarten gehen in den Verkauf

  3. Nintendo

    Interner Speicher von Switch offenbar schon jetzt zu klein

  4. Noch 100 Tage

    Unitymedia schaltet Analogfernsehen schrittweise ab

  5. Routerfreiheit

    Tagelange Störung bei Aktivierungsportal von Vodafone

  6. Denverton

    Intel plant Atom C3000 mit bis zu 16 Goldmont-CPU-Kernen

  7. Trotz Weiterbildung

    Arbeitslos als Fachinformatiker

  8. Klage gegen Steuernachzahlung

    Apple beruft sich auf europäische Grundrechte

  9. 3D Studio

    Nvidia spendiert Qt Hunderttausende Zeilen Code

  10. Horizon Zero Dawn im Test

    Abenteuer im Land der Maschinenmonster



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Merkels NSA-Vernehmung: Die unerträgliche Uninformiertheit der Kanzlerin
Merkels NSA-Vernehmung
Die unerträgliche Uninformiertheit der Kanzlerin
  1. US-Präsident Zuck it, Trump!
  2. Begnadigung Danke, Chelsea Manning!
  3. Glasfaser Nun hängt die Kabel doch endlich auf!

Apple: Planet der affigen Fernsehshows
Apple
Planet der affigen Fernsehshows
  1. Streaming Vodafone GigaTV ermöglicht Fernsehen unterwegs
  2. Kabelnetz Unitymedia hat neue Preise für Internetzugänge
  3. Deutsche TV-Plattform über VR "Ein langer Weg vom Wow-Effekt zum dauerhaften Format"

Mobile-Games-Auslese: Schiffbruch auf der Milchstraße für mobile Spieler
Mobile-Games-Auslese
Schiffbruch auf der Milchstraße für mobile Spieler

  1. Re: und es geht noch günstiger

    ve2000 | 02:27

  2. Suchen Web-Entwickler in Braunschweig

    JörgLudwig | 02:23

  3. Re: Aussichten Windows/ Linux Admin im Zeitalter...

    amagol | 02:22

  4. Re: Jemanden zu finden der weiß was er tut ist...

    theonlyone | 02:11

  5. Re: Positiv betrachtet: preiswert Speicher erweitern

    theonlyone | 02:05


  1. 18:30

  2. 18:14

  3. 16:18

  4. 15:53

  5. 15:29

  6. 15:00

  7. 14:45

  8. 14:13


  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