Sisukord:

WiFi võrgusilma sünkroniseeritud LED -ribad: 3 sammu (piltidega)
WiFi võrgusilma sünkroniseeritud LED -ribad: 3 sammu (piltidega)

Video: WiFi võrgusilma sünkroniseeritud LED -ribad: 3 sammu (piltidega)

Video: WiFi võrgusilma sünkroniseeritud LED -ribad: 3 sammu (piltidega)
Video: Xiaomi Qingping CGPR1 - датчик движения с сенсором освещенности, обзор, интеграция в Home Assistant 2024, November
Anonim
Image
Image
WiFi võrgusilma sünkroniseeritud LED -ribad
WiFi võrgusilma sünkroniseeritud LED -ribad
WiFi võrgusilma sünkroniseeritud LED -ribad
WiFi võrgusilma sünkroniseeritud LED -ribad
WiFi võrgusilma sünkroniseeritud LED -ribad
WiFi võrgusilma sünkroniseeritud LED -ribad

Autor: CarlSTeleToyland

Kaugvärvivalija maja LED -ide jaoks
Kaugvärvivalija maja LED -ide jaoks
Kaugvärvivalija maja LED -ide jaoks
Kaugvärvivalija maja LED -ide jaoks
Ümbruskonna laiad sünkroniseeritud LED -id
Ümbruskonna laiad sünkroniseeritud LED -id
Ümbruskonna laiad sünkroniseeritud LED -id
Ümbruskonna laiad sünkroniseeritud LED -id
Püsiv digitaalne LED -maja puhkusevalgustus V2
Püsiv digitaalne LED -maja puhkusevalgustus V2
Püsiv digitaalne LED -maja puhkusevalgustus V2
Püsiv digitaalne LED -maja puhkusevalgustus V2

Teave: lapsepõlvest alates kõigi klassikaliste sümptomitega tegija, robotiehitaja ja Interneti -tarkvara CTO/Tech tootejuht. Lisateave CarlSi kohta »

See projekt on individuaalselt juhitavate digitaalsete LED -idega LED -ribade kogum (WS2812b "Neopixels"). Need võimaldavad nende vahel animatsioone teha ilma neid ühendamata. Nad kasutavad üksteisega ühenduse loomiseks WiFi -võrku ja animatsioon kohaneb sellega, et võrgus on enam -vähem ribad.

Inspiratsiooniks oli see, et paar trummide erialapaari oleksid jõululava paraadiks kaunistanud nuudlid/taktid. Nende vahel olev LED -animatsioon sünkroonitakse. LEDid võivad olla ka ribade asemel kiud.

Teine kasutusala on LED -kunstiinstallatsioon, kus te ei soovi juhtmestikku toa kõigi valgusdioodide vahel juhtida - kõik, mida nad peavad tegema, on eraldi ühendada.

Selle projekti jaoks pole nad Internetiga ühendatud. Nad seadistasid oma privaatsed WiFi -pöörduspunktid ja veebiserverid. Niisiis, see projekt ei sõltu välistest võrkudest ja võib töötada ka kaugetes kohtades. Need töötavad 5 V toiteallikaga, nii et neid saab hõlpsasti toita väliste mobiiltelefoni patareidega!

Samm: osad

Osad
Osad
Osad
Osad
Osad
Osad

Projektis kasutati iga riba jaoks järgmisi osi:

  • Mitteveekindel WS2812b LED-riba. Kasutasin 30 LED/meeter. Mitte-veekindlatel on tavaliselt kahepoolne teip juba kinnitatud, nii et neid on lihtne paigaldada. Kanali jaoks on vaja 1 meetrit, kuna kanalid on meetri pikkused. Rohkem LED -e meetri kohta on hea - lihtsalt veenduge, et saaksite vastavalt suure toiteallika. Iga (5050) LED nendes ribades võib täielikult sisselülitatuna kasutada kuni 60 mA.
  • Plastikust elektrooniline projektikorpus 60x36x25mm - see on piisavalt väike, et mahutada D1 Mini.
  • Paneelikinnitus 5,5 mm x 2,1 mm alalisvoolu pesa
  • 5 -voldine toiteallikas - 2 -amprine peaks olema korras, 30 LED -i @ 0,06 amprit, kui see on täis.
  • USB kuni 5,5 mm x 2,1 mm kaabel, kui soovite seda projekti toita USB -patareist
  • D1 Mini ESP8266 plaat - saadaval ka odavamalt, kuid pikema ootamisega.
  • Alumiiniumkanal kaane ja otsakorgiga LED -ribade jaoks. Valikus on palju profiile. See on piisavalt lai WS2812b LED -ribade jaoks (12 mm) ja madala profiiliga.
  • Alumiiniumvarras - kanal on laiusega 17 mm, seega on 1/2 "laiune alumiiniumvarras hea suurusega. See peaks olema 1/16 tolli paks ja 6 tolli pikk iga tehtud kangi kohta.
  • Kahepoolne vahtlint - 1/2 tolli lai.
  • 1000uF kondensaator - soovitatav iga riba jaoks, et vältida pinge naastude kahjustamist.
  • Ühendusjuhe. See 26 -meetrine silikoontraat on väga paindlik ja hoiab ära traadi jootmispatjade tõmbamise LED -ribalt. Samuti ei sula see jootekolbiga puudutades. Olen kasutanud ka servotraati, mis on ka väga paindlik, kuid silikoontraat on minu uus lemmikjuht. Teil on vaja ainult kuni 6 tolli iga värvi (punane, must, kollane).
  • Jumper juhtmed - emast punast, musta ja kollast kasutatakse protsessoriga ühendamiseks. Kui olete kindel, võite need vahele jätta ja ühendamisjuhtme otse plaadile joota.
  • 330 oomi takisti, mis vähendab müra LED -riba andmeliinis.
  • 1N4448 signaaldiood või muu sarnane, mis võimaldab 3,3 V protsessoril usaldusväärselt juhtida 5 V LED -riba.
  • 3 mm termokahanevad torud - vajate seda ainult umbes 5 tolli.

2. samm: ehitage ribad

Ehita baarid
Ehita baarid
Ehita baarid
Ehita baarid
Ehita baarid
Ehita baarid
Ehita baarid
Ehita baarid

Baaride ehitus on sama, mis selles eelmises juhendis. Siin on sarnaseid samm-sammult pilte hiljutisest ehitamisest ja arutelu leiate selle teise Instructable'i kohta.

Üks uus näpunäide valgusdioodide alumiiniumkanali külge kinnitamiseks: Mõnikord on LED-ribade kahepoolne teip veidi lühem kui LED-trükkplaat ja näete LED-ribal kerget luku. Kui lõikate lindi selles kohas lihtsalt maha, jääb see lamedaks.

Ma kasutasin ka mõnda tilka UV -liimi toitejuhtme ja LED -riba mis tahes osade lukustamiseks, mis ei jäänud alla.

Particle Photon kontrollerite asemel kasutati selles projektis WeMos D1 Mini plaate, mis põhinevad kiibikomplektil ESP8266. Need on LED -projekti jaoks toredad ja väikesed. Kasutasin naissoost hüppajate jaoks ruumi, kasutasin isaseid päiseid. Pistikute ümberpööramine ei sobi korpusesse. Seda lähenemist on ka lihtne joota. Olen kasutanud ka 20 -mõõtmelist tahket südamikutraati, mis on kruvitud naissoost pistikutega, ja see töötab ka, kuid nõuab rohkem pingutusi.

Need ribad kasutavad esimese LED -i jaoks sama ohverdatud LED -lähenemist. Praktikas pole see tõesti märgatav. Samuti on kahe esimese vaheline väike vahe peaaegu märkamatu

Kui kavatsete kasutada klambreid alumiiniumkanali paigaldamiseks, võib kanalit projektikarbiga ühendav alumiiniumvarras takistada klambrite otse seinale kinnitamist, seega peate võib -olla mõne seibi või lahtise mutri alla panema. seal, et neid 1/16 tolli kaugusel hoida.

3. samm: võrgusilma kood

Image
Image
Võrgukood
Võrgukood

Kõik LED -ribad töötavad sama koodi. Selle projekti aluseks on valutuMeshi raamatukogu aadressil https://gitlab.com/BlackEdder/painlessMesh. See teek tegeleb enamiku madalatasemelise tööga juurdepääsupunktide, veebiserverite jms loomisel. Iga riba on võrgusõlm.

Võrgusilmal on üks kontroller ja animatsiooni muutmise teated edastatakse kõigile sõlmedele/LED -ribadele. Suure võrgusilma puhul võib sõnumite saatmisel esineda latentsusaega, kuid minu töötava skaala puhul ei olnud see märgatav.

Käivitamisel eeldab sõlm, et see on kontroller, kuid seejärel käivitab sõnum muudetud sõlmed hinnangu. Kontrolleriks saab võrgusilma madalaim # kiibi ID. Tavaliselt kulub sekund või kaks, enne kui kõik sõlmed rahunevad ja eeldavad ühte kontrollerit. Võiksite rohkem vaeva näha, et kiiremini uuesti sünkroonida (animatsiooni keskel), kuid need muutusteated on üsna lobisevad, nii et võrgu sisseseadmiseks kulub natuke aega. Praktikas jäävad need uuesti sünkroonimisel väga tugevaks.

Ribasid ületavate animatsioonide puhul saab kood sõlmede loendi, sorteerib selle ja seejärel joonistab ainult siis, kui joonistatakse praegust sõlme. Need sorteeritakse kiipide id -järjekorras, nii et saate teha animatsioone, mis on järjepidevad, olenemata nende käivitamisest. Samuti kohanduvad animatsioonid mahakantavate sõlmedega.

Animatsioonikood kuvatakse kolmes kohas. Esimene neist on funktsioon ReceiveCallback, kus riba on saanud uue animatsioonikäsu. See on üsna lihtne - lihtsalt määrab animatsiooni ajastamissammu suuruse ja lähtestab loendurid. Teine koht on silmusfunktsioonis. Seal kontrollib kood, kas praegune animatsioon on tehtud, ja liigub järgmise sammu juurde. Animatsioonikoodi viimane koht on funktsioon stepAnimation, kus kõik joonistused tehakse.

Süsteem kasutab värskendamiseks millimeetrit - vältides viivitusfunktsiooni kasutamist, kuna see blokeerib mõned teegid. Millikood peaks õigesti ümber liikuma.

Pange tähele, et mul oli probleeme NeoPixeli raamatukoguga ja valutuMeshiga, millel oli rohkem kui üks LED, nii et läksin üle FastLED -ile.

Siin on kood GitHibis ja see on ka siia lisatud. Laadite selle peaaegu kõikidele ribadele ja olete valmis LED -animatsiooni kodeerimiseks!

Soovitan: