Abo
  • Services:

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.

Stellenmarkt
  1. BG-Phoenics GmbH, Hannover
  2. Versicherungskammer Bayern, Saarbrücken

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:

  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 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11.  


Anzeige
Top-Angebote
  1. (aktuell u. a. Samsung 860 Evo 500-GB-SSD 119€, externer DVD-Brenner 25€, 2-TB-HDD extern 66€)
  2. 99,99€
  3. 1.649€ mit Core i5-8600K und jetzt neu für 1.749€ mit i7-8700K
  4. (u. a. The Hateful 8 Blu-ray, Hacksaw Ridge Blu-ray, Unlocked Blu-ray, Ziemlich beste Freunde Blu...

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...


Folgen Sie uns
       


Omotenashi Informationssystem angesehen (MWC 2018)

Omotenashi ist ein Konzept des japanischen Herstellers NTT, das Objekte erkennen und Informationen dazu auf einem transparenten Display anzeigen soll. Wir haben uns einen ersten Prototypen auf dem MWC 2018 angeschaut.

Omotenashi Informationssystem angesehen (MWC 2018) Video aufrufen
Datenschutz: Der Nutzer ist willig, doch die AGB sind schwach
Datenschutz
Der Nutzer ist willig, doch die AGB sind schwach

Verbraucher verstehen die Texte oft nicht wirklich, in denen Unternehmen erklären, wie ihre Daten verarbeitet werden. Datenschutzexperten und -forscher suchen daher nach praktikablen Lösungen.
Ein Bericht von Christiane Schulzki-Haddouti

  1. Denial of Service Facebook löscht Cybercrime-Gruppen mit 300.000 Mitgliedern
  2. Vor Anhörungen Zuckerberg nimmt alle Schuld auf sich
  3. Facebook Verschärfte Regeln für Politwerbung und beliebte Seiten

Oracle vs. Google: Dieses Urteil darf nicht bleiben
Oracle vs. Google
Dieses Urteil darf nicht bleiben

Im Fall Oracle gegen Google fällt ein eigentlich nicht zuständiges Gericht ein für die IT-Industrie eventuell katastrophales Urteil. Denn es kann zu Urhebertrollen, Innovationsblockaden und noch mehr Milliardenklagen führen. Einzige Auswege: der Supreme Court oder Open Source.
Eine Analyse von Sebastian Grüner

  1. Oracle gegen Google Java-Nutzung in Android kein Fair Use

Virgin Galactic: Spaceship Two fliegt wieder - trotz tödlicher Unfälle
Virgin Galactic
Spaceship Two fliegt wieder - trotz tödlicher Unfälle

Die Entwicklung des Raketenflugzeugs für Touristenflüge in den Weltraum hat schon vier Menschenleben gekostet. Vergangenen Donnerstag hat Virgin Galactic die Tests mit Raketentriebwerk wieder aufgenommen.
Von Frank Wunderlich-Pfeiffer


      •  /