
Hier ist mal das Testprogramm, das ich mir zum Testen zusammengebastelt habe. Das baut abwechselnd Farbringe in verschiedenen Farben auf. Ich muss mir da mal noch ein paar wichtige Farben dazubasteln, die man gut darstellen kann.
Ich habe den Code nochmal um ein paar Farben erweitert. Unter anderem wollte ich den Strom bei Hell Weiß haben. Also bei 255,255,255. Da bin ich bei 2 Ampere mit 48 LED´s Also zwei dieser Ringe die ich da zum Testen besorgt habe.


.
Code: Alles auswählen
// NeoPixel Ring einfache Skizze (c) 2013 Shae Erisson
// unter der GPLv3-Lizenz veröffentlicht, um dem Rest der AdaFruit NeoPixel-Bibliothek zu entsprechen
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
// Welcher Pin des Arduino ist mit den NeoPixels verbunden?
// Bei einem Schmuckstück oder einer Gemma empfehlen wir, dies auf 1 zu ändern
#define PIN 6
// Wie viele NeoPixel sind an den Arduino angeschlossen?
#define NUMPIXELS 48
// Wenn wir die NeoPixel-Bibliothek einrichten, teilen wir ihr mit, wie viele Pixel und welcher Pin zum Senden von Signalen verwendet werden soll.
// Beachten Sie, dass Sie bei älteren NeoPixel-Streifen möglicherweise den dritten Parameter ändern müssen - siehe Strandtest
// Beispiel für weitere Informationen zu möglichen Werten.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 30; // Schleifen Wartezeit
int i = 0; // Wile Schleife
byte f = 0; // FarbDurchgangs Nummer
byte r = 0;
byte g = 100;
byte b = 0;
void setup() {
Serial.begin(9600);
// Dies ist für Trinket 5V 16MHz, Sie können diese drei Leitungen entfernen, wenn Sie kein Trinket verwenden
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// Ende des Sondercodes für Schmuckstücke
pixels.begin(); // Dadurch wird die NeoPixel-Bibliothek initialisiert.
}
void loop() {
// Für einen Satz von NeoPixeln ist das erste NeoPixel 0, das zweite ist 1, bis hin zur Anzahl der Pixel minus eins.
for (i = 0; i < NUMPIXELS; i++) {
// pixels.Color nimmt RGB-Werte, von 0,0,0 bis 255,255,255
if (f == 0) {
r = 0; g = 0; b = 15; // Blau
}
pixels.setPixelColor(i, pixels.Color(r, g, b)); // Mäßig hellgrüne Farbe.
pixels.show(); // Dadurch wird die aktualisierte Pixelfarbe an die Hardware gesendet.
// delay(delayval); // Verzögerung für einen bestimmten Zeitraum (in Millisekunden).
if (i==47) delay(3000); // 3 Sekunden stopp wenn Farbe voll
}
{
f++;
if (f == 1) {
// Dunkel
r = 0; g = 0; b = 0;
i = 0;
}
if (f == 2) {
// Rot
r = 255; g = 0; b = 0;
i = 0;
}
if (f == 3) {
// gelb
r = 255; g = 85; b = 0;
i = 0;
}
if (f == 4) {
// Grün
r = 0; g = 255; b = 0;
i = 0;
}
if (f == 5) {
// Hellblau
r = 0; g = 30; b = 15;
i = 0;
}
if (f == 6) {
// violett
r = 15; g = 0; b = 15;
i = 0;
}
if (f == 7) {
// Orage Hell
r = 255; g = 38; b = 0;
i = 0;
}
if (f == 8) {
// Orage Dunkel
r = 10; g = 2; b = 0;
i = 0;
}
if (f == 9) {
// Weiß Hell
r = 255; g = 255; b = 255;
i = 0;
}
if (f == 10) {
f = 0;
}
}
}