Internet saker julgran (2 / 3 steg)
Steg 2: Koden
Skiss flowBoot upp och ansluta till WiFi (halt på ingen anslutning) och köra Autostart rutin (Clear LED svart-vit-svart) ange aktuella färger till svart. Starta loop - {kontrollera för nuvarande färg via ThingSpeak APIIf är det samma som sista kontrollen och sedan vänta och kolla igen, om vi har kollat ett par gånger utan förändring sedan spela antingen Sparkle * eller Twinkle * effekt. Om färgen är olika; sedan övergången från den ursprungliga färgen till den nya färgen via RGB färg hjulet (se bilden nedan) med den kortaste vägen, till exempel röda > Green skulle övergången via Orange och gul eller blå > röd skulle övergången via Magenta-rosa.}
* Sparkle effekten ökar ljusstyrkan i ett enda LED och kör som fram och tillbaka över strip.*The Twinkle effekten skapas en FastLED färg palett av nuvarande färg med svarta ränder som sedan loopas över LED strip.
FastLED
Jag använder FastLED biblioteket som gjorde kodning dessa övergångar och effekter mycket enkel... FastLED biblioteket har mycket att erbjuda, en av mina favoriter är dess förmåga att möjliggöra kompakt färgpaletter som använder mycket lite av min dyrbara Arduino RAM, här är ett urval av hjälpavsnittet som förklarar funktionen: normalt, datorgrafik, paletten (eller "color lookup table") har 256 poster, var och en innehåller en specifik 24-bitars RGB-färg. Du kan sedan indexera i färgpaletten med hjälp av ett enkelt 8-bitars (en byte). En 256-entry färgpalett tar upp 768 byte ram, vilket på Arduino är möjligtvis "för många" byte. FastLED erbjuder traditionella 256-element paletter, för uppställningar som har råd 768 byte kostnaden i RAM. Men erbjuder FastLED också ett kompakt alternativ. FastLED erbjuder paletter som lagra 16 distinkta poster, men kan nås som om de faktiskt har 256 poster; Detta sker genom att interpolera mellan 16 explicit att skapa femton mellanliggande palett poster mellan varje par.
Om du är intresserad av ljuseffekter så föreslår jag att du tar en titt på Wiki
Du kan plocka upp en kopia min kod från GitHub - https://github.com/jfrmilner/Arduino-CheerLights