Cuprins:

Bare LED sincronizate cu plasă WiFi: 3 pași (cu imagini)
Bare LED sincronizate cu plasă WiFi: 3 pași (cu imagini)

Video: Bare LED sincronizate cu plasă WiFi: 3 pași (cu imagini)

Video: Bare LED sincronizate cu plasă WiFi: 3 pași (cu imagini)
Video: TVneWs - O mama beata cade cu copilul în brate ! 2024, Iulie
Anonim
Image
Image
Bare LED sincronizate cu plasă WiFi
Bare LED sincronizate cu plasă WiFi
Bare LED sincronizate cu plasă WiFi
Bare LED sincronizate cu plasă WiFi
Bare LED sincronizate cu plasă WiFi
Bare LED sincronizate cu plasă WiFi

De CarlSTeleToyland Urmăriți mai multe de la autor:

Selector de culori la distanță pentru LED-urile casei
Selector de culori la distanță pentru LED-urile casei
Selector de culori la distanță pentru LED-urile casei
Selector de culori la distanță pentru LED-urile casei
LED-uri sincronizate de vecinătate
LED-uri sincronizate de vecinătate
LED-uri sincronizate de vecinătate
LED-uri sincronizate de vecinătate
Iluminare permanentă digitală LED pentru casă V2
Iluminare permanentă digitală LED pentru casă V2
Iluminare permanentă digitală LED pentru casă V2
Iluminare permanentă digitală LED pentru casă V2

Despre: Un Maker încă din copilărie cu toate simptomele clasice, un constructor de roboți și un software de Internet CTO / Tech Product Manager. Mai multe despre CarlS »

Acest proiect este o colecție de bare LED cu LED-uri digitale controlabile individual (WS2812b "Neopixeli"). Permit realizarea de animații peste ele fără a le conecta împreună. Acestea folosesc un WiFi Mesh pentru a se conecta între ele, iar animația se adaptează pentru a avea mai multe sau mai puține bare în mesh.

Inspirația a fost ca o pereche de majore de tobe să aibă buzdugane / baghete decorate pentru o paradă de Crăciun. Animația cu LED-uri dintre ele este sincronizată. LED-urile ar putea fi, de asemenea, șuvițe în loc de benzi.

Cealaltă utilizare este pentru o instalație de artă cu LED-uri în care nu doriți să rulați un fir de date între toate LED-urile din jurul unei camere - tot ce trebuie să facă este să fie conectate individual.

Pentru acest proiect, acestea nu sunt conectate la Internet. Ei își configurează propriile puncte de acces WiFi și servere web. Deci, acest proiect nu depinde de rețeaua externă și poate rula în locații îndepărtate. Acestea rulează pe 5V, deci pot fi alimentate cu ușurință de la baterii externe ale telefonului mobil!

Pasul 1: Piese

Părți
Părți
Părți
Părți
Părți
Părți

Următoarele părți au fost utilizate în proiect pentru fiecare bandă:

  • O bandă LED WS2812b neimpermeabilă. Am folosit 30 de LED-uri / metru. Cele neimpermeabile au, de obicei, bandă dublă atașată deja la ele, astfel încât să fie ușor de montat. Veți avea nevoie de 1 metru pe canal, deoarece canalele au un metru lungime. Mai multe LED-uri pe metru sunt în regulă - asigurați-vă că obțineți o sursă de alimentare corespunzătoare. Fiecare LED (5050) din aceste benzi poate utiliza până la 60ma când este complet aprins.
  • Carcasă de proiectare electronică din plastic 60x36x25mm - aceasta este suficient de mică pentru a deține un D1 Mini.
  • O mufă cu panou jack de 5,5 mm x 2,1 mm DC
  • O sursă de alimentare de 5v - una de 2 ampere ar trebui să fie bună, cu 30 LED-uri @ 0,06 amp fiecare, când sunt aprinse.
  • Un cablu USB la 5,5 mm x 2,1 mm dacă doriți să alimentați acest proiect de la o baterie USB
  • O placă D1 Mini ESP8266 - disponibilă și pentru mai puțin, dar cu o așteptare mai lungă.
  • Canal din aluminiu cu capac și capace de capăt pentru benzi LED. Există multe profiluri din care puteți alege. Acesta este suficient de larg pentru benzile LED WS2812b (12mm) și cu profil redus.
  • Bara de aluminiu - canalul are o lățime de 17 mm, deci o bară de aluminiu de 1/2 "lățime are o dimensiune bună. Ar trebui să aibă o grosime de 1/16" și o lungime de 6 "pentru fiecare bară pe care o faceți.
  • Banda dublă din spumă - 1/2 "lățime.
  • Condensator 1000uF - recomandat pentru fiecare bandă, pentru a preveni deteriorarea LED-urilor de vârfuri de tensiune.
  • Sârmă de conectare. Acest fir de silicon de calibru 26 este foarte flexibil și ajută la împiedicarea firului de a trage tampoanele de lipit de pe banda LED. De asemenea, nu se topește când îl atingeți cu fierul de lipit. De asemenea, am folosit sârmă servo care este, de asemenea, foarte flexibilă, dar sârmă de silicon este noua mea sârmă preferată. Veți avea nevoie de aproximativ 6 "din fiecare culoare (roșu, negru, galben).
  • Sârme jumper - femela roșu, negru și galben sunt utilizate pentru conectarea la CPU. Puteți sări peste acestea și să lipiți firul de conectare direct la bord, dacă sunteți încrezător.
  • Un rezistor de 330 ohmi pentru a reduce zgomotul în linia de date a benzii LED.
  • O diodă de semnal 1N4448 sau similară pentru a permite procesorului de 3.3v să conducă în mod fiabil banda LED de 5v.
  • Tuburi termocontractabile de 3 mm - veți avea nevoie doar de aproximativ 5 "din acesta.

Pasul 2: Construiți barele

Construiți barele
Construiți barele
Construiți barele
Construiți barele
Construiți barele
Construiți barele
Construiți barele
Construiți barele

Construcția barelor este aceeași ca în acest instructable anterior. Există aici imagini pas cu pas similare dintr-o versiune recentă, iar discuția poate fi găsită pe celălalt instructabil.

Un nou sfat pentru lipirea LED-urilor pe canalul de aluminiu: Uneori banda dublă pe benzile LED este puțin mai scurtă decât placa de circuite LED și veți vedea o ușoară cataramă în banda LED. Dacă pur și simplu tăiați banda în acea locație, aceasta se va așeza plat.

De asemenea, am folosit câteva picături de adeziv UV pentru a bloca firul de alimentare și orice părți ale benzii cu LED-uri care nu au rămas în jos.

În locul controlerelor Particle Photon, acest proiect a folosit plăci WeMos D1 Mini, bazate pe setul de cipuri ESP8266. Acestea sunt frumoase și mici pentru un proiect LED. Am folosit anteturi pentru bărbați pentru a permite loc pentru jumperii de sex feminin. Inversarea conectorilor nu se va potrivi în carcasă. Această abordare este, de asemenea, ușor de lipit. Am folosit, de asemenea, sârmă cu miez solid cu calibru 20, cu conectori feminini sertizați, și asta funcționează și el, dar este mai mult efort.

Aceste bare utilizează aceeași abordare LED sacrificială pentru primul LED. În practică, chiar nu se observă. De asemenea, diferența ușoară dintre primele două este, de asemenea, aproape neobservabilă

Dacă intenționați să utilizați clemele pentru a monta canalul de aluminiu, bara de aluminiu care conectează canalul la cutia de proiect poate împiedica montarea directă a clemelor pe un perete, deci este posibil să fie nevoie să puneți niște șaibe sau o piuliță liberă sub acolo pentru a le opri cu 1/16.

Pasul 3: Cod Mesh

Image
Image
Cod Mesh
Cod Mesh

Fiecare dintre barele cu LED rulează același cod. Baza acestui proiect este biblioteca painlessMesh la https://gitlab.com/BlackEdder/painlessMesh. Biblioteca respectivă se ocupă de cea mai mare parte a muncii la nivel scăzut de stabilire a punctelor de acces, a serverelor web etc. Fiecare bară este un nod mesh.

Plasa are un singur controler, iar notificările de schimbare a animației sunt transmise la toate nodurile / barele LED. Pentru o rețea mare, ar putea exista o anumită latență în mesagerie, dar pentru scala pe care o lucram, nu era vizibilă.

La pornire, nodul presupune că este controlerul, dar apoi mesajul modifiedNodes declanșează o evaluare. Cel mai mic # cip ID din rețea devine controlerul. Acest lucru durează de obicei o secundă sau două pentru ca toate nodurile să se stabilească și să-și asume un singur controler. Ați putea depune mai mult efort în resincronizarea mai rapidă (animație medie), dar mesajele de schimbare sunt destul de vorbărețe, așa că este nevoie de un pic pentru ca rețeaua să se stabilească oricum. În practică, odată ce se resincronizează, rămân foarte solizi.

Pentru animațiile care traversează bare, codul primește o listă a nodurilor, o sortează, apoi desenează numai dacă nodul curent este cel desenat. Se sortează în ordinea cipului de identificare, astfel încât să puteți realiza animații care vor fi consecvente, indiferent când pornesc. De asemenea, animațiile se vor adapta la nodurile abandonate.

Codul de animație apare în trei locuri. Primul este funcția Receivedall, unde bara a primit o nouă comandă de animație. Acest lucru este destul de simplu - setează doar dimensiunea pasului de sincronizare pentru animație și resetează contoare. Al doilea loc este în funcția de buclă. Acolo, codul verifică dacă animația curentă este realizată și trece la pasul următor. Locul final pentru codul de animație este funcția stepAnimation, unde se realizează toate desenele.

Sistemul folosește temporizatorul millis pentru a actualiza - evitând utilizarea funcției de întârziere, deoarece blochează unele biblioteci. Codul millis ar trebui să se răstoarne corect.

Rețineți că am avut probleme cu biblioteca NeoPixel și painlessMesh cu mai mult de un LED, așa că am trecut la FastLED.

Iată codul de pe GitHib și este atașat și aici. O încărcați destul de mult pe toate barele și sunteți gata să începeți codarea cu animație LED!

Recomandat: