Innholdsfortegnelse:
Video: Nabolaget brede synkroniserte lysdioder: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Jeg hadde noen trådløse LED -barer som jeg trodde jeg kunne sette ut i ferien. Men i hagen min kunne de like gjerne vært koblet til. Så, hva er den kulere utfordringen? LED -dekorasjoner på alle husene på blokken min med synkronisert display! I dette vanvittige året er det en måte å koble oss sammen.
Dette er ESP8266 -drevne LED -tråder, og de er tilkoblet WiFi, slik at de alle viser det samme trinnet i animasjonssekvensen samtidig. Siden de bruker maskekode for å koble til, kan de være noen få hus fra hverandre, og meldingene blir overført fra node til node.
De går på 5 volt, og jeg brukte strømadaptere, men de kan også kjøre en stund på USB -batterier. Så de er bærbare, driver sitt eget WiFi -nettverk som ikke er koblet til Internett, og kan kjøre av nettet.
Alle naboene våre var glade for å ha denne delte dekorasjonen, og det er veldig hyggelig hvordan du ser dem alle vise den samme skjermen mens du går langs gaten. Jeg har noen bilder her av noen få foran huset mitt for testing, men det var veldig vanskelig å fotografere dem nedover gaten.
Trinn 1: Deler
ESP8266 D1 Mini - Jeg brukte D1 Mini -modulene siden alt jeg trenger er en I/O -pin for lysdiodene. Dette prosjektet kan utføres uten lodding ved hjelp av et terminalskjerm som dette og en annen ESP8266 -modul. Det er en versjon av D1 Mini med en bedre antenne - D1 Mini Pro. Den har en keramisk antenne og en U. FL -kontakt for en ekstern antenne, men du må flytte en motstand på 0 ohm på overflaten for den eksterne antennen. Mer diskusjon i et senere trinn.
WS2811 LED -tråder - Jeg brukte WS2811 -tråder siden de er vanntette (bortsett fra JST -kontaktene) og enkle å jobbe med. WS2812b "Neopixel" strimler ville bruke nøyaktig samme kode osv. Jeg brukte 5v en, men du kan få dem i 12v (bruk mindre strøm) - du trenger en spenningsomformer for ESP8266s, da. Du kan også få WS2811 LED -tråder med vanntette kontakter hvis du vil. LED -trådene jeg brukte har JST SM -kontakter i begge ender - den kvinnelige er inngangen, selv om jeg har sett dem kablet den andre veien (hann som inngang). Retningen er også merket på selve lysdiodene. Det er også strøminjeksjonsledninger - jeg klippet av endene, slik at de fortinnede delene ikke kunne kortsluttes. Du kan også kjøpe dem i pakker med 10 stk.
330 Ohm 1/4 Watt motstand - dette brukes ved datapinnen på ESP8266 for å forhindre flimmer av lysdiodene.
JST SM 3 -pins hannkontakt - Disse skal kobles til LED -stripene. Vær oppmerksom på at den "mannlige" kontakten har en hette over den.
2,1 mm CCTV hunnkontakt - disse brukes til strømkontakten. Du kan bruke et annet koblingssystem for dette hvis du vil.
5V strømforsyning - forsterkerens vurdering avhenger av hvor mange lysdioder du vil ha. En 2A er sannsynligvis OK for 50 eller 100 lysdioder som aldri er helt på (se ledningstrinnet for mer info).
JST SM 3 -pins forlengelsestråd eller en 2,1 mm forlengelseskabel - siden JST -kontakten på D1 Mini er i nærheten av lysdiodene, vil du vanligvis ha en forlengelse slik at lysdiodene kan plasseres lenger unna CPU'en. I mitt tilfelle endte jeg opp med å sette CPU'en høyere opp i dekorasjonen for å få bedre WiFi -rekkevidde, så jeg beholdt CPU'en i nærheten av lysdiodene og brukte en 2,1 mm skjøteledning i stedet.
USB til 2,1 mm kabel - dette er valgfritt - lar deg drive strømmen fra hvilken som helst USB -kilde eller batteri.
3 mm varmekrympeslange - du trenger bare omtrent 1 av dette for å dekke motstanden på D1 Mini.
20 mm klar varmekrympeslange - dette er delvis valgfritt for å beskytte kontaktene på D1 Mini. Sørg for å klemme rundt tilbakestillingsbryteren etter påføring hvis slangen komprimerer bryteren.
Vanntett boks - for å beskytte strømforsyningen og CPU utenfor. De fleste av naboene mine brukte bare plastposer.
1/2 "EMT -kanal - et 29" stykke passer på candy cane -formen - jeg brukte 4 glidelåser for å holde den på. Jeg prøvde 1/2 "PVC, og den passer, men berører lysdiodene på begge sider.
3/8 "x 3 'armeringsjern - når EMT er festet til formen, kan du dunke armeringsjernet i bakken og sette EMT -røret over det. 1/2" armeringsjern passer, men du må kutte av eventuelle bøyde deler, og det er tett - hvis det blir flat eller noe når du slår det inn, blir det veldig tett. Så det er mer sannsynlig at 3/8 "lett tømmer innvendig diameter på EMT -røret.
Candy Cane -form - se trinnet på disse, du kan gjøre en figur DIY, dra den over en busk eller bruke en form som denne.
Trinn 2: Kontrollenhet
Kontrolleren består av D1 Mini (ESP8266), en 2,1 mm CCTV kvinnelig strømkontakt, en 330 ohm motstand og en 3 -pins JST hannkontakt.
Antagelsen for dette prosjektet er at du vil bruke 50-100 lysdioder. Hvis du vil bruke mer, må du bruke strøminjeksjon for å drive alle lysdiodene. Se denne andre Instructable for en dypere diskusjon om det.
Med 50 lysdioder på full hvit, ville de tegne 50 x 0,06A = 3 ampere. Så, med en 2A -adapter, antar vi at de aldri vil være helt på. For 100 lysdioder er maks 6A, så enda mer forsiktighet bør tas for å bare ha noen på om gangen. Selv med 100 lysdioder på 0,02A hver, har vi 2 ampere som brukes. Så en høyere strømforsyning anbefales, selv om jeg justerte skjermene for ikke å bruke alle lysdiodene eller fargene på en gang, dempet dem mye og har startet med 2A -forsyninger med større i reserve. Dette er en flott artikkel om å redusere strømkrav.
330 ohm -motstanden inline med datakabelen er for å forhindre flimring fra elektronisk ringing siden dataene er en ganske høy frekvens. Dette er mer en faktor med mange lysdioder, men det er en god praksis å legge det til.
Jeg loddet motstanden direkte til D1 Mini, men etterlot omtrent 1/8 "av ledningen over brettet slik at jeg kunne bøye dem flatt. Jeg brukte omtrent 1" 3 mm varmekrymping på motstanden for å unngå at den ble kortsluttet på borde.
Jeg brukte 20 mm klar varmekrymping for å beskytte D1 Mini mot å berøre metall etc. Sørg for å sjekke tilbakestillingsbryteren på siden - du må kanskje kutte varmekrympingen litt for å sikre at den ikke trykker på bryteren. Jeg trengte det på alle mine.
Vær oppmerksom på at jeg ikke så ut til å trenge en nivåskifter fra 3.3V ESP8266 -utgangene og lysdiodene som kjører på 5V (siden LED -brikke -spesifikasjonen skal ha datalinjen ikke mindre enn 70% av forsyningen). Jeg trengte en diode/offer -LED i tidligere prosjekter (trinn 3) med WS2812b -strimler, men de direkte WS2811 -brikkene i lysdiodene virker OK så langt.
Du kan gjøre dette uten lodding! Et ESP8266 terminalskjerm med en annen CPU ville fungere like bra. D1 Mini -formfaktoren er fin og liten, men alle fungerer omtrent det samme.
Trinn 3: Former
LED -trådene kan være i fri form, eller du kan lage dem til former - enten DIY eller fra en nettbutikk. Jeg bestilte noen former fra HolidayCoro - noen små LED -trær, en strømpe og en sukkerrør. Strømpen tok 50 lysdioder pent - lengden på en streng. Det lille treet tar 100 lysdioder, men du kan bare gjøre halvparten av det hvis du vil - vendt mot gaten. Til slutt var sukkerrøret nabofavoritten siden den var litt større. 99 lysdioder, og jeg forlot den siste på baksiden med ideen om at den kunne brukes til feilsøking.
Siden formene kom i hvitt, bestemte vi oss for å male røde striper på dem slik at de ser bedre ut om dagen. Jeg maskerte dem, gjorde en rask fin sand, tørk med aceton (full styrke neglelakkfjerner) og brukte to strøk spraymaling som fungerer på plast. Det så ut til å feste seg godt. Vi gjorde det meste på den ene siden, og noen på den andre siden for et par hus som hadde 2 av dem.
Trinn 4: Kode og WiFi
D1 Mini bruker en Espressif ESP8266 -modul. Jeg programmerte det ved hjelp av Arduino IDE, så det føles som en kraftig Arduino med WiFi innebygd. Det er mange instruksjoner på Internett om hvordan du konfigurerer Arduino IDE for ESP8266 og D1 Mini, så jeg skal ikke gjenta dem her.
Koden er basert på en tidligere Instructable. Den bruker Painless Mesh -biblioteket for å få alle CPUene til å snakke med hverandre. Jeg brukte FastLED-biblioteket siden jeg tidligere hadde problemer med mesh-biblioteket og Neopixel-biblioteket, og jeg testet det ikke på nytt denne gangen.
Jeg er ikke sikker på hva maksimumet er på antall noder. Noen innlegg indikerer at det vil være begrenset av antall meldinger og CPU-typer og kanskje er hetten rundt 30-60 noder. Denne applikasjonen sender ikke mange meldinger - bare endringen av animasjonen, selv om det er noen automatiske meldinger som maskeskift og tidssynkroniseringsmeldinger.
Du kan koble lysdiodene til D1 Mini mens du koder, men du vil kanskje ha en ekstern forsyning hvis du har mer enn 50 siden du muligens vil overskride tilførselen fra datamaskinens USB -port og strømregulatoren på D1 Mini. Når det er sagt, med at koden min ikke slått lysdiodene på fullt, kunne jeg programmere 100 lysdioder på USB -tilkoblingen uten problemer.
ESP8266 -modulen har innebygd WiFi. Siden mesh -koden (PainlessMesh) vi bruker, oppretter et tilgangspunkt på hver modul, er rekkevidden for et nabolag bred rekkevidde viktig. Jeg brukte candy cane -former, og satte CPUen øverst for å få det beste området, og det var omtrent 50-100 fot - en gård eller to i nabolaget mitt. Høyere og bedre siktlinje (LOS) forbedrer ting. Rekkevidden krysset gaten i noen tilfeller (mer avhengig av biler som blokkerte LOS).
Det var et par hus som ikke ble synkronisert på grunn av WiFi -hindringer, men lysene ser fine ut selv om de ikke er synkronisert. Jeg lagde en "repeater" -node med bare en D1 Mini på en pinne drevet av et USB -batteri. Når de ble plassert mellom husene, ble de synkronisert ordentlig. For en mer ekstern repeater kan du muligens bruke et solar USB -batteri, selv om de ikke lades veldig fort.
Jeg så fortsatt intermitterende synkroniseringsproblemer, og fant dette notatet om å ha for mange noder eller få dem spredt:
gitlab.com/painlessMesh/painlessMesh/-/wik…
Ved å bruke det oppsettet begynte det å fungere mye bedre! Dette betegner en bestemt node som den viktigste, så min kode for å forhandle den kontrollerende noden er unødvendig, noe som kan dele opp masken. Jeg har lagt ved en oppdatert/alternativ kodeeksempel. Denne tilnærmingen krever at hovednoden er på for at de skal synkroniseres, så masken er ikke like feiltolerant, men fungerer bedre når den er spredt slik min er. Sørg for å redigere koden for den versjonen - bare en node skal settes til roten - se kommentarene i koden.
Jeg har også lagt til en oppdatering til SetRoot -varianten: Jeg la til kode for å tilbakestille ESP8266 hvis det ikke har vært noen kommandoer på 10 minutter. Dette gir noden en sjanse til å gjenoppdage rotnoden. Dette syntes å hjelpe med noen av de mer fjerne noder.
På slutten av sesongen kunne jeg teste noen D1 Mini Pro -moduler. De har en keramisk antenne på brettet, og du kan også bruke en U. FL -kontakt og ekstern antenne hvis du flytter en null ohm motstand. Jeg prøvde et par som hadde synkroniseringsproblemer med D1 Mini Pros med de keramiske antennene, og de fungerte bedre. Jeg gjorde noen påfølgende tester med en node over huset mitt. Basert på resultatene, vil vi bytte til D1 Mini Pro -modulene med de keramiske antennene neste år.
Med en ekstern D1 Mini: Bare D1 Mini Pro med en ekstern antenne så den, og signalstyrken var lav
Med en ekstern D1 Mini Pro med keramisk antenne: D1 Mini, D1 Mini Pro med keramisk antenne og D1 Mini Pro med en ekstern antenne så alle med omtrent samme signalstyrke, så det var en forbedring. Platenes orientering (antenner) har en viss betydning
Med en ekstern D1 Mini Pro med en ekstern antenne: Alle de andre kortene så det, men signalstyrken var ikke mye bedre enn testene med den innebygde keramiske antennen, så jeg gidder ikke flytte de null ohm motstandene og sette antenner på godteristenger
Trinn 5: Sluttmontering
Når du har kontrolleren klar og programmert, trenger du bare å koble lysdiodene til kontrolleren med JST -ledningene og en 5v strømforsyning på 2,1 mm -kontakten.
JST -forlengelsen bør være nyttig for å holde kontrolleren og strømadapteren alltid fra lysdiodene. Eller, for å få CPUen høyere opp, la jeg en liten plastpose over dem som var festet med en vridning, og brukte en 2,1 mm skjøteledning til strømforsyningen.
Den vanntette boksen vil bidra til å beskytte adapteren og CPU -en, men de fleste av mine naboer brukte enkle plastposer.
Andre premie i Speed Decorations Speed Challenge
Anbefalt:
Fire Pit med lydreaktiv flamme, Bluetooth -høyttaler og animerte lysdioder: 7 trinn (med bilder)
Fire Pit With Sound Reactive Flame, Bluetooth -høyttaler og animerte lysdioder: Ingenting sier sommertid som å slappe av ved bålet. Men vet du hva som er bedre enn ild? Brann OG musikk! Men vi kan gå ett skritt, nei, to skritt videre … Brann, musikk, LED -lys, lydreaktiv flamme! Det kan høres ambisiøst ut, men denne Ins
Ramen Bowl Lampe med gule lysdioder: 17 trinn (med bilder)
Ramen Bowl Lampe med gule lysdioder: Du skulle tro at etter å ha levd av 10 cent ramen -pakker på college, ville jeg bli lei av ting, men mange år senere har jeg fortsatt en stor forkjærlighet for de billige nudelsteinene. Riktignok som en halv helsebevisst voksen med en litt mer sofistikert
Kontrollere flere lysdioder med Python og Raspberry Pi's GPIO -pinner: 4 trinn (med bilder)
Kontrollere flere lysdioder med Python og Raspberry Pi sine GPIO -pinner: Denne instruksjonen viser hvordan du styrer flere GPIO -pinner på RaspberryPi for å drive 4 lysdioder. Det vil også introdusere deg for parametere og betingede utsagn i Python.Vår tidligere instruerbare bruk av din Raspberry Pi's GPIO -pins for å kon
Wifi -synkroniserte lamper: 10 trinn (med bilder)
Wifi synkroniserte lamper: Et prosjekt for noen som lyser opp livet ditt … For 2 år siden, som en julegave til en langdistansevenn, opprettet jeg lamper som ville synkronisere animasjoner via internettforbindelse. I år, 2 år senere, opprettet jeg denne oppdaterte versjonen med
WiFi Mesh synkroniserte LED -barer: 3 trinn (med bilder)
WiFi Mesh Synchronized LED Bars: Dette prosjektet er en samling av LED -barer med individuelt kontrollerbare digitale LED -er (WS2812b " Neopixels "). De lar animasjoner utføres på tvers av dem uten å koble dem sammen. De bruker et WiFi Mesh for å koble seg til hverandre, og