Indholdsfortegnelse:

WiFi Mesh Synchronized LED Bars: 3 trin (med billeder)
WiFi Mesh Synchronized LED Bars: 3 trin (med billeder)

Video: WiFi Mesh Synchronized LED Bars: 3 trin (med billeder)

Video: WiFi Mesh Synchronized LED Bars: 3 trin (med billeder)
Video: Car LED Strip Light. Product Link in the Comments! 2024, Juli
Anonim
Image
Image
WiFi Mesh Synchronized LED Bars
WiFi Mesh Synchronized LED Bars
WiFi Mesh Synchronized LED Bars
WiFi Mesh Synchronized LED Bars
WiFi Mesh Synchronized LED Bars
WiFi Mesh Synchronized LED Bars

Af CarlSTeleToylandFølg mere af forfatteren:

Fjernstyret farvevælger til husets lysdioder
Fjernstyret farvevælger til husets lysdioder
Fjernstyret farvevælger til husets lysdioder
Fjernstyret farvevælger til husets lysdioder
Bredt synkroniserede lysdioder i kvarteret
Bredt synkroniserede lysdioder i kvarteret
Bredt synkroniserede lysdioder i kvarteret
Bredt synkroniserede lysdioder i kvarteret
Permanent Digital LED House Holiday Lighting V2
Permanent Digital LED House Holiday Lighting V2
Permanent Digital LED House Holiday Lighting V2
Permanent Digital LED House Holiday Lighting V2

Om: En skaber siden barndommen med alle de klassiske symptomer, en robotbygger og en internetsoftware CTO/Tech Product Manager. Mere om CarlS »

Dette projekt er en samling af LED -stænger med individuelt styrbare digitale LED'er (WS2812b "Neopixels"). De tillader animationer at blive udført på tværs af dem uden at koble dem sammen. De bruger et WiFi Mesh til at oprette forbindelse til hinanden, og animationen tilpasser sig at have mere eller mindre søjler i netværket.

Inspirationen var, at et par tromle -majors skulle have dekoreret maces/batons til en juleparade. LED -animationen mellem dem er synkroniseret. Lysdioderne kan også være tråde i stedet for strimler.

Den anden anvendelse er til en LED -kunstinstallation, hvor du ikke ønsker at køre en datakabel mellem alle LED'erne rundt om et rum - alt hvad de skal gøre er at blive tilsluttet individuelt.

For dette projekt er de ikke forbundet til internettet. De opretter deres egne private WiFi -adgangspunkter og webservere. Så dette projekt er ikke afhængigt af eksternt netværk og kan køre fjerntliggende steder. De kører på 5v, så kan nemt drives af eksterne mobiltelefonbatterier!

Trin 1: Dele

Dele
Dele
Dele
Dele
Dele
Dele

Følgende dele blev brugt i projektet til hver strimmel:

  • En ikke-vandtæt WS2812b LED-strip. Jeg brugte 30 lysdioder/meter. De ikke-vandtætte har normalt allerede dobbeltsidet tape fastgjort til dem, så de er lette at montere. Du skal bruge 1 meter pr. Kanal, da kanalerne er en meter lange. Flere lysdioder pr. Meter er fint - bare sørg for at få en tilsvarende stor strømforsyning. Hver (5050) LED i disse strimler kan bruge op til 60maa, når den er fuldt tændt.
  • Elektronisk plastik projektkabinet 60x36x25mm - denne er lille nok til at rumme en D1 Mini.
  • Et panelmonteret 5,5 mm x 2,1 mm DC -stik
  • En 5v strømforsyning - en 2 ampere skal være fint med 30 LEDS @ 0,06 amp hver, når den er tændt.
  • Et USB til 5,5 mm x 2,1 mm kabel, hvis du gerne vil drive dette projekt fra et USB -batteri
  • Et D1 Mini ESP8266 -bord - også tilgængeligt for mindre, men med en længere ventetid.
  • Aluminiumskanal med låg og endehætter til LED strips. Der er mange profiler at vælge imellem. Denne er bred nok til WS2812b LED -strips (12 mm) og lav profil.
  • Aluminiumsstang - kanalen er 17 mm bred, så en 1/2 "bred aluminiumsstang er en god størrelse. Den skal være 1/16" tyk og 6 "lang for hver stang du laver.
  • Dobbeltsidet skumtape - 1/2 "bred.
  • 1000uF kondensator - anbefales til hver strimmel for at forhindre spændingsspidser i at beskadige lysdioderne.
  • Tilslutningstråd. Denne 26 gauge silikontråd er meget fleksibel og hjælper med at forhindre ledningen i at trække loddepuderne af LED -strimlen. Det smelter heller ikke, når du rører det med loddejernet. Jeg har også brugt servotråd som også er meget fleksibel, men silikontråd er min nye yndlingstråd. Du skal kun bruge cirka 6 "af hver farve (rød, sort, gul).
  • Jumperwires - hunnen rød, sort og gul bruges til at oprette forbindelse til CPU'en. Du kan springe disse over og lodde tilslutningskablet direkte til brættet, hvis du er den sikre slags.
  • En 330 ohm modstand til at reducere støj i LED -stripens datalinje.
  • En 1N4448 Signaldiode eller lignende for at give 3.3v -processoren mulighed for pålideligt at drive 5v LED -strimlen.
  • 3 mm varmekrympeslange - du skal kun bruge cirka 5 "af det.

Trin 2: Byg stængerne

Byg barerne
Byg barerne
Byg barerne
Byg barerne
Byg barerne
Byg barerne
Byg barerne
Byg barerne

Konstruktionen til stængerne er den samme som i denne tidligere Instructable. Der er lignende trin-for-trin-billeder her fra en nylig build, og diskussionen kan findes på den anden Instructable.

Et nyt tip om at sætte LED'erne ned til aluminiumskanalen: Nogle gange er det dobbeltsidede tape på LED-strimlerne lidt kortere end LED-printkortet, og du vil se et lille spænde i LED-strimlen. Hvis du blot klipper båndet på det sted, lægger det sig fladt.

Jeg brugte også nogle dråber UV -lim til at låse strømkablet og alle dele af LED -strimlen, der ikke blev liggende.

I stedet for Particle Photon -controllere brugte dette projekt brugte WeMos D1 Mini -kort, baseret på ESP8266 -chipsættet. Disse er fine og små til et LED -projekt. Jeg brugte mandlige headers til at give plads til de kvindelige jumpere. At vende stikene passer ikke ind i kabinettet. Denne fremgangsmåde er også let at lodde. Jeg har også brugt 20 gauge solid core wire med krympet på hunstik, og det virker også, men er mere indsats.

Disse søjler bruger den samme offer -LED -tilgang til den første LED. I praksis er det virkelig ikke mærkbart. Det lille mellemrum mellem de to første er også næsten umærkeligt

Hvis du har til hensigt at bruge clipsene til at montere aluminiumskanalen, kan aluminiumstangen, der forbinder kanalen til projektboksen, være i vejen for direkte montering af clipsene på en væg, så du skal muligvis lægge nogle skiver eller en løs møtrik under der for at skille dem ud med 1/16.

Trin 3: Mesh Code

Image
Image
Mesh Code
Mesh Code

Hver af LED -bjælkerne kører den samme kode. Grundlaget for dette projekt er det smertefrieMesh -bibliotek på https://gitlab.com/BlackEdder/painlessMesh. Det bibliotek håndterer det meste af arbejdet på lavt niveau med at etablere adgangspunkter, webservere osv. Hver bar er en mesh -knude.

Masken har en controller, og meddelelser om ændring af animationer udsendes til alle noder/LED -bjælker. For et stort net kan der være en vis forsinkelse i beskederne, men for den skala, jeg arbejdede, var det ikke mærkbart.

Ved opstart antager noden, at det er controlleren, men derefter udløser meddelelsen ændrede noder en evaluering. Det laveste # chip -id i netværket bliver controlleren. Dette tager normalt et sekund eller to for alle knudepunkterne at slå sig ned og antage en enkelt controller. Du kan gøre en større indsats for at synkronisere hurtigere (mid-animation), men disse ændringsmeddelelser er ret snakkesalige, så det tager lidt for netværket at falde til ro alligevel. I praksis forbliver de meget solide når de synkroniseres igen.

For animationer, der krydser søjler, får koden en liste over knudepunkterne, sorterer den og tegner derefter kun, hvis den aktuelle knude er den, der trækkes. De sorterer i chip -id -rækkefølge, så du kan lave animationer, der vil være konsekvente, uanset hvornår de starter. Animationerne vil også tilpasse sig noder, der droppes.

Animationskoden vises tre steder. Den første er modtagetCallback -funktionen, hvor linjen har modtaget en ny animationskommando. Dette er ret simpelt - indstiller bare størrelsen på timetrin for animationen og nulstiller tællerne. Det andet sted er i loop -funktionen. Derinde kontrollerer koden, om den aktuelle animation er udført, og går videre til næste trin. Det sidste sted for animationskode er stepAnimation -funktionen, hvor al tegning udføres.

Systemet bruger millis -timeren til at opdatere - undgå brug af forsinkelsesfunktionen, da det blokerer nogle af bibliotekerne. Millis -koden skal vælte korrekt.

Bemærk, at jeg havde problemer med NeoPixel -biblioteket og smertefri Mesh med mere end én LED, så jeg skiftede til FastLED.

Her er koden på GitHib, og den er også vedhæftet her. Du indlæser det stort set på alle søjlerne, og du er klar til at gå på LED -animationskodning!

Anbefalede: