Sommario:

LED sincronizzati ampi di quartiere: 5 passaggi (con immagini)
LED sincronizzati ampi di quartiere: 5 passaggi (con immagini)

Video: LED sincronizzati ampi di quartiere: 5 passaggi (con immagini)

Video: LED sincronizzati ampi di quartiere: 5 passaggi (con immagini)
Video: Perché non dovresti MAI non indossare le ride sneakers… 2024, Dicembre
Anonim
LED sincronizzati ampi di quartiere
LED sincronizzati ampi di quartiere
LED sincronizzati ampi di quartiere
LED sincronizzati ampi di quartiere
LED sincronizzati ampi di quartiere
LED sincronizzati ampi di quartiere

Avevo alcune barre LED wireless che pensavo di poter mettere fuori per le vacanze. Ma, nel mio cortile, potevano anche essere cablati. Allora, qual è la sfida più interessante? Decorazioni a LED in tutte le case del mio blocco con display sincronizzato! In questo anno folle, è un modo per unirci.

Questi sono fili LED alimentati da ESP8266 e sono collegati a rete WiFi, quindi mostrano tutti lo stesso passaggio nella sequenza di animazione contemporaneamente. Poiché usano il codice mesh per connettersi, possono essere a poche case di distanza e i messaggi vengono passati da un nodo all'altro.

Funzionano a 5 volt e ho usato adattatori di alimentazione, ma possono funzionare anche con batterie USB. Quindi sono portatili, gestiscono la propria rete WiFi che non è connessa a Internet e possono funzionare fuori dalla rete.

Tutti i nostri vicini erano entusiasti di avere questa decorazione condivisa, ed è davvero bello vedere tutti loro mostrare lo stesso display mentre cammini lungo la strada. Ho alcune foto qui di alcuni davanti a casa mia per i test, ma è stato davvero difficile fotografarli per strada.

Passaggio 1: parti

Parti
Parti
Parti
Parti
Parti
Parti

ESP8266 D1 Mini - Ho usato i moduli D1 Mini poiché tutto ciò di cui ho bisogno è un pin I/O per i LED. Questo progetto potrebbe essere realizzato senza saldatura utilizzando uno scudo terminale come questo e un diverso modulo ESP8266. Esiste una versione del D1 Mini con un'antenna migliore: la D1 Mini Pro. Ha un'antenna in ceramica e un connettore U. FL per un'antenna esterna, ma è necessario spostare una resistenza da 0 ohm a montaggio superficiale per l'antenna esterna. Più discussione in un passaggio successivo.

Fili LED WS2811 - Ho usato i fili WS2811 poiché sono impermeabili (ad eccezione dei connettori JST) e facili da lavorare. Le strisce WS2812b "Neopixel" userebbero esattamente lo stesso codice, ecc. Ho usato quelle da 5 V, ma puoi ottenerle a 12 V (usa meno corrente) - quindi avresti bisogno di un convertitore di tensione per gli ESP8266. Se lo desideri, puoi anche ottenere fili LED WS2811 con connettori impermeabili. I fili LED che ho usato hanno connettori JST SM su entrambe le estremità: quello femmina è l'ingresso, anche se li ho visti cablati nell'altro modo (maschio come ingresso). La direzione è indicata anche sui LED stessi. Ci sono anche cavi per l'iniezione di potenza: ho tagliato le estremità in modo che le parti in scatola non possano andare in cortocircuito. Puoi anche acquistarli in confezioni da 10.

Resistore da 330 Ohm da 1/4 Watt: viene utilizzato sul pin dati dell'ESP8266 per evitare lo sfarfallio dei LED.

Connettore maschio JST SM 3 pin - Questi sono per il collegamento alle strisce LED. Nota che il connettore "maschio" ha un cappuccio sopra.

Connettore femmina CCTV da 2,1 mm: vengono utilizzati per il connettore di alimentazione. Potresti usare qualche altro sistema di connettori per questo, se vuoi.

Alimentatore da 5 V: la potenza nominale dipende da quanti LED avrai. Uno da 2A probabilmente va bene per 50 o 100 LED che non sono mai completamente accesi (vedi la fase di cablaggio per maggiori informazioni).

Cavo di prolunga JST SM a 3 pin o cavo di prolunga da 2,1 mm: poiché il connettore JST sul D1 Mini è vicino ai LED, generalmente si desidera un'estensione per consentire ai LED di essere posizionati più lontano dalla CPU. Nel mio caso, ho finito per mettere la CPU più in alto nella decorazione per ottenere una migliore copertura WiFi, quindi ho tenuto la CPU vicino ai LED e ho usato invece una prolunga da 2,1 mm.

Cavo da USB a 2,1 mm - opzionale - ti consente di alimentare il filo da qualsiasi sorgente USB o batteria.

Guaina termorestringente da 3 mm: è sufficiente circa 1 di questa per coprire la resistenza sul D1 Mini.

Tubo termoretraibile trasparente da 20 mm - questo è in parte opzionale per proteggere i connettori sul D1 Mini. Assicurarsi di agganciare l'interruttore di ripristino dopo l'applicazione se il tubo comprime l'interruttore.

Scatola impermeabile - per proteggere l'alimentatore e la CPU all'esterno. La maggior parte dei miei vicini usava solo sacchetti di plastica.

Condotto EMT da 1/2 "- un pezzo da 29" si adatta alla forma del bastoncino di zucchero - ho usato 4 fascette per tenerlo. Ho provato il PVC da 1/2 "e si adatta, ma tocca i LED su entrambi i lati.

Armatura da 3/8" x 3' - una volta che l'EMT è attaccato alla sagoma, puoi piantare l'armatura nel terreno e metterci sopra il tubo EMT. L'armatura da 1/2" si adatterà, ma dovrai tagliare qualsiasi parti piegate ed è vicino - se si appiattisce o altro quando lo si batte, sarà molto stretto. Quindi, è più probabile che il 3/8" ripulisca facilmente il diametro interno del tubo EMT.

Forma di bastoncino di zucchero: guarda il passaggio su questi, puoi creare una forma fai-da-te, drappeggiarli su un cespuglio o usare una forma come questa.

Passaggio 2: assemblaggio del controller

Assemblaggio del controller
Assemblaggio del controller
Assemblaggio del controller
Assemblaggio del controller
Assemblaggio del controller
Assemblaggio del controller
Assemblaggio del controller
Assemblaggio del controller

Il controller è costituito da D1 Mini (ESP8266), un jack di alimentazione CCTV femmina da 2,1 mm, un resistore da 330 ohm e un connettore maschio JST a 3 pin.

Il presupposto per questo progetto è che utilizzerai 50-100 LED. Se vuoi usarne di più, dovrai usare l'iniezione di potenza per alimentare tutti i LED. Vedi questo altro Instructable per una discussione più approfondita su questo.

Con 50 LED tutti completamente bianchi, assorbirebbero 50 x 0,06 A = 3 ampere. Quindi, con un adattatore 2A, presumiamo che non saranno mai completamente accesi. Per 100 LED, il massimo è 6A, quindi è necessario prestare ancora più attenzione per averne solo alcuni alla volta. Anche con 100 LED da 0,02 A ciascuno, vengono utilizzati 2 Ampere. Quindi, si consiglia un alimentatore a corrente più elevata, anche se ho regolato i display per non utilizzare tutti i LED o i colori contemporaneamente, li ho abbassati molto e ho iniziato con alimentatori da 2 A con quelli più grandi di riserva. Questo è un ottimo articolo sulla riduzione dei requisiti di alimentazione.

Il resistore da 330 ohm in linea con il cavo dati serve a prevenire lo sfarfallio dovuto allo squillo elettronico poiché i dati hanno una frequenza piuttosto elevata. Questo è più un fattore con molti LED, ma è una buona pratica aggiungerlo.

Ho saldato il resistore direttamente al D1 Mini, ma ho lasciato circa 1/8 "del cavo sopra la scheda in modo da poterli piegare in modo piatto. Ho usato circa 1" di 3 mm termoretraibile sul resistore per evitare che vada in cortocircuito sul tavola.

Ho usato un termoretraibile trasparente da 20 mm per proteggere il D1 Mini dal contatto con il metallo, ecc. Assicurati di controllare l'interruttore di ripristino sul lato: potrebbe essere necessario tagliare leggermente il termoretraibile per assicurarti che non prema l'interruttore. Ne avevo bisogno su tutti i miei.

Si noti che non mi sembrava necessario un traslatore di livello dalle uscite ESP8266 a 3,3 V e che i LED funzionassero a 5 V (poiché la specifica del chip LED prevede che la linea dati non sia inferiore al 70% della fornitura). Avevo bisogno di un diodo/LED sacrificale nei progetti precedenti (Passaggio 3) con strisce WS2812b, ma i chip WS2811 diretti nei LED finora sembrano a posto.

Potresti farlo senza saldare! Uno schermo del terminale ESP8266 con una CPU diversa funzionerebbe altrettanto bene. Il fattore di forma D1 Mini è carino e piccolo, ma funzionano tutti allo stesso modo.

Passaggio 3: forme

Forme
Forme
Forme
Forme
Forme
Forme

I fili LED possono essere a forma libera o puoi trasformarli in forme, fai-da-te o da un negozio online. Ho ordinato alcune forme da HolidayCoro: alcuni piccoli alberi a LED, una calza e un bastoncino di zucchero. La calza ha preso bene 50 LED - la lunghezza di un filo. Il piccolo albero richiede 100 LED, ma puoi farne solo la metà se vuoi - di fronte alla strada. Alla fine il bastoncino di zucchero era il preferito dei vicini poiché era un po' più grande. 99 LED e ho lasciato l'ultimo sul retro con l'idea che potesse essere utilizzato per il debug.

Poiché le forme erano bianche, abbiamo deciso di dipingerle strisce rosse in modo che abbiano un aspetto migliore durante il giorno. Li ho mascherati, ho fatto una veloce sabbiatura fine, una passata con acetone (un solvente per unghie a piena forza) e ho usato due mani di vernice spray che funziona sulla plastica. Sembrava aderire bene. Abbiamo fatto principalmente da un lato e pochi dall'altro per un paio di case che ne avevano 2.

Passaggio 4: codice e WiFi

Codice e WiFi
Codice e WiFi
Codice e WiFi
Codice e WiFi
Codice e WiFi
Codice e WiFi

Il D1 Mini utilizza un modulo Espressif ESP8266. L'ho programmato utilizzando l'IDE Arduino, quindi sembra un potente Arduino con WiFi integrato. Ci sono numerose istruzioni su Internet su come configurare l'IDE Arduino per ESP8266 e D1 Mini, quindi non le ripeterò qui.

Il codice si basa su un precedente Instructable. Usa la libreria Painless Mesh per far parlare tra loro tutte le CPU. Ho usato la libreria FastLED poiché ho avuto problemi in precedenza con la libreria mesh e la libreria Neopixel e questa volta non l'ho testata nuovamente.

Non sono sicuro di quale sia il massimo sul numero di nodi. Alcuni post indicano che sarà limitato dal numero di messaggi e tipi di CPU e forse il limite è di circa 30-60 nodi. Questa applicazione non invia molti messaggi, solo il cambio di animazione, anche se ce ne sono di automatici come il cambio di mesh e i messaggi di sincronizzazione dell'ora.

Puoi collegare i LED al D1 Mini durante la codifica, ma potresti volere un alimentatore esterno se ne hai più di 50 poiché potresti superare l'alimentazione dalla porta USB del tuo computer e dal regolatore di potenza sul D1 Mini. Detto questo, con il mio codice che non accende completamente i LED, sono stato in grado di programmare 100 LED sulla connessione USB senza problemi.

Il modulo ESP8266 ha il WiFi integrato. Poiché il codice mesh (PainlessMesh) che stiamo utilizzando crea un punto di accesso su ciascun modulo, l'intervallo per un'ampia portata del quartiere è importante. Ho usato forme di bastoncini di zucchero e ho messo la CPU in alto per ottenere la migliore portata, ed era di circa 50-100 piedi - un metro o due nel mio quartiere. Una linea di vista più alta e migliore (LOS) migliora le cose. La gamma ha attraversato la strada in alcuni casi (dipendeva più dalle auto che bloccavano la LOS).

C'erano un paio di case che non erano sincronizzate a causa di ostruzioni del WiFi, ma le luci sembrano belle anche quando non sono sincronizzate. Ho realizzato un nodo "ripetitore" con solo un D1 Mini su una chiavetta alimentata da una batteria USB. Quando sono stati posizionati tra le case, sono stati sincronizzati correttamente. Per un ripetitore più remoto potresti utilizzare una batteria USB solare, anche se non si carica molto velocemente.

Stavo ancora vedendo problemi di sincronizzazione intermittente, quindi ho trovato questa nota sull'avere troppi nodi o sulla loro diffusione:

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

Usando quella configurazione, ha iniziato a funzionare molto meglio! Questo designa un nodo particolare come quello principale, quindi il mio codice per negoziare il nodo di controllo non è necessario, il che può dividere la mesh. Ho allegato un esempio di codice aggiornato/alternativa. Questo approccio richiede che il nodo principale sia attivo affinché possano essere sincronizzati, quindi la mesh non è tollerante ai guasti, ma funziona meglio quando è distribuita come sono le mie. Assicurati di modificare il codice per quella versione - solo un nodo dovrebbe essere impostato sulla radice - vedi i commenti nel codice.

Ho anche aggiunto un altro aggiornamento alla variante SetRoot: ho aggiunto il codice per ripristinare l'ESP8266 se non ci sono stati comandi per 10 minuti. Questo dà al nodo la possibilità di riscoprire il nodo radice. Questo sembrava aiutare con alcuni dei nodi più distanti.

A fine stagione ho potuto testare alcuni moduli D1 Mini Pro. Hanno un'antenna in ceramica sulla scheda e puoi anche usare un connettore U. FL e un'antenna esterna se sposti un resistore a zero ohm. Ho provato un paio che ha avuto problemi di sincronizzazione con i D1 Mini Pro con le antenne in ceramica e hanno funzionato meglio. Ho fatto alcuni test successivi con un nodo in casa mia. Sulla base dei risultati, l'anno prossimo passeremo ai moduli D1 Mini Pro con le antenne in ceramica.

Con un D1 Mini remoto: solo il D1 Mini Pro con un'antenna esterna l'ha visto e la potenza del segnale era bassa

Con un telecomando D1 Mini Pro con antenna in ceramica: D1 Mini, D1 Mini Pro con antenna in ceramica e D1 Mini Pro con antenna esterna lo hanno visto tutti con all'incirca la stessa potenza del segnale, quindi è stato un miglioramento. L'orientamento delle schede (antenne) ha una certa importanza

Con un D1 Mini Pro remoto con un'antenna esterna: tutte le altre schede l'hanno visto, ma la potenza del segnale non era molto migliore rispetto ai test con l'antenna in ceramica integrata, quindi non mi preoccuperò di spostare quei resistori da zero ohm e di mettere antenne sul bastoncini di zucchero

Passaggio 5: assemblaggio finale

Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale

Una volta che il controller è pronto e programmato, tutto ciò che devi fare è collegare i LED al controller con i cavi JST e un alimentatore da 5 V sul jack da 2,1 mm.

L'estensione JST dovrebbe essere utile per tenere il controller e l'adattatore di alimentazione sempre lontani dai LED. Oppure, per ottenere la CPU più in alto, ho messo un piccolo sacchetto di plastica su di loro fissato con una fascetta e ho usato una prolunga da 2,1 mm per l'alimentatore.

La scatola impermeabile aiuterà a proteggere l'adattatore e la CPU, ma la maggior parte dei miei vicini usava semplici sacchetti di plastica.

Sfida di velocità delle decorazioni natalizie
Sfida di velocità delle decorazioni natalizie
Sfida di velocità delle decorazioni natalizie
Sfida di velocità delle decorazioni natalizie

Secondo premio nella sfida di velocità delle decorazioni natalizie

Consigliato: