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. Robert Bosch GmbH, Berlin
  2. Waldorf Frommer Rechtsanwälte, München

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
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)
  2. 164,90€

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
       


Fünf smarte Lautsprecher von 200 bis 400 Euro im Vergleich

Link 300 und Link 500 von JBL, Onkyos P3, Panasonics GA10 sowie Apples Homepod treten in unserem Klangvergleich gegeneinander an. Die beiden JBL-Lautsprecher lassen die Konkurrenz blass aussehen, selbst der gar nicht schlecht klingende Homepod hat dann das Nachsehen.

Fünf smarte Lautsprecher von 200 bis 400 Euro im Vergleich Video aufrufen
Krankenversicherung: Der Papierkrieg geht weiter
Krankenversicherung
Der Papierkrieg geht weiter

Die Krankenversicherung der Zukunft wird digital und direkt, aber eine tiefgreifende Disruption des Gesundheitswesens à la Amazon wird in Deutschland wohl ausbleiben. Die Beharrungskräfte sind zu groß.
Eine Analyse von Daniel Fallenstein

  1. Imagen Tech KI-System Osteodetect erkennt Knochenbrüche
  2. Medizintechnik Implantat wird per Ultraschall programmiert
  3. Telemedizin Neue Patienten für die Onlinepraxis

Automatisiertes Fahren: Der schwierige Weg in den selbstfahrenden Stau
Automatisiertes Fahren
Der schwierige Weg in den selbstfahrenden Stau

Der Staupilot im neuen Audi A8 soll der erste Schritt auf dem Weg zum hochautomatisierten Fahren sein. Doch die Verhandlungen darüber, was solche Autos können müssen, sind sehr kompliziert. Und die Tests stellen Audi vor große Herausforderungen.
Ein Bericht von Friedhelm Greis

  1. Nach tödlichem Unfall Uber entlässt 100 Testfahrer für autonome Autos
  2. Autonomes Fahren Daimler und Bosch testen fahrerlose Flotte im Silicon Valley
  3. Kooperationen vereinbart Deutschland setzt beim Auto der Zukunft auf China

Raumfahrt: Boeing und SpaceX kämpfen mit dem Regulierungschaos der Nasa
Raumfahrt
Boeing und SpaceX kämpfen mit dem Regulierungschaos der Nasa

Die neuen Raumschiffe von Boeing und SpaceX verspäten sich und werden wohl erst 2020 mit Crew fliegen. Die Aufsichtsbehörde der US-Regierung sieht einen Teil der Schuld beim Chaos im Nasa-Management.
Von Frank Wunderlich-Pfeiffer

  1. Nasa-Teleskop Überambitioniert, überteuert und in dieser Form überflüssig
  2. Nasa Forscher entdecken Asteroiden, bevor er die Erde erreicht
  3. Nasa 2020 soll ein Helikopter zum Mars fliegen

    •  /