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. R&S Cybersecurity ipoque GmbH, Leipzig
  2. ENERTRAG Aktiengesellschaft, Dauerthal, Berlin, Edemissen
  3. Computacenter AG & Co. oHG, verschiedene Standorte
  4. Ratbacher GmbH, Karlsruhe


Anzeige
Blu-ray-Angebote
  1. 24,99€ (Vorbesteller-Preisgarantie)
  2. (u. a. Warcraft Blu-ray 9,29€, Jack Reacher Blu-ray 6,29€, Forrest Gump 6,29€, Der Soldat...
  3. (u. a. Fast & Furious 1-7 Blu-ray 26,49€, Indiana Jones Complete Blu-ray 14,76€, The Complete...

Folgen Sie uns
       


  1. Wemo

    Belkin erweitert Smart-Home-System um Homekit-Bridge

  2. Digital Paper DPT-RP1

    Sonys neuer E-Paper-Notizblock wird 700 US-Dollar kosten

  3. USB Typ C Alternate Mode

    Thunderbolt-3-Docks von Belkin und Elgato ab Juni

  4. Sphero Lightning McQueen

    Erst macht es Brummbrumm, dann verdreht es die Augen

  5. VLC, Kodi, Popcorn Time

    Mediaplayer können über Untertitel gehackt werden

  6. Engine

    Unity bekommt 400 Millionen US-Dollar Investorengeld

  7. Neuauflage

    Neues Nokia 3310 soll bei Defekt komplett ersetzt werden

  8. Surface Studio

    Microsofts Grafikerstation kommt nach Deutschland

  9. Polar

    Fitnesstracker A370 mit Tiefschlaf- und Pulsmessung

  10. Schutz

    Amazon rechtfertigt Sperrungen von Marketplace-Händlern



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
The Surge im Test: Frust und Feiern in der Zukunft
The Surge im Test
Frust und Feiern in der Zukunft
  1. Computerspiele und Psyche Wie Computerspieler zu Süchtigen erklärt werden sollen
  2. Wirtschaftssimulation Pizza Connection 3 wird gebacken
  3. Mobile-Games-Auslese Untote Rundfahrt und mobiles Seemannsgarn

Redmond Campus Building 87: Microsofts Area 51 für Hardware
Redmond Campus Building 87
Microsofts Area 51 für Hardware
  1. Windows on ARM Microsoft erklärt den kommenden x86-Emulator im Detail
  2. Azure Microsoft betreut MySQL und PostgreSQL in der Cloud
  3. Microsoft Azure bekommt eine beeindruckend beängstigende Video-API

3D-Druck bei der Bahn: Mal eben einen Kleiderhaken für 80 Euro drucken
3D-Druck bei der Bahn
Mal eben einen Kleiderhaken für 80 Euro drucken
  1. Bahnchef Richard Lutz Künftig "kein Ticket mehr für die Bahn" notwendig
  2. Flatrate Öffentliches Fahrradleihen kostet 50 Euro im Jahr
  3. Nextbike Berlins neues Fahrradverleihsystem startet

  1. Re: Warum überhaupt VLC nutzen

    ve2000 | 01:26

  2. Re: Exzessive Nutzung kann sogar ein unerfüllter...

    bombinho | 01:10

  3. Re: War Huawei nicht auch mal ein Billig-"China...

    sofries | 00:37

  4. Alternativen?

    Chrizzl | 00:32

  5. Re: Unix, das Betriebssystem von Entwicklern, für...

    __destruct() | 00:22


  1. 18:10

  2. 10:10

  3. 09:59

  4. 09:00

  5. 18:58

  6. 18:20

  7. 17:59

  8. 17:44


  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