Calliope mini - Spaß durch Programmieren

Farbregler

Ziel: Mit Hilfe des Potentiometers lassen sich die drei Farbwerte für die RGB-LED einstellen.

Die Helligkeit einer Farbe mit dem Potentiometer ändern

Das Potentiometer lässt am Anschluss Pin 1 eine Spannung zwischen 0 V und 3,3 V anliegen. Dieser Spannungswert wird durch den AD-Wandler in einen Zahlenwert zwischen 0 und 1023 umgewandelt. Die RGB-LED benötigt aber zur Ansteuerung nur Werte zwischen 0 und 255. Deshalb muss der Wert, den Pin 1 liefert, noch durch 4 geteilt werden.
Das 4-Digit-Display zeigt über die Anzeige-Funktion den jeweiligen rot-Wert an.

Calliope mini-4-Digit

Da das Einlesen des Spannungswertes und die Anzeige des Farbwertes für alle drei Farben verwendet werden soll, werden diese Aufgaben in eine Funktion gelegt. Diese Funktion gibt einen Wert zwischen 0 und 255 zurück.

Calliope mini-4-Digit

Helligkeiten aller drei Farben ändern

Im nächsten Schritt sollen alle drei Farben eingestelt werden können.

Dazu braucht man eine Variable farbe, die eine Ziffer zwischen 0 und 2 enthält: 0 → Rot, 1 → Grün, 2 → Blau. Der Wechsel der Farben wird wieder über eine Funktion realisiert, die über die Taste A aufgerufen wird. Je nach Wert von farbe kann nun eine der drei Farben eingestellt werden.

Calliope mini-4-Digit

Die Helligkeiten können unabhänig voneinander eingestellt werden

Wenn das Programm auf den Calliope mini übertragen wurde, kann man alle drei Farben einzeln einstellen. Aber es funktioniert nicht richtig. Wenn man die Farbe mit A wechselt, wird dem neuen Farbwert sofort der am Potentiometer eingestellte Wert zugewiesen. Das ist unpraktisch und muss noch geändert werden.

Dazu wird eine neue Variable aktiv erzeugt, die vom Typ logischer Wert ist (Boolean). Wenn sie wahr ist, werden

  • auf dem Bildschirm die obere, rechte LED aufleuchten
  • der am Potentiometer eingestellte Wert in die Farbvariable geschrieben.

Ist sie falsch, sind

  • auf dem Bildschirm die obere, rechte LED aus
  • auf dem Display der aktuelle Wert der Farbvariablen zu sehen,der nicht geändert wird

Die Variable ändert ihren Wert von falsch zu wahr, wenn der am Potentiometer eingestellte Wert mit dem aktuellen Inhalt der Farvariablen übereinstimmt.

 

Da die LED rechts oben auf dem Bildschirm als Akitvanzeige verwendet werden soll, müssen die Buchstaben RGB neu gestaltet werden. Ansonsten belegt beim G der Buchstabe selber diese LED.

Die Anzeige im Programm ist dann entsprechend zu ändern.

 

Calliope mini-4-Digit

Calliope mini-4-Digit


Der Block zum Einstellen des Farbwertes muss so geändert werden, dass nur bei aktiv=wahr der alte Farbwert überschrieben wird. Ansonsten wird der alte Farbwert dauerhaft angezeigt und es wird überwacht, ob der Wert am Potentiometer dem alten Farbwert entspricht. Dann wird die Variable aktiv umgeschaltet.

Calliope mini-4-Digit

Die Funktion wert_einstellen muss auch noch etwas verändert werden. Der wert darf nur angezeigt werden, wenn aktiv=wahr ist. Weiterhin muss der berechnete wert aus der Spannung abgerundet werden. Damit wird gewährleistet, dass er immer eine ganze Zahl ist und dass er auch wirklich 0 liefert. Ansonsten funktioniert der Vergleich nicht.

Calliope mini-4-Digit

Wenn alles richtig läuft, lässt sich für jede der drei Farben der Helligkeitswert einstellen.

Zu Beginn muss der Wert, den das Potentiometer liefert, auf 0 eingestellt werden. Dadurch wird die Farbeingabe aktiv, zu sehen an der LED rechts oben. Wechselt man die Farbe mit A, bleibt der Wert erhalten und ein neuer Farbwert kann eingestellt werden.

 

zurück