Talaan ng mga Nilalaman:

Mga WiFi Bar na Naka-synchronize na WiFi Mesh: 3 Hakbang (na may Mga Larawan)
Mga WiFi Bar na Naka-synchronize na WiFi Mesh: 3 Hakbang (na may Mga Larawan)

Video: Mga WiFi Bar na Naka-synchronize na WiFi Mesh: 3 Hakbang (na may Mga Larawan)

Video: Mga WiFi Bar na Naka-synchronize na WiFi Mesh: 3 Hakbang (na may Mga Larawan)
Video: Wifi 5mp ANBIUX камера видеонаблюдения ДЕШЕВАЯ НАДЕЖНАЯ которую ты давно искал 2024, Hulyo
Anonim
Image
Image
Ang Mga WiFi Bar na Naka-synchronize na WiFi Mesh
Ang Mga WiFi Bar na Naka-synchronize na WiFi Mesh
Mga WiFi Bar na Naka-synchronize na WiFi Mesh
Mga WiFi Bar na Naka-synchronize na WiFi Mesh
Mga WiFi Bar na Naka-synchronize na WiFi Mesh
Mga WiFi Bar na Naka-synchronize na WiFi Mesh

Sa pamamagitan ng CarlSTeleToylandFollow Higit pa ng may-akda:

Remote na Tagapili ng Kulay para sa mga LED ng Bahay
Remote na Tagapili ng Kulay para sa mga LED ng Bahay
Remote na Tagapili ng Kulay para sa mga LED ng Bahay
Remote na Tagapili ng Kulay para sa mga LED ng Bahay
Mga LEDs na Malawak na Sinkronon sa Kapwa
Mga LEDs na Malawak na Sinkronon sa Kapwa
Mga LEDs na Malawak na Sinasamang Kapitbahayan
Mga LEDs na Malawak na Sinasamang Kapitbahayan
Permanenteng Digital LED House Holiday Lighting V2
Permanenteng Digital LED House Holiday Lighting V2
Permanenteng Digital LED House Holiday Lighting V2
Permanenteng Digital LED House Holiday Lighting V2

Tungkol sa: Isang Tagagawa mula pagkabata kasama ang lahat ng mga klasikong sintomas, isang tagabuo ng robot, at isang software ng Internet na CTO / Tech Product Manager. Karagdagang Tungkol sa CarlS »

Ang proyektong ito ay isang koleksyon ng mga LED bar na may indibidwal na nakokontrol na digital LEDs (WS2812b "Neopixels"). Pinapayagan nilang gawin ang mga animasyon sa kanila nang hindi sila magkakasamang nag-kable. Gumagamit sila ng isang WiFi Mesh upang kumonekta sa bawat isa, at ang animation ay umangkop sa pagkakaroon ng higit pa o mas kaunting mga bar sa mesh.

Ang inspirasyon ay para sa isang pares ng mga majors ng drum na magpalamutian ng mga mace / baton para sa isang Christmas parade. Ang LED na animasyon sa pagitan ng mga ito ay na-synchronize. Ang mga LED ay maaari ring mga hibla sa halip na mga piraso.

Ang iba pang paggamit ay para sa isang pag-install ng LED art kung saan hindi mo nais na magpatakbo ng isang data wire sa pagitan ng lahat ng mga LEDS sa paligid ng isang silid - ang kailangan lang nilang gawin ay isaksak nang paisa-isa.

Para sa proyektong ito, hindi sila konektado sa Internet. Nag-set up sila ng kanilang sariling pribadong mga access point ng WiFi at mga web server. Kaya, ang proyektong ito ay hindi nakasalalay sa panlabas na networking, at maaaring tumakbo sa mga malalayong lokasyon. Tumatakbo ang mga ito sa 5v, kaya madaling mapapagana ng mga panlabas na baterya ng cell phone!

Hakbang 1: Mga Bahagi

Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi

Ang mga sumusunod na bahagi ay ginamit sa proyekto para sa bawat strip:

  • Isang non-waterproof WS2812b LED strip. Gumamit ako ng 30 LEDs / meter. Ang mga di-hindi tinatagusan ng tubig ay karaniwang may dobleng panig na nakakabit na sa kanila upang madali silang mai-mount. Kakailanganin mo ng 1 metro bawat channel dahil ang mga channel ay isang metro ang haba. Mas maraming mga LED bawat metro ay mabuti - siguraduhin lamang na makakuha ng isang kaukulang malaking suplay ng kuryente. Ang bawat (5050) LED sa mga strip na ito ay maaaring gumamit ng hanggang sa 60ma kapag ganap na nakabukas.
  • Ang enclosure ng plastik na proyekto ng elektronikong 60x36x25mm - ang isang ito ay sapat na maliit upang magkaroon ng D1 Mini.
  • Ang isang panel mount ng 5.5mm x 2.1mm DC jack

  • Ang isang 5v power supply - isang 2 amp ang isa ay dapat na pagmultahin na may 30 LEDS @ 0.06 amp bawat isa kapag puno na.
  • Isang USB hanggang 5.5mm x 2.1mm cable kung nais mong paganahin ang proyektong ito mula sa isang USB baterya
  • Isang board ng D1 Mini ESP8266 - magagamit din para sa mas kaunti, ngunit may mas mahabang paghihintay.
  • Ang channel ng aluminyo na may takip at takip na mga takip para sa LED strips. Mayroong maraming mga profile upang pumili mula sa. Ang isang ito ay sapat na lapad para sa WS2812b LED strips (12mm), at mababang profile.
  • Aluminium bar - ang channel ay 17mm ang lapad, kaya ang isang 1/2 "lapad na aluminyo bar ay isang mahusay na sukat. Dapat ay 1/16" makapal at 6 "ang haba para sa bawat bar na iyong ginawa.
  • Double sided foam tape - 1/2 "ang lapad.
  • 1000uF capacitor - inirerekomenda para sa bawat strip, upang makatulong na maiwasan ang boltahe na mga spike mula sa pinsala sa mga LED.
  • Hookup wire. Ang 26 gauge silicone wire na ito ay napaka-kakayahang umangkop at tumutulong na panatilihin ang kawad mula sa paghila ng mga soldering pad mula sa LED strip. Hindi rin ito natutunaw kapag hinawakan mo ito sa soldering iron. Gumamit din ako ng servo wire na kung saan ay masyadong nababaluktot, ngunit ang silicone wire ay ang aking bagong paboritong wire. Kakailanganin mo lamang ang abot 6 "ng bawat kulay (pula, itim, dilaw).
  • Jumper wires - ang babaeng pula, itim, at dilaw ay ginagamit upang kumonekta sa CPU. Maaari mong laktawan ang mga ito at solder ang hookup wire nang direkta sa board kung ikaw ang may kumpiyansa na pag-uuri.
  • Isang 330 ohm risistor upang mabawasan ang ingay sa linya ng data ng LED strip.
  • Ang isang 1N4448 Signal Diode o katulad upang payagan ang 3.3v processor na mapagkakatiwalaan na himukin ang 5v LED strip.
  • 3mm heat shrink tubing - kakailanganin mo lamang ang tungkol sa 5 "nito.

Hakbang 2: Buuin ang mga Bar

Buuin ang mga Bar
Buuin ang mga Bar
Buuin ang mga Bar
Buuin ang mga Bar
Buuin ang mga Bar
Buuin ang mga Bar
Buuin ang mga Bar
Buuin ang mga Bar

Ang konstruksyon para sa mga bar ay pareho sa nakaraang Instructable na ito. Mayroong mga katulad na sunud-sunod na larawan dito mula sa isang kamakailang pagbuo, at ang talakayan ay matatagpuan sa iba pang maituturo.

Isang bagong tip sa pagdikit ng mga LED hanggang sa channel ng aluminyo: Minsan ang dobleng panig na tape sa mga LED strip ay bahagyang mas maikli kaysa sa LED circuit board at makikita mo ang isang bahagyang buckle sa LED strip. Kung i-cut mo lang ang tape sa lokasyon na iyon, mahiga itong mahiga.

Gumamit din ako ng ilang patak ng pandikit UV upang i-lock ang wire ng kuryente at anumang mga bahagi ng LED strip na hindi tumigil.

Sa halip na mga tagakontrol ng Particle Photon, ginamit ng proyektong ito ang ginamit na mga board ng WeMos D1 Mini, batay sa hanay ng chip na ESP8266. Ang mga ito ay maganda at maliit para sa isang proyekto sa LED. Gumamit ako ng mga lalaking header upang bigyan ng silid ang mga babaeng jumper. Ang pagbaliktad sa mga konektor ay hindi magkakasya sa enclosure. Ang pamamaraang ito ay madali ring maghinang. Gumamit din ako ng 20 gauge solid core wire na may crimped sa mga babaeng konektor, at gagana rin iyon, ngunit mas maraming pagsisikap.

Ang mga bar na ito ay gumagamit ng parehong sakripisyo na LED na diskarte para sa unang LED. Sa pagsasagawa, talagang hindi ito kapansin-pansin. Gayundin, ang bahagyang agwat sa pagitan ng unang dalawa ay halos hindi rin mapansin

Kung balak mong gamitin ang mga clip upang mai-mount ang aluminyo channel, ang aluminyo bar na kumukonekta sa channel sa kahon ng proyekto ay maaaring hadlangan para sa direktang pag-mount ng mga clip sa isang pader, kaya maaaring kailanganin mong maglagay ng ilang mga washer o isang maluwag na kulay ng nuwes sa ilalim ng doon upang tumayo sa kanila ng 1/16.

Hakbang 3: Mesh Code

Image
Image
Mesh Code
Mesh Code

Ang bawat isa sa mga LED bar ay nagpapatakbo ng parehong code. Ang batayan ng proyektong ito ay ang painlessMesh Library sa https://gitlab.com/BlackEdder/p stainlessMesh. Hinahawakan ng library na iyon ang karamihan sa mababang antas ng trabaho ng pagtataguyod ng Mga Punto ng Pag-access, Mga Web Server atbp. Ang bawat bar ay isang node node.

Ang mesh ay may isang controller, at ang mga abiso sa pagbabago ng animation ay nai-broadcast sa lahat ng mga node / LED bar. Para sa isang malaking mata, maaaring mayroong ilang latency sa pagmemensahe, ngunit para sa iskala na nagtatrabaho ako, hindi ito kapansin-pansin.

Sa pagsisimula, ipinapalagay ng node na ito ang tagakontrol, ngunit pagkatapos ang mensahe na binagoNodes ay nagpapalitaw ng isang pagsusuri. Ang pinakamababang # chip id sa mesh ay nagiging Controller. Karaniwan itong tumatagal ng isang segundo o dalawa para sa lahat ng mga node upang tumira at ipalagay ang isang solong tagakontrol. Maaari kang maglagay ng mas maraming pagsisikap sa muling pag-syncing ng mas mabilis (mid-animasyon), ngunit ang mga mensahe ng pagbabago ay medyo masalita, kaya't tumatagal ng kaunti para sa network na tumira pa rin. Sa pagsasagawa, sa sandaling muling magkasabay, mananatili silang masyadong matatag.

Para sa mga animasyon na tumatawid sa mga bar, nakakakuha ang code ng isang listahan ng mga node, pinagsasama ito, pagkatapos ay iginuhit lamang kung ang kasalukuyang node ay ang isang iginuhit. Pinagsunod-sunod ang mga ito sa pagkakasunud-sunod ng chip id, kaya maaari kang gumawa ng mga animation na magiging pare-pareho, hindi mahalaga kung kailan sila magsisimulang. Gayundin, ang mga animasyon ay babagay sa mga node na nalaglag.

Lumilitaw ang anim na code sa tatlong mga lugar. Ang una ay ang natanggap na function na Callback, kung saan ang bar ay nakatanggap ng isang bagong utos ng animasyon. Ito ay medyo simple - itinakda lamang ang laki ng hakbang sa tiyempo para sa animasyon at i-reset ang mga counter. Ang pangalawang lugar ay nasa pagpapaandar ng loop. Sa doon, susuriin ng code upang makita kung ang kasalukuyang animation ay tapos na, at lumipat sa susunod na hakbang. Ang pangwakas na lugar para sa code ng animasyon ay ang pagpapaandar ng stepAnimation, kung saan tapos na ang lahat ng pagguhit.

Gumagamit ang system ng timer ng millis upang mag-update - pag-iwas sa paggamit ng pagpapaandar na pagpapaandar dahil hinaharangan nito ang ilan sa mga aklatan. Ang millis code ay dapat na i-rollover nang tama.

Tandaan na mayroon akong mga isyu sa NeoPixel library at painlessMesh na may higit sa isang LED, kaya lumipat ako sa FastLED.

Narito ang code sa GitHib, at nakalakip din dito. Halos nai-load mo ito sa lahat ng mga bar at handa ka nang mag-LED animation coding!

Inirerekumendang: