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. Alfred Kärcher SE & Co. KG, Winnenden
  2. DEKRA SE, Stuttgart

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
Spiele-Angebote
  1. 5,99€
  2. 32,49€
  3. 32,95€
  4. 49,86€

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
       


Der Mars-Maulwurf des DLR erklärt

Ulrich Köhler vom DLR erläutert die Funktionsweise des Mars-Maulwurfes.

Der Mars-Maulwurf des DLR erklärt Video aufrufen
Windenergie: Mister Windkraft will die Welt vor dem Klimakollaps retten
Windenergie
Mister Windkraft will die Welt vor dem Klimakollaps retten

Fast 200 Windkraft-Patente tragen den Namen von Henrik Stiesdal. Nachdem er bei Siemens als Technikchef ausgestiegen ist, will der Däne nun die Stromerzeugung auf See revolutionieren.
Ein Bericht von Daniel Hautmann

  1. Offshore-Windparks Neue Windräder sollen mehr Strom liefern
  2. Fistuca Der Wasserhammer hämmert leise
  3. Windenergie Wie umweltfreundlich sind Offshore-Windparks?

Trüberbrook im Test: Provinzielles Abenteuer
Trüberbrook im Test
Provinzielles Abenteuer

Neuartiges Produktionsverfahren, prominente Sprecher: Das bereits vor seiner Veröffentlichung für den Deutschen Computerspielpreis nominierte Adventure Trüberbrook bietet trotz solcher Auffälligkeiten nur ein allzu braves Abenteuer in der deutschen Provinz der 60er Jahre.
Von Peter Steinlechner

  1. Quellcode Al Lowe verkauft Disketten mit Larry 1 auf Ebay
  2. Wet Dreams Don't Dry im Test Leisure Suit Larry im Land der Hipster
  3. Life is Strange 2 im Test Interaktiver Road-Movie-Mystery-Thriller

Galaxy S10+ im Test: Top und teuer
Galaxy S10+ im Test
Top und teuer

Mit dem Galaxy S10+ bringt Samsung erstmals eine Dreifachkamera in eines seiner Top-Smartphones. Die Entwicklung, die mit dem Galaxy A7 begann, hat sich gelohnt: Das Galaxy S10+ macht sehr gute Bilder, beim Preis müssen wir aber schlucken.
Ein Test von Tobias Költzsch

  1. Samsung Gesichtsentsperrung des Galaxy S10 lässt sich austricksen
  2. Samsung Galaxy S10 Europäer erhalten weiter langsameren Prozessor
  3. Galaxy S10 im Hands on Samsung bringt vier neue Galaxy-S10-Modelle

    •  /