Calliope mini - Spaß durch Programmieren

Entwicklungsumgebungen

Der Calliope mini als Kerze

Ziel: Die LED soll eine Kerze im Wind darstellen. Dazu leuchtet die LED in gelber Farbe. Die Helligkeit wird zufällig größer oder kleiner.

Im unteren Video ist die LED stark vergrößert und unscharf zu sehen. Man erkennt schön den grünen und roten Rand. Das kommt daher, dass mit einer RGB-LED (RotGrünBlau-LED) die gelbe Farbe durch gleichzeitiges Einschalten der roten und grünen LED erzielen kann. Die blaue LED bleibt aus.

Die Helligkeit einer LED-Farbe kann über den Block
led
eingestellt werden.

Jeder Farbwert darf Zahlenwerte zwischen 0 und 255 einnehmen. Im Beispiel strahlen die rote und die grüne LED mit halber Helligkeit.

zufälliger Farb- und Helligkeitswechsel

Die Helligkeit der LED soll zufällig entweder größer oder kleiner werden. Dafür muss der Helligkeitswert vergrößert oder verkleinert werden. In einer Entscheidung wird bestimmt, ob es nach oben oder nach unten geht.

Das Programmbeispiel lässt die LED rein zufällig rot oder grün aufleuchten.

Aufgabe: übernimm das Programm. Die LED sollte nun unregelmäßig rot oder grün aufleuchten.

Aufgabe: Wenn es läuft, ändere es so um, dass die LED nur noch in gelber Farbe entweder hell oder dunkel leuchtet. Die Warte-Befehle können komplett gelöscht werden.

entscheidung

seltsame Flackerkerze

Im nächsten Schritt wird eine Variable mit den Namen helligkeit erzeugt. Sie ersetzen im Block "Farbe" die Rot- und Grünwerte. Im Entscheidungsblock wird die Variable mit dem kleinen oder großen Farbwert gefüllt.

Aufgabe: Erstelle eine neue Variable mit dem Namen aenderung. Dieser Variablen wird gleich zu Beginn der unendlichen Schleife ein zufälliger Wert zwischen 10 und 40 zugewiesen.

Im Entscheidungsblock wird nun im mache-Teil zu dem Helligkeitswert der Wert aenderung addiert und im sonst-Teil subtrahiert.

addition

Damit ändert sich die Helligkeit der LED nicht nur von Hell nach Dunkel, sondern die Änderungen sind zufällig. So, wie der Wind, in dem die Kerze steht, zufällig weht.

entscheidung

ordentliche Flackerkerze

Dieses Programm läuft einen kurzen Moment ganz gut, macht dann aber seltsame Sachen. Der Grund liegt darin, dass Helligkeitswert seinen vorgesehenen Bereiche verläßt. Durch die ständige Addition und Subtraktion von zufälligen Werten kann der Wert kleiner als 0 oder größer als 255 werden.

Im mache-Teil der Entscheidung muss eine weitere Entscheidung eingebaut werden, die prüft, ob helligkeit an die obere Grenze stößt. Wenn das der Fall ist, wird der zufällige Änderungswert nicht addiert sondern subtrahiert.

Aufgabe: Schreibe im sonst-Teil eine Entscheidung, die aufpasst, dass der Helligkeitswert nicht unter die 0 rutschen.

Hinweis: Das ist eine Möglichkeit, die Werte in ihren Grenzen zu halten. Es geht auch kürzer, ist dann aber nicht mehr so einfach zu verstehen.

entscheidung
Ziel: Die LED soll eine Kerze im Wind darstellen. Dazu leuchtet die LED in gelber Farbe. Die Helligkeit wird zufällig größer oder kleiner.

Im unteren Video ist die LED stark vergrößert und unscharf zu sehen. Man erkennt schön den grünen und roten Rand. Das kommt daher, dass mit einer RGB-LED (RotGrünBlau-LED) die gelbe Farbe durch gleichzeitiges Einschalten der roten und grünen LED erzielen kann. Die blaue LED bleibt aus.

Die Helligkeit einer LED-Farbe kann über den Block
led
eingestellt werden.

Jeder Farbwert darf Zahlenwerte zwischen 0 und 255 einnehmen. Im Beispiel strahlen die rote und die grüne LED mit halber Helligkeit.

zufälliger Farb- und Helligkeitswechsel

Die Helligkeit der LED soll zufällig entweder größer oder kleiner werden. Dafür muss der Helligkeitswert vergrößert oder verkleinert werden. In einer Entscheidung wird bestimmt, ob es nach oben oder nach unten geht.

Das Programmbeispiel lässt die LED rein zufällig rot oder gelb aufleuchten.

Aufgabe: übernimm das Programm. Die LED sollte nun unregelmäßig rot oder gelb aufleuchten.

Aufgabe: Wenn es läuft, ändere es so um, dass die LED nur noch in gelber Farbe entweder hell oder dunkel leuchtet. Die Warte-Befehle können komplett gelöscht werden.

entscheidung

seltsame Flackerkerze

Im nächsten Schritt wird eine Variable mit den Namen helligkeit erzeugt. Sie ersetzen im Block "Farbe" die Rot- und Grünwerte. Im Entscheidungsblock wird die Variable mit dem kleinen oder großen Farbwert gefüllt.

Aufgabe: Erstelle eine neue Variable mit dem Namen aenderung. Dieser Variablen wird gleich zu Beginn der unendlichen Schleife ein zufälliger Wert zwischen 10 und 40 zugewiesen.

Im Entscheidungsblock wird nun im dann-Teil zu dem Helligkeitswert der Wert aenderung addiert und im ansonsten-Teil subtrahiert.

addition

Damit ändert sich die Helligkeit der LED nicht nur von Hell nach Dunkel, sondern die Änderungen sind zufällig. So, wie der Wind, in dem die Kerze steht, zufällig weht.

entscheidung

ordentliche Flackerkerze

Dieses Programm läuft einen kurzen Moment ganz gut, macht dann aber seltsame Sachen. Der Grund liegt darin, dass Helligkeitswert seinen vorgesehenen Bereiche verläßt. Durch die ständige Addition und Subtraktion von zufälligen Werten kann der Wert kleiner als 0 oder größer als 255 werden.

Im dann-Teil der Entscheidung muss eine weitere Entscheidung eingebaut werden, die prüft, ob helligkeit an die obere Grenze stößt. Wenn das der Fall ist, wird der zufällige Änderungswert nicht addiert sondern subtrahiert.

Aufgabe: Schreibe im ansonstenTeil eine Entscheidung, die aufpasst, dass der Helligkeitswert nicht unter die 0 rutschen.

Hinweis: Das ist eine Möglichkeit, die Werte in ihren Grenzen zu halten. Es geht auch kürzer, ist dann aber nicht mehr so einfach zu verstehen.

entscheidung
Ziel: Die 3 LED sollen drei Kerzen im Wind darstellen. Dazu leuchtet jede LED in gelber Farbe. Die Helligkeiten wird zufällig größer oder kleiner.

Die Helligkeit einer LED-Farbe kann so eingestellt werden.
led
Die Zeilen bedeuten:

  1. Das Modul für die Neopixel-LEDs wird nachgeladen
  2. Die Neopixel-Instanz wird in der Variablen np gespeichert. 3 LEDs sind am pin_RGB angeschlossen. Das sind die drei LEDs auf dem Calliope mini.
  3. Alle drei LEDs werden mit den Farbwerten gefüllt. Sie leuchten aber noch nicht!
  4. Erst jetzt werden die LEDs eingeschaltet.

Jeder Farbwert darf Zahlenwerte zwischen 0 und 255 einnehmen. Im Beispiel strahlen die rote und die grüne LED mit halber Helligkeit.

Hinweis: Im Dezember 2024 funktionierte die Simulation nicht. Die Neopixel-LEDs müssen auf einem Calliope mini betrieben werden. Das Problem ist den Entwicklern bekannt und man arbeitet daran.

zufälliger Farb- und Helligkeitswechsel

Die Helligkeit der LED soll zufällig entweder größer oder kleiner werden. Dafür muss der Helligkeitswert vergrößert oder verkleinert werden. In einer Entscheidung wird bestimmt, ob es nach oben oder nach unten geht.

Das Programmbeispiel lässt die LED rein zufällig heller oder dunkler in gelb aufleuchten.

Aufgabe: Übernimm das Programm. Die LED sollte nun unregelmäßig gelb flackern. Aber schön ist das nicht.

Hinweis: Damit die zufällige Zahl bestimmt werden kann, muss das random-Modul importiert werden.

Aufgabe: Es fällt auf, dass das Licht einen leichten Grünstich hat. Ändere die Farbe so, dass das Licht mehr eine Kerze ähnelt.

entscheidung

seltsame Flackerkerze

Im nächsten Schritt wird eine Variable mit den Namen helligkeit erzeugt. Sie ersetzt die Rot-und Grünwerte. In der Entscheidung wird die Variable mit dem kleinen oder großen Farbwert gefüllt.

Aufgabe: Erstelle eine neue Variable mit dem Namen aenderung. Dieser Variablen wird gleich zu Beginn der unendlichen Schleife ein zufälliger Wert zwischen 10 und 40 zugewiesen.

Im Entscheidungsblock wird nun im dann-Teil zu dem Helligkeitswert der Wert aenderung addiert und im ansonsten-Teil subtrahiert.

addition

Damit ändert sich die Helligkeit der LED nicht nur von Hell nach Dunkel, sondern die Änderungen sind zufällig. So, wie der Wind, in dem die Kerze steht, zufällig weht.

entscheidung

ordentliche Flackerkerze

Dieses Programm läuft einen kurzen Moment ganz gut, macht dann aber seltsame Sachen. Der Grund liegt darin, dass Helligkeitswert seinen vorgesehenen Bereiche verläßt. Durch die ständige Addition und Subtraktion von zufälligen Werten kann der Wert kleiner als 0 oder größer als 255 werden.

Im dann-Teil der Entscheidung muss eine weitere Entscheidung eingebaut werden, die prüft, ob helligkeit an die obere Grenze stößt. Wenn das der Fall ist, wird der zufällige Änderungswert nicht addiert.

Aufgabe: Schreibe im ansonstenTeil eine Entscheidung, die aufpasst, dass der Helligkeitswert nicht unter die 0 rutschen.

Nun sieht es schon ganz hübsch aus, aber alle drei Kerzen (LEDs) flackern in gleichen Takt.

entscheidung

Bei jedem Schleifendurchlauf wird per Zufall eine der drei LEDs ausgewählt und mit den Helligkeitswerten gefüllt.

entscheidung

zurück