display

6. Farb-LED

 

 

DU LERNST HIER...

 

wie Farben aus einer roten, einer grünen und einer blauen Komponente zusammengesetzt werden und du die Farb-LED mit der gewünschten Farbe leuchten lässt.

 

 

RGB-LED

  Um Farbbilder mit dem Computer zu speichern und zu verarbeiten, müssen die Farben als Zahlen definiert werden. Es gibt dazu mehrere Möglichkeiten. Die bekannteste ist das RGB-Farbmodell, wo die Intensitäten der drei Farbkomponenten Rot, Grün und Blau als Zahlen zwischen 0 und 255 angegeben werden.

Mit der Farb-LED des Calliope kannst du mit den Farben im RGB-Modell experimentieren.

Der Befehl
set_colors(r, g, b)
wo r, g, und b Zahlen zwischen 0 und 255 sind, legt die rote, grüne und blaue Farbkomponente fest.

 

 

MUSTERBEISPIELE

 


Farb-LED in verschiedenen Farben leuchten lassen

Die Farb-LED leuchtet der Reihe nach in den Farben rot, grün, blau, gelb, magenta und cyan jeweils während 1000 Millisekunden und schaltet dann ab.

 




from calliope_mini import *

led.set_colors(255, 0, 0)
sleep(1000)    
led.set_colors(0, 255, 0)
sleep(1000)    
led.set_colors(0, 0, 255)
sleep(1000) 
led.set_colors(255, 255, 0)
sleep(1000)
led.set_colors(255, 0, 255)
sleep(1000) 
led.set_colors(0, 255, 255)
sleep(1000) 
led.set_colors(0, 0, 0) 
► In Zwischenablage kopieren

Farb-LED in zufällig gewählten Farben leuchten lassen

Hier soll die Farb-LED in zufällig gewählten Farben jeweils 500 ms lang leuchten. Die Farbkomponenten r, g, b bestimmst du in der Funktion randomColor() mit drei Zufallszahlen im Bereich 0 ... ... 100.

Durch Drücken des Buttons A beendest du das Farbspiel.
 

from calliope_mini import *
from random import randint

def randomColor():
    r = randint(0, 100)
    g = randint(0, 100)
    b = randint(0, 100)
    led.set_colors(r, g, b)
    
while not button_a.was_pressed():
     randomColor()
     sleep(500)       
led.set_color(0, 0, 0) 
► In Zwischenablage kopieren

Farb-LED für eine Spannungsanzeige verwenden
Der Calliope kann auch für physikalische Experimente verwendet werden, beispielsweise um Spannungen eines Sensors im Bereich 0...3.3V zu messen.

Berührst du gleichzeitig den Anschluss + (3.3V) und den Pin 1, so ergibt sich ein Stromkreis und die Spannung am Pin 1 steigt an.
Der Befehl pin1.read_analog() gibt die Spannung als Zahl zwischen 0 und 1023 zurück.

In deinem Programm leuchtet die LED ohne Stromkreis blau, beim Berühren des Pin 1 grün und beim Berühren des Pin 2 rot.

 

from calliope_mini import *

while True:
    if pin1.read_analog() > 400:
        led.set_colors(0, 255, 0)
    elif pin2.read_analog() > 400:
        led.set_colors(255, 0, 0)   
    else:
        led.set_colors(0, 0, 255)          
    sleep(100)
► In Zwischenablage kopieren

 

 

MERKE DIR...

 

Die Farbe der Farb-LED legst du durch die rote, grüne und blaue Farbkomponente (eine Zahl zwischen 0 und 255) fest.

 

 

ZUM SELBST LÖSEN

 

 

1.
Schreibe ein Programm, mit dem die Farb-LED nacheinander in Regenbogenfarben leuchtet. Wiederhole diese Farbfolge 3 mal. Verwende die nebenstehende Zuordnung der Farben.  

2.

Wenn du den Button A drückst, soll die Farb-LED in der Farbe magenta, beim Drücken des Buttons B mit der Farbe cyan leuchten. Damit die LED nicht zu hell leuchtet, wählst du für die Farbkomponenten höchsten einen Wert von 100.

3.

Wenn du mit den Fingerspitzen Pin + und Pin 1 berührst, blinkt die Farb-LED rot, wenn du Pin + und Pin 2 berührst, so blinkt sie blau, bei der Berührung des Pin + und Pin 3 blinkt sie grün.

4.

In einer endlosen while-Schleife soll die Farb-LED mit weisser Farbe das Signal SOS senden, wobei sie bei S dreimal kurz (200 ms) und bei O dreimal lange (600 ms) leuchten soll. Nach jedem SOS Signal folgt eine Pause.