Hallo, ich suche dringend für ein Diorama Projekt mit meinem Sohn einen Sketch, womit man einen Sonnenaufgang nach empfinden kann. Angefangen vom dunkelrot dann alle 7-8 Stunden immer heller, bis es schließlich knall hell weiß ist. Ähnlich wie das hier mit einem Raspi
Da ich recht neu bin, würde ich mich tierisch über Hilfe freuen, einen Start Sketch würde schon reichen. So das ich weitere Farbwerte selber nachtrage inclusive der Zeiten.
Ich benutze dazu einen Neo Pixel Ring mit 8 LED (WS 2812 Chips), sollte es am ende nicht hell genug sein, würde ich auf einen größeren Ring oder Stripes umsteigen.
Danke falls mir einer helfen kann und möchte, verzweifele seit 4 Wochen im Netz
Ich weiß nicht, was Du die 4 Wochen gemacht hast, aber mir wirft Google auf die Suche nach "Neopixel Sunrise" in Sekundenschnelle eine Menge Anleitungen aus, z.B. diese hier.
Die anderen 100 hast Du auch schon getestet?
Unsere Hilfe kann nur so gut sein, wie die Infos, die wir von Dir bekommen.
ANsonsten stelle Deinen Sketch hier ein (in Codetags) und beschreibe möglichst genau, was anders läuft, als Du Dir das vorgestellt hast. "Klappt nicht" ist die denkbar ungeeignetste Beschreibung eines Fehlers.
Aber auch Dieser möchte ganz gerne vorher wissen, was Es werden soll - sonst kommt Der Sich auch nur veralbert vor.
Also WS2812B, 8 Stück.
Die angegebene Zeit sehe ich als unrealistisch - oder wie sind die 7...8 STUNDEN zu verstehen?
Dann gibt's Dutzende Beispiele, wo lustig Farben durch den Stripe (bei Dir dann eben Ring) geschickt werden - vll. dort die Farb-Palette anpassen durch Das, was Google so abwirft?
WAS hast Du? (Link zu Hardware, Sketch in Code-Tags)
WAS macht Es?
WAS erwartest Du statt Dessen?
MfG
PS: Der von Dir verlinkte Sketch geht doch schon in genau diese Richtung?!?
Was hindert Dich daran, in der Sunrise-Tabelle mehrere Farben einzutragen, damit der Verlauf gemächlicher wird?
Ich versuche einen neunen Start, vorab muss ich sagen das im ersten Post nicht 7-8 Stunden gemeint war, sondern Sekunden. Sorry, mein Fehler! Sorry!
Also, ich Unterteile das hier mal was ich mir "Wünsche", was es werden soll und was ich an "Inventar" besitze
Fange damit mal an, das ich ein Diorama mit meinem Sohn gebaut habe, in einer Kiste ähnlich groß wie ein Kühlschrank (Mini Bar) in einem Hotelzimmer. Hier paar Bilder
Diese Kiste hat 2 Türen, wenn diese geöffnet werden soll mein Diorama beleuchtet werden, um das Anschalten geht es aber nicht, sondern nur rein um den "Sonnenaufgang".
Ich besitze unter anderem einen Neo Pixel Ring, mit 8x WS2812B LED´s, habe auch noch Stripes mit jeweils 8x LEDs on Board. Die ganze Kiste steht ca. 330 Tage im Wald, heißt sie muss mit einer oder 2x 12V 12 Ah Batterien betrieben werden. Diese Kiste (Diorama) ist Teil eines Spiels. Aber das nur nebenbei. Soll heißen, im Wald habe ich KEINE! 230V, nur meine 2x 12V je 12-15 Ah Batterien.
Der Sonnenaufgang (Mein NeoPixel Ring) soll vom dunklem Lila langsam heller werden, nach jeweils 8 Sekunden zur nächsten Farbe Smokt wechseln, bis nach ca. 40-60 Sekunden das hellste Weiß erscheint was diese 8 LEDs zu bieten haben, damit man mein Diorama in der Kiste gut sehen kann. Sollten die 8 LEDs am ende zu schwach sein, kann ich auch größere Ringe ausweichen, es geht mir hier mehr um die ERSTEN ! nicht alle! Sketch Zeilen schreiben soll,
Beispiel: (naja schon so soll es am ende werden...)
Start des Sketch....
Schwaches Lila wird immer heller, wechselt dann nach 8 Sekunden Smooth ins Orange/Rot-Orange...nach 8 Sekunden dann ins blaue, hellblau...... usw. usw. usw. zum Warmweiß, bis Kaltes Weiß und dann 100% hell!..... Das weiße Licht soll dann ca. 3 (z.b.) Minuten an bleiben, bis die Kiste wieder geschlossen wird.
Es geht mir darum, wie ich den Ring zum Leuchten bringe mit Lila, wobei das Lila ja auch in den 8-9 Sekunden aufhellen soll, denn ein echter Sonnenaufgang steigt ja auch nach und nach immer heller.
Wie schreibe ich den Sketch mit den Zeiten? Es würden mit ja schon 2 Zeilen reichen.
Schwaches Lila immer heller....dann ins rot-orange-rot- wie schreibe ich die ersten 2 Farben, den Rest suche ich mir schritt für schritt selber zusammen.... sodass ich am ende alle Sonnenaufgangs Farben habe,
Dazu kommt, schreibe ich die Farben im Sketch als RGB Zahlen oder HEX Code?
@Tommy, keine Ahnung was ich dir getan habe, aber deine Art ist merkwürdig.
JA! Ich fange ganz frisch an, habe mehrere Starter Sets, mehrere UNO´s, MEGA Arduino's, auch mega viel Zubehör. Und ja, mit dem Steckbrett habe ich auch schon paar Lämpchen zum leuchten gebracht, dennoch fange ich als Newbie an, daher erhoffte ich hier um Hilfe.
Und JA; ich bin gern bereit zu lernen, keine Frage, dennoch brauche ich bitte einen kleine Starthilfe, 2 Zeilen Code damit ich weiß wie man die Zeiten und Farben ansteuert und ob ich alle einzeln anschreiben muss oder es komplett als Ring geschrieben wird.
Dazu kommt, schreibe ich die Farben im Sketch als RGB Zahlen oder HEX Code?
Ist das gleiche nur andere Darstellung.
Also Du möchstest einen Sonnenaufgang der startet sobald die Türen aufgemacht werden?
Du willst also einen Übergang von schwachen lila nach mittlerem rot, orange und hellem weiß?
WAS hast Du? (Link zu Hardware, Sketch in Code-Tags)
WAS macht Es?
WAS erwartest Du statt Dessen?
PS: Der von Dir verlinkte Sketch geht doch schon in genau diese Richtung?!?
Was hindert Dich daran, in der Sunrise-Tabelle mehrere Farben einzutragen, damit der Verlauf gemächlicher wird?
Du bist immer noch dran.
Die beiden letzten Fragen sind noch offen. Noch mehr Fragen wären:
WAS genau passt dir am aktuellen Ergebnis nicht? ("Geht nicht" gilt nicht)
WAS hast du als Verbesserung schon probiert, und was ist dabei passiert?
Du kannst übrigens mit nur einer der LED in "fast aus" RGB(1,0,1) anfangen
Farben 'durchlaufen' klingt eher nach HSV-Farbmodel - dort ist eine Gerade zwischen zwei Punkten ein Überblenden zur anderen Farbe.
Das ist bei RGB NICHT!! gegeben.
Wobei man hier die Abstände der Wunschfarben so wählen kann, daß Das immer noch nett aussieht.
HSV lässt sich in RGB umrechnen - und umgekehrt (besser was Fertiges suchen - der Formel-Salat ist nicht Ohne).
Für jeden der Pixel wirst Du 60mA Stromaufnahme bei VOLL-AN rechnen müssen - bei dem 8er Ring ist Das aber noch unkritisch (VERSORGEN kann der Arduino Den aber dennoch NICHT).
Selber hätte ich wohl eher eine Funktion ersonnen, Die mir bei gegebenem Anfangs- und Endfarbwert, wie Anfangszeit und Laufzeit, die 'JETZT'-Farbe zurück gibt.
//Funktion gibt die 'Zwischenfarbe' von _start bis _ziel je nach vergangener Zeit ab start bei maximaler Laufzeit zurück
//RGBW (so wird der 32-Bit-Wert auch voll)
uint32_t fadewert(byte r_start, byte g_start, byte b_start, byte w_start, byte r_ziel, byte g_ziel, byte b_ziel, byte w_ziel, uint32_t startzeit, uint32_t laufzeit) {
const byte rbit = 0; //Position des Farbwert in dem 'HEX'-Farbwert
const byte gbit = 8; //r0,g8,b16,w24 -> 0xWWBBGGRR
const byte bbit = 16;
const byte wbit = 24;
byte r = map( constrain(millis(), startzeit, startzeit + laufzeit), startzeit, startzeit + laufzeit, r_start, r_ziel);
byte b = map( constrain(millis(), startzeit, startzeit + laufzeit), startzeit, startzeit + laufzeit, g_start, g_ziel);
byte g = map( constrain(millis(), startzeit, startzeit + laufzeit), startzeit, startzeit + laufzeit, b_start, b_ziel);
byte w = map( constrain(millis(), startzeit, startzeit + laufzeit), startzeit, startzeit + laufzeit, w_start, w_ziel);
uint32_t retval = ((uint32_t)r << rbit) | ((uint32_t)g << gbit) | ((uint32_t)b << bbit) | ((uint32_t)w << wbit);
return retval;
}
Das constrain soll die Laufzeit innerhalb der angegebenen Zeiten halten, dadurch 'läuft map() nicht über'.
Ob man bereits 'hinten angekommen' ist, muß man extern prüfen.
Die vier identischen Berechnungen könnte man zusammen fassen/auslagern, dürfte Speicher sparen.
Wenn eine andere Farb-Reihenfolge benötigt wird, entsprechend umstellen.
Wenn W (white = Weiß) nicht gebraucht wird, auf Wert Null und an Stelle 24 (ab Bit 24, bis 31).
Ob Das auch so tut, wie ich mir Das denke ... kA, aber kompiliert ohne Warnung.