Smart Weihnachtsbaum auf ESP8266 und ws2811

Letztes Jahr habe ich sehr spät angefangen, den Weihnachtsbaum zu sammeln. In der Regel war das Standardabschlusssystem für jedes Jahresende für Projekte im Dezember besonders stressig. Im Allgemeinen begannen das Kind und ich einige Tage vor dem neuen Jahr, den Baum zu schmücken. Und die erste Überraschung beim Dekorieren des Weihnachtsbaumes war eine Neujahrsgirlande, die vor vielen Jahren entweder im OBI oder in Castorama gekauft wurde. Einer der drei Farbkanäle ging vollständig aus und der andere arbeitete bei geringer Helligkeit. Es war Sonntag, und zuerst wollte ich schnell einen Ersatz kaufen. Aber dann erinnerte ich mich an die Girlande ihrer 25 gesteuerten RGB-LEDs, die einmal bei Ali gekauft worden waren, um "zu sehen", und in einer Schachtel staubten.

Nur die Girlande mit dem Arduino zu verbinden und die Standardalgorithmen auszufüllen, schien mir zu langweilig. Deshalb habe ich beschlossen, etwas Neues, Modisches mitzubringen. Damit es interessant wäre, dem Kind selbst zu gefallen.

Daher wurde beschlossen, diese Girlande mit einem Smart Home zu verbinden. Mein Smart Home funktioniert hauptsächlich mit Mikrocontrollern der ESP8266-Familie, die die Bibliotheken ESP / Arduino und Blynk verwenden . Der lokale Blynk-Server wird auf RaspberryPi 3 bereitgestellt.

Wie ich oben schrieb, hatte ich nicht viel Zeit und beschränkte mich daher auf einige Standardbeispiele aus der NeoPixel-Bibliothek. Das Umschalten zwischen den Modi erfolgt über ein Smartphone. Ich werde einen Link zu den Skizzen am Ende des Artikels setzen.

Das Anschließen einer Daisy Chain an den ESP8266 ist sehr einfach, jedoch ausschließlich an bestimmte GPIOs, abhängig vom Modell des Moduls und der gewünschten Übertragungsrate

Die Bibliothek hat Kommentare zu diesem Thema abgegeben:
// three element pixels, in different order and speeds NeoPixelBus<NeoGrbFeature, Neo800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, Neo400KbpsMethod> strip(PixelCount, PixelPin); // For Esp8266, the Pin is omitted and it uses GPIO3 due to DMA hardware use. // There are other Esp8266 alternative methods that provide more pin options, but also have // other side effects. //NeoPixelBus<NeoGrbFeature, Neo800KbpsMethod> strip(PixelCount); // // NeoEsp8266Uart800KbpsMethod uses GPI02 instead // You can also use one of these for Esp8266, // each having their own restrictions // // These two are the same as above as the DMA method is the default // NOTE: These will ignore the PIN and use GPI03 pin //NeoPixelBus<NeoGrbFeature, NeoEsp8266Dma800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, NeoEsp8266Dma400KbpsMethod> strip(PixelCount, PixelPin); // Uart method is good for the Esp-01 or other pin restricted modules // NOTE: These will ignore the PIN and use GPI02 pin //NeoPixelBus<NeoGrbFeature, NeoEsp8266Uart800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, NeoEsp8266Uart400KbpsMethod> strip(PixelCount, PixelPin); // The bitbang method is really only good if you are not using WiFi features of the ESP // It works with all but pin 16 //NeoPixelBus<NeoGrbFeature, NeoEsp8266BitBang800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, NeoEsp8266BitBang400KbpsMethod> strip(PixelCount, PixelPin); 


Hier ist das Video vom letzten Jahr, das zeigt, was daraus geworden ist.


Ein 6-jähriges Kind freute sich besonders über das RGB-Zebra. Es scheint mir, dass die Entwickler dieses Element nur für einen solchen Fall entwickelt haben.

Der Baum stand lange und erfreut bis zum Monat März (das Kind hat Ende Februar Geburtstag und wollte sich vor seinen Freunden rühmen).

Da das „Schiff so erfolgreich gestartet ist“, wurde beschlossen, in Zukunft weitere Lichter hinzuzufügen. Eine weitere Girlande mit 50 Dioden wurde gekauft. Beim Anschließen musste ich 5V Strom vom gegenüberliegenden Ende der Girlande hinzufügen, weil sie leuchtete schwach und blinzelte. Außerdem haben meine Tochter und ihre Mutter vor ein paar Wochen beschlossen, einen Stern für den Weihnachtsbaum zu kaufen. Sie kauften einige der deshmansky Chinesen zum Festpreis, was auch nicht funktionierte. Sie gaben mir die Worte "Hier, Papa, repariere es und hänge es an den Weihnachtsbaum!" Im Inneren des Sterns befanden sich eine einzelne Diode, eine Batterie und ein Schalter, die funktionierten, jedoch geschlossene Kontakte hatten. Ich habe die Kontakte geöffnet, aber dieser ganze Haushalt blinkte leider in verschiedenen Farben (sie sind in springende Silikonkugeln eingebaut). Ich würde mich übrigens freuen, wenn mir jemand erklärt, wie diese Diode ohne Widerstand und ohne Schaltung funktioniert. Die LED-Diode ist bei weitem der häufigste Einzelchip, sie hat eine Kathode und eine Anode in einer transparenten Lampe. Es sieht ungefähr so ​​aus .

Im Allgemeinen wurde beschlossen, die Vollzeitdiode zu entfernen und stattdessen 5 Stück einzusetzen. von der Girlande ws2811. Dementsprechend wurden die Skizze und das Blynk-Profil leicht modifiziert, um mehr Lichter und Sterne zu unterstützen. Der Stern erhielt ein persönliches Zebra und wurde von allen Animationsalgorithmen ausgeschlossen. Mit Animation mochte keiner der Haushalte den Stern.


Nächstes Jahr werde ich Koordinatenanimationen hinzufügen und vielleicht bieten einige der Leser etwas an.

Link zur Bibliothek

Skizzenlinks:

mal
zwei

PS: Wenn es interessant ist, werde ich in den folgenden Artikeln über meine Vision eines kostengünstigen Smart Homes berichten. Im Moment bin ich so konfiguriert, dass ich Beleuchtung, Aquarium, Klima, Heimkino mit einem Smartphone, einer IR-Fernbedienung, Bewegungssensoren, Wandtasten und Sprache steuern kann.

Source: https://habr.com/ru/post/de409459/


All Articles