Bastelseite Display + Antriebe Sensoren C++ | |
Neopixel... und hier die Beschreibung und den Sketch dazu: |
Vor dem 1. Teil liegt die Initialisierung der Bibliotheken, Definition der Anschlusses am Arduino und der Anzahl der LEDs als Festlegung.
Der erste Teil zeigt in ROT eine LED in der Mitte des Bandes, die nach beiden Seiten sich gleichzeitig auseinander bewegt und die rote Lichtspur hinterläßt. Dies war für mich der Einstieg.
So kam die Idee der Funktion "zurMitte" zustande. Ich wollte den Sketch kürzen, indem ich nur die Farbangaben zur Funktion mit eingebe. Damit wurde von beiden Seite eine LED gestartet, die zur Mitte hin läuft und eine Leuchtspur hinterläßt. Als Schlusspunkt die letzte LED in der Mitte noch angesprochen und fertig: das ganze Band leuchtet!
So rufe ich die Funktion nur noch mit zurMitte(Rot, Grün, Blau); auf. Für die einzelnen Farbwerte nimmt man die RGB-Werte von 0 bis 255. Woher weiss ich welche Farbe welchen Wert hat?
Im Web gibt es einige Seiten dafür:
www.farb-tabelle.de...
www.mediaevent.de/.../farbcodes
Umrechner HTML-Farbcodes, Hex-/ RGB-Farbwerte:
technikblog.gerhard-kerner.at/...
Farbnamen / RGB / HEX Vergleich:
www.markusbader.de/tricky/...
... um nur ein paar Beispiele zu zeigen.
Name | Farbe | Rot | Grün | Blau |
Rot | Farbe | 255 | 0 | 0 |
Grün | Farbe | 0 | 255 | 0 |
Blau | Farbe | 0 | 0 | 255 |
Gelb | Farbe | 255 | 255 | 0 |
Cyan | Farbe | 0 | 255 | 255 |
Magenta | Farbe | 255 | 0 | 255 |
Weiß | Farbe | 255 | 255 | 0 |
In diesem Teil geht es um die Umkehrung von Teil 1: "ausMitte". Der Aufruf der Funktion lautet
ausMitte(LEDs, Rot, Grün, Blau);
Wie man gleich sehen kann, hat die Funktion einen Übergabewert mehr: LEDs. Dies ist die Hälfte der Gesamtanzahl des Neopixel-Bandes. Nein, ich habe nur 47 LEDs zum Ansteuern, aber so werden die LEDs von außen alle angesprochen. Die RGB-Farbangaben sind gleich wie bei Teil 1.
Als erstes wird die mittlere LED (Nummer 23 bei mir, dad die Zählung bei Null beginnt) angeschaltet. Davon ausgehend wird eine nach der anderen nach außen hin angesprochen - bis danze Band leuchtet.
Dieser Teil ist der interessantere: Funktion "aus Mitte" wird nun etwas ausgereitzt! Da wir die Anzahl der anzusprechenden LEDs angeben, können wir somit festlegen, wieviele LEDs eigentlich leuchten sollen.
Ich beginne mit "24" als Eingabe, und veringere jeweils um eins. So wird nach jeder Seite hin nach außen eine LED weniger mit der Farbe angesprochen. Es bleibt immer eine LED mit der alten Farbe leuchtend stehen, bis alle Farben mit immer weniger LEDS leuchten.
Hier der Sketch mit den 3 Teilen:
Die Befehle vom OLED-Display findet man auf der Startseite vom OLED-Display selbst.