Inhaltsverzeichnis:

Nachbarschaftsweite synchronisierte LEDs - Gunook
Nachbarschaftsweite synchronisierte LEDs - Gunook

Video: Nachbarschaftsweite synchronisierte LEDs - Gunook

Video: Nachbarschaftsweite synchronisierte LEDs - Gunook
Video: So wird Nachbarschaftsstreit bei Verdichtung oder beim Bau von Energieanlagen verhindert 2024, Kann
Anonim
Nachbarschaftsweite synchronisierte LEDs
Nachbarschaftsweite synchronisierte LEDs
Nachbarschaftsweite synchronisierte LEDs
Nachbarschaftsweite synchronisierte LEDs
Nachbarschaftsweite synchronisierte LEDs
Nachbarschaftsweite synchronisierte LEDs

Ich hatte einige drahtlose LED-Leisten, von denen ich dachte, dass ich sie für die Feiertage ausstellen könnte. Aber in meinem Garten hätten sie genauso gut verkabelt sein können. Was ist also die coolere Herausforderung? LED-Dekorationen an allen Häusern in meinem Block mit einer synchronisierten Anzeige! In diesem verrückten Jahr ist es eine Möglichkeit, uns miteinander zu verbinden.

Dies sind ESP8266-betriebene LED-Stränge und sie sind mit WiFi-Mesh verbunden, sodass sie alle gleichzeitig den gleichen Schritt in der Animationssequenz zeigen. Da sie für die Verbindung Mesh-Code verwenden, können sie einige Häuser voneinander entfernt sein, und die Nachrichten werden von Knoten zu Knoten weitergegeben.

Sie laufen mit 5 Volt, und ich habe Netzteile verwendet, aber sie können auch eine Weile mit USB-Batterien betrieben werden. Sie sind also portabel, betreiben ihr eigenes WLAN-Netzwerk, das nicht mit dem Internet verbunden ist, und können netzunabhängig betrieben werden.

Alle unsere Nachbarn waren begeistert von dieser gemeinsamen Dekoration und es ist wirklich schön zu sehen, wie sie alle die gleiche Anzeige zeigen, wenn Sie die Straße entlang gehen. Ich habe hier ein paar Bilder von einigen vor meinem Haus zum Testen, aber es war wirklich schwer, sie die Straße runter zu fotografieren.

Schritt 1: Teile

Teile
Teile
Teile
Teile
Teile
Teile

ESP8266 D1 Mini - Ich habe die D1 Mini-Module verwendet, da ich nur einen I / O-Pin für die LEDs brauche. Dieses Projekt könnte ohne Löten mit einer solchen Anschlussabschirmung und einem anderen ESP8266-Modul durchgeführt werden. Es gibt eine Version des D1 Mini mit einer besseren Antenne - den D1 Mini Pro. Es hat eine Keramikantenne und einen U. FL-Anschluss für eine externe Antenne, aber Sie müssen einen oberflächenmontierten 0-Ohm-Widerstand für die externe Antenne verschieben. Weitere Diskussion in einem späteren Schritt.

WS2811 LED-Stränge - Ich habe WS2811-Stränge verwendet, da sie wasserdicht sind (mit Ausnahme der JST-Anschlüsse) und einfach zu verarbeiten sind. WS2812b "Neopixel" -Streifen würden genau den gleichen Code usw. verwenden. Ich habe 5 V-Streifen verwendet, aber Sie können sie in 12 V erhalten (weniger Strom verwenden) - Sie benötigen dann einen Spannungswandler für die ESP8266s. Sie können WS2811 LED-Stränge auch mit wasserdichten Steckern erhalten, wenn Sie möchten. Die von mir verwendeten LED-Stränge haben an beiden Enden JST SM-Anschlüsse - die Buchse ist der Eingang, obwohl ich sie anders verdrahtet gesehen habe (männlich als Eingang). Die Richtung ist auch auf den LEDs selbst markiert. Es gibt auch Stromeinspritzdrähte - ich habe die Enden abgeschnitten, damit die verzinnten Teile nicht kurzgeschlossen werden können. Sie können sie auch in 10er-Packs kaufen.

330 Ohm 1/4 Watt Widerstand - wird am Datenpin des ESP8266 verwendet, um ein Flackern der LEDs zu verhindern.

JST SM 3-Pin-Stecker - Diese werden an die LED-Streifen angeschlossen. Beachten Sie, dass der "männliche" Stecker eine Haube darüber hat.

2,1 mm CCTV-Buchse - diese werden für den Stromanschluss verwendet. Wenn Sie möchten, können Sie dafür ein anderes Steckersystem verwenden.

5V Netzteil - Die Ampereleistung hängt davon ab, wie viele LEDs Sie haben. Ein 2A ist wahrscheinlich in Ordnung für 50 oder 100 LEDs, die nie vollständig leuchten (weitere Informationen finden Sie im Verdrahtungsschritt).

JST SM 3-Pin-Verlängerungskabel oder ein 2,1-mm-Verlängerungskabel - da sich der JST-Anschluss des D1 Mini in der Nähe der LEDs befindet, möchten Sie im Allgemeinen eine Verlängerung, damit die LEDs weiter von der CPU entfernt platziert werden können. In meinem Fall habe ich die CPU höher in der Dekoration platziert, um eine bessere WLAN-Reichweite zu erzielen, also habe ich die CPU in der Nähe der LEDs belassen und stattdessen ein 2,1-mm-Verlängerungskabel verwendet.

USB-auf-2.1-mm-Kabel - optional - ermöglicht die Stromversorgung des Strangs von jeder USB-Quelle oder Batterie.

3 mm Schrumpfschlauch - Sie benötigen nur etwa 1 Zoll davon, um den Widerstand des D1 Mini abzudecken.

20mm klarer Schrumpfschlauch - teilweise optional, um die Anschlüsse des D1 Mini zu schützen. Stellen Sie sicher, dass Sie den Reset-Schalter nach dem Anbringen umklammern, wenn der Schlauch den Schalter zusammendrückt.

Wasserdichte Box - um das Netzteil und die CPU draußen zu schützen. Die meisten meiner Nachbarn benutzten nur Plastiktüten.

1/2 "EMT-Leitung - ein 29"-Stück passt auf die Zuckerstangenform - ich habe 4 Kabelbinder verwendet, um es festzuhalten. Ich habe 1/2 "PVC ausprobiert, und es passt, berührt aber die LEDs auf beiden Seiten.

3/8" x 3' Bewehrungsstab - Sobald der EMT an der Form befestigt ist, können Sie den Bewehrungsstab in den Boden schlagen und das EMT-Rohr darüber legen. 1/2" Bewehrungsstab passt, aber Sie müssen jeden abschneiden gebogene Teile, und es ist eng - wenn es beim Einschlagen flachgedrückt wird oder etwas, wird es sehr eng. Daher ist es wahrscheinlicher, dass der 3/8" den Innendurchmesser des EMT-Rohrs leichter freigibt.

Zuckerstangenform – sehen Sie sich den Schritt an, Sie können eine Form basteln, sie über einen Busch drapieren oder eine Form wie diese verwenden.

Schritt 2: Controller-Baugruppe

Controller-Baugruppe
Controller-Baugruppe
Controller-Baugruppe
Controller-Baugruppe
Controller-Baugruppe
Controller-Baugruppe
Controller-Baugruppe
Controller-Baugruppe

Der Controller besteht aus dem D1 Mini (ESP8266), einer 2,1 mm CCTV-Buchse, einem 330-Ohm-Widerstand und einem 3-poligen JST-Stecker.

Die Annahme für dieses Projekt ist, dass Sie 50-100 LEDs verwenden. Wenn Sie mehr verwenden möchten, müssen Sie alle LEDs mit Stromzufuhr versorgen. Sehen Sie dieses andere Instructable für eine tiefere Diskussion darüber.

Mit 50 LEDs, die alle auf Vollweiß leuchten, würden sie 50 x 0,06 A = 3 Ampere ziehen. Bei einem 2A-Adapter gehen wir also davon aus, dass sie nie vollständig eingeschaltet sind. Bei 100 LEDs beträgt das Maximum 6A, daher sollte noch mehr darauf geachtet werden, dass nur einige gleichzeitig eingeschaltet sind. Selbst bei 100 LEDs mit jeweils 0,02 A werden 2 Ampere verwendet. Daher wird ein Netzteil mit höherem Strom empfohlen, obwohl ich die Displays so abgestimmt habe, dass nicht alle LEDs oder Farben auf einmal verwendet werden, sie stark gedimmt und mit 2A-Versorgungen mit größeren in Reserve begonnen habe. Dies ist ein großartiger Artikel über die Reduzierung des Strombedarfs.

Der 330-Ohm-Widerstand in der Datenleitung soll ein Flackern durch elektronisches Klingeln verhindern, da die Daten eine ziemlich hohe Frequenz haben. Dies ist eher ein Faktor bei vielen LEDs, aber es ist eine gute Praxis, ihn hinzuzufügen.

Ich habe den Widerstand direkt an den D1 Mini gelötet, aber etwa 1/8 "der Leitung über der Platine gelassen, damit ich sie flach biegen konnte. Ich habe etwa 1" 3 mm Schrumpfschlauch am Widerstand verwendet, um zu verhindern, dass er auf der kurzgeschlossen wird Planke.

Ich habe 20 mm klaren Schrumpfschlauch verwendet, um den D1 Mini vor dem Berühren von Metall usw. zu schützen. Überprüfen Sie unbedingt den Reset-Schalter an der Seite - Sie müssen den Schrumpfschlauch möglicherweise etwas abschneiden, um sicherzustellen, dass er den Schalter nicht drückt. Das habe ich bei allen gebraucht.

Beachten Sie, dass ich keinen Pegelumsetzer von den 3,3-V-ESP8266-Ausgängen und den mit 5 V betriebenen LEDs zu benötigen schien (da die LED-Chip-Spezifikation die Datenleitung nicht weniger als 70% der Versorgung haben soll). Ich brauchte in früheren Projekten (Schritt 3) mit WS2812b-Streifen eine Diode / Opfer-LED, aber die direkten WS2811-Chips in den LEDs scheinen bisher in Ordnung zu sein.

Sie könnten dies tun, ohne zu löten! Ein ESP8266-Terminal-Shield mit einer anderen CPU würde genauso gut funktionieren. Der Formfaktor des D1 Mini ist schön klein, aber alle funktionieren ungefähr gleich.

Schritt 3: Formen

Formen
Formen
Formen
Formen
Formen
Formen

Die LED-Stränge können frei geformt sein oder Sie können sie in Formen bringen - entweder DIY oder aus einem Online-Shop. Ich habe bei HolidayCoro ein paar Formen bestellt - einige kleine LED-Bäume, einen Strumpf und eine Zuckerstange. Der Strumpf nahm gut 50 LEDs auf - die Länge eines Strangs. Der kleine Baum nimmt 100 LEDs auf, aber Sie können nur die Hälfte davon machen, wenn Sie möchten - mit Blick auf die Straße. Am Ende war die Zuckerstange der Nachbarliebling, da sie etwas größer war. 99 LEDs, und ich habe die letzte auf der Rückseite gelassen, mit der Idee, dass sie zum Debuggen verwendet werden könnte.

Da die Formen weiß waren, haben wir uns entschieden, rote Streifen darauf zu malen, damit sie tagsüber besser aussehen. Ich maskierte sie, machte einen schnellen feinen Sand, wischte mit Aceton (vollständiger Nagellackentferner) ab und verwendete zwei Schichten Sprühfarbe, die auf Kunststoff funktioniert. Es schien gut zu haften. Wir machten meistens auf der einen Seite und ein paar auf der anderen Seite für ein paar Häuser, die 2 davon hatten.

Schritt 4: Code & WLAN

Wlan Passwort
Wlan Passwort
Wlan Passwort
Wlan Passwort
Wlan Passwort
Wlan Passwort

Der D1 Mini verwendet ein Espressif ESP8266-Modul. Ich habe es mit der Arduino IDE programmiert, so dass es sich wie ein leistungsstarkes Arduino mit integriertem WiFi anfühlt. Es gibt zahlreiche Anweisungen im Internet, wie man die Arduino IDE für den ESP8266 und D1 Mini konfiguriert, daher werde ich sie hier nicht wiederholen.

Der Code basiert auf einem früheren Instructable. Es verwendet die Painless Mesh-Bibliothek, damit alle CPUs miteinander kommunizieren. Ich habe die FastLED-Bibliothek verwendet, da ich zuvor Probleme mit der Mesh-Bibliothek und der Neopixel-Bibliothek hatte, und ich habe das diesmal nicht erneut getestet.

Ich bin mir nicht sicher, was das Maximum für die Anzahl der Knoten ist. Einige Beiträge weisen darauf hin, dass es durch die Anzahl der Nachrichten und CPU-Typen begrenzt sein wird und möglicherweise die Obergrenze bei 30-60 Nodes liegt. Diese Anwendung sendet nicht viele Nachrichten - nur die Animationsänderung, obwohl es einige automatische gibt, wie z. B. Mesh-Änderungen und Zeitsynchronisierungsnachrichten.

Sie können die LEDs während des Codierens an den D1 Mini anschließen, aber Sie möchten möglicherweise eine externe Versorgung, wenn Sie mehr als 50 haben, da Sie möglicherweise die Versorgung aus dem USB-Anschluss Ihres Computers und dem Leistungsregler des D1 Mini überschreiten. Da mein Code die LEDs nicht vollständig einschaltete, konnte ich ohne Probleme 100 LEDs an der USB-Verbindung programmieren.

Das ESP8266-Modul verfügt über Onboard-WLAN. Da der von uns verwendete Mesh-Code (PainlessMesh) auf jedem Modul einen Access Point erstellt, ist die Reichweite für eine stadtteilweite Reichweite wichtig. Ich habe Zuckerstangenformen verwendet und die CPU an die Spitze gestellt, um die beste Reichweite zu erzielen, und es waren ungefähr 50-100 Fuß - ein oder zwei Meter in meiner Nachbarschaft. Höhere und bessere Sichtlinien (LOS) verbessern die Dinge. Die Reichweite überquerte in einigen Fällen die Straße (hängt eher davon ab, dass Autos die Sicht blockieren).

Es gab ein paar Häuser, die aufgrund von WLAN-Hindernissen nicht synchronisiert wurden, aber die Lichter sehen auch dann gut aus, wenn sie nicht synchronisiert sind. Ich habe einen "Repeater" -Knoten mit nur einem D1 Mini auf einem Stick erstellt, der von einer USB-Batterie gespeist wird. Wenn sie zwischen den Häusern platziert wurden, waren sie richtig synchronisiert. Für einen entfernteren Repeater können Sie möglicherweise einen Solar-USB-Akku verwenden, der jedoch nicht sehr schnell aufgeladen wird.

Ich sah immer noch zeitweilige Synchronisierungsprobleme und fand dann diesen Hinweis, dass zu viele Knoten vorhanden sind oder dass sie verteilt sind:

gitlab.com/painlessMesh/painlessMesh/-/wik…

Mit diesem Setup funktionierte es viel besser! Dadurch wird ein bestimmter Knoten als Hauptknoten festgelegt, sodass mein Code zum Aushandeln des steuernden Knotens nicht benötigt wird, was das Mesh aufteilen kann. Ich habe ein aktualisiertes / alternatives Codebeispiel angehängt. Dieser Ansatz erfordert, dass der Hauptknoten eingeschaltet ist, damit sie synchronisiert werden, sodass das Mesh nicht so fehlertolerant ist, aber besser funktioniert, wenn es so verteilt wird, wie es meine sind. Stellen Sie sicher, dass Sie den Code für diese Version bearbeiten - nur ein Knoten sollte auf den Stamm festgelegt werden - siehe die Kommentare im Code.

Ich habe auch ein weiteres Update zur SetRoot-Variante hinzugefügt: Ich habe Code hinzugefügt, um den ESP8266 zurückzusetzen, wenn 10 Minuten lang keine Befehle gegeben wurden. Dies gibt dem Knoten die Möglichkeit, den Wurzelknoten neu zu entdecken. Dies schien bei einigen der weiter entfernten Knoten zu helfen.

Am Ende der Saison konnte ich einige D1 Mini Pro Module testen. Sie haben eine Keramikantenne auf der Platine, und Sie können auch einen U. FL-Anschluss und eine externe Antenne verwenden, wenn Sie einen Null-Ohm-Widerstand verschieben. Ich habe ein paar ausprobiert, die Synchronisierungsprobleme mit den D1 Mini Pros mit den Keramikantennen hatten, und sie funktionierten besser. Ich habe einige nachfolgende Tests mit einem Knoten in meinem Haus durchgeführt. Aufgrund der Ergebnisse werden wir nächstes Jahr auf die D1 Mini Pro Module mit den Keramikantennen umsteigen.

Mit einer entfernten D1 Mini: Nur die D1 Mini Pro mit einer externen Antenne sah es, und die Signalstärke war gering

Mit einem abgesetzten D1 Mini Pro mit Keramikantenne: Der D1 Mini, der D1 Mini Pro mit Keramikantenne und der D1 Mini Pro mit einer externen Antenne sahen alle ungefähr die gleiche Signalstärke, das war eine Verbesserung. Die Ausrichtung der Platinen (Antennen) spielt eine gewisse Rolle

Mit einem abgesetzten D1 Mini Pro mit externer Antenne: Alle anderen Boards haben es gesehen, aber die Signalstärke war nicht viel besser als die Tests mit der Onboard-Keramikantenne, daher werde ich mir nicht die Mühe machen, diese Null-Ohm-Widerstände zu verschieben und Antennen auf die Zuckerstangen

Schritt 5: Endmontage

Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage

Sobald Sie den Controller fertig und programmiert haben, müssen Sie nur noch die LEDs mit den JST-Drähten und einem 5-V-Netzteil an der 2,1-mm-Buchse an den Controller anschließen.

Die JST-Erweiterung soll hilfreich sein, um Controller und Netzteil immer von den LEDs fernzuhalten. Oder, um die CPU höher zu bringen, habe ich eine kleine Plastiktüte darüber gelegt, die mit einem Kabelbinder gesichert ist, und ein 2,1-mm-Verlängerungskabel zum Netzteil verwendet.

Die wasserdichte Box schützt den Adapter und die CPU, aber die meisten meiner Nachbarn haben einfache Plastiktüten verwendet.

Geschwindigkeits-Challenge für Weihnachtsdekorationen
Geschwindigkeits-Challenge für Weihnachtsdekorationen
Geschwindigkeits-Challenge für Weihnachtsdekorationen
Geschwindigkeits-Challenge für Weihnachtsdekorationen

Zweiter Preis bei der Geschwindigkeits-Herausforderung für Weihnachtsdekorationen

Empfohlen: