![LightMeUp! isang Realtime Cross-platformed LED Strip Control: 5 Hakbang (na may Mga Larawan) LightMeUp! isang Realtime Cross-platformed LED Strip Control: 5 Hakbang (na may Mga Larawan)](https://i.howwhatproduce.com/images/006/image-16429-j.webp)
Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:12
![LightMeUp! isang Realtime Cross-platform na LED Strip Control LightMeUp! isang Realtime Cross-platform na LED Strip Control](https://i.howwhatproduce.com/images/006/image-16429-1-j.webp)
![LightMeUp! isang Realtime Cross-platform na LED Strip Control LightMeUp! isang Realtime Cross-platform na LED Strip Control](https://i.howwhatproduce.com/images/006/image-16429-2-j.webp)
![LightMeUp! isang Realtime Cross-platform na LED Strip Control LightMeUp! isang Realtime Cross-platform na LED Strip Control](https://i.howwhatproduce.com/images/006/image-16429-3-j.webp)
LightMeUp! ay isang sistema na naimbento ko para sa pagkontrol ng isang RGB LED-Strip sa realtime, habang pinapanatili ang gastos na mababa at mataas ang pagganap.
Ang server ay nakasulat sa Node.js at dahil doon ay cross-platformable.
Sa aking halimbawa, gumagamit ako ng isang Raspberry Pi 3B para sa pangmatagalang paggamit, ngunit ang aking Windows PC para sa sakes ng pagpapakita at pag-debug.
Ang 4pin-strip ay kinokontrol ng isang Arduino Nano type-board, na nagpapatupad ng mga seryal na binigyan ng mga utos upang magpadala ng mga signal ng PWM sa tatlong transistors na pinalilipat ang + 12VDC sa kaukulang color-pin ng strip.
Ang LightMeUp! Sinusuri din ng system ang sarili nitong temperatura, sa sandaling nasa itaas ng 60 ° C (140 ° F) lumiliko ito sa dalawang 12VDC computer fan na itinayo sa pambalot, upang palamigin ang sarili nito upang mapagbuti ang buhay ng circuit.
Isa pang tampok ng LightMeUp! ay upang magaan ang ilaw ng isang Bombay-Sapphire Gin na bote, ngunit hindi iyon ang pokus ng Instructable na ito.
Masayang magbasa:)
Mga gamit
- Arduino Nano (o anumang iba pang ATmega328 / mas mataas na nakabatay sa microcontroller)
- Raspberry Pi 3 Model B na may naka-install na Node.js (o anumang iba pang computer)
- 12V RGB 4-Pin LED strip
- 12V 3A Power supply
- Mga jumper cable (lalaki-lalaki kung gumagamit ka ng isang pisara, syempre)
- Breadboard (opsyonal)
- 2 12V DC computer fan (opsyonal)
- 3x TIP120 Darlington Transistor w / heatsink (4 kung nais mong isama ang mga cool na tagahanga)
- 2 katayuan LEDs pula at berde (opsyonal)
- 6, 7K NTC temperatura-based risistor + 6, 7K risistor (opsyonal)
- USB-Mini hanggang USB 2.0 data cable (para sa Raspberry Pi upang makipag-usap sa Arduino)
- Pinapagagana ng USB-Hub na panlabas (opsyonal, para lamang sa Raspberry Pi)
Hakbang 1: Maunawaan ang Sistema
![Maunawaan ang Sistema Maunawaan ang Sistema](https://i.howwhatproduce.com/images/006/image-16429-4-j.webp)
LightMeUp! ay batay sa napaka-simpleng electronic circuitry.
Mayroon kaming ilang uri ng computer (sa kasong ito isang Raspberry Pi) na nakikipag-usap nang serial sa aming board ng microcontroller. Ang board na ito pagkatapos ay nagpapatupad ng mga tiyak na serial command tulad ng "RGB (255, 255, 255)" na magpaputi ng aming LED-Strip.
Sa sandaling nakuha namin ang aming tatlong mga halaga para sa RED, GREEN at BLUE kinakailangan para sa aming 4pin LED-Strip ay isinasagawa namin ang analogWrite (pin, halaga) upang maibigay ang aming TIP120 transistor na may isang signal na PWM.
Pinapayagan ng signal ng PWM na ito ang transistor na ilipat ang kaukulang pin na kulay ng kolektor na ito ay konektado sa lupa, sa isang tukoy na degree o ganap na on / off. Oo, maraming "to" s:)
Sa pamamagitan ng paghahalo ng tatlong mga output ng transistors sa mga pin na kulay ng mga LED strips maaari kaming lumikha ng anumang anumang kulay na gusto namin!
Ngayon sa pag-unawang ito, maaari naming atake ang pinakamalaking hamon ng proyektong ito, ang websocketserver at ang serial na koneksyon sa aming Arduino.
Hakbang 2: Pagsulat ng WebSocketServer
![Pagsusulat ng WebSocketServer Pagsusulat ng WebSocketServer](https://i.howwhatproduce.com/images/006/image-16429-5-j.webp)
Ngayon, kailangan naming lumikha ng isang tukoy na uri ng webserver, na nagbibigay-daan sa amin upang ilipat ang data nang pabalik-balik nang hindi nagre-refresh ng isang beses upang makamit ang isang realtime LED strip control.
Mangyaring tandaan, na ang realtime na komunikasyon ng kurso ay imposible, palaging may hindi makakakuha ng ilang miliseconds ng pagkaantala na kasangkot, ngunit sa mata ng tao ito ay malaki bilang realtime.
Madali itong makakamtan sa pamamagitan ng paggamit ng socket.io library kung gagamitin mo ang Node.js tulad ng ginawa ko. Gayunpaman, maaari kang laging manatili sa iyong paboritong wika sa pagprograma, syempre.
Makikipag-usap kami sa isang koneksyon sa websocket na nagbibigay-daan sa amin upang maglipat ng data ng pag-input tulad ng kung aling kulay ang nais mong itakda ang LED-strip, o ang data ng katayuan tulad ng "LED ON" na bidirectionally nang hindi nagre-refresh.
Ang isa pang napakahalagang tampok na dapat magkaroon ang server ngunit hindi kailangan ay isang simpleng pag-login. Ibinatay ko ang aking pag-login sa isang simpleng patlang ng username at password. Ang mga piraso ng impormasyon na ito ay nai-post sa / ruta ng pag-login ng server, na ihinahambing ang username sa isang listahan ng mga gumagamit (.txt file) at ang kaukulang password sa SHA256 na naka-encrypt na form. Hindi mo nais na guluhin ng iyong mga kapitbahay ang iyong LED strip habang nasisiyahan ka sa iyong paboritong inumin sa iyong pinaka komportableng upuan, tama ba?
Dumarating ngayon ang puso ng server, ang serial na komunikasyon.
Dapat na makapag-usap ng serial ang iyong server - sa Node.js maaari itong makamit sa pamamagitan ng pagbubukas ng isang port gamit ang "serialport" na aklatan. Ngunit tukuyin muna ang pangalan ng iyong arduino port sa iyong computer na nagho-host sa server. Nakasalalay sa iyong operating system, ang mga port ay magkakaiba ang mga pangalan, a.e. sa Windows ang mga port na ito ay pinangalanang "COMx" port, habang sa linux pinangalanan silang "/ dev / ttyUSBx", kung saan x ang bilang ng USB port.
Hakbang 3: Magtaguyod ng isang Protocol ng Mga Serial Command
![Magtatag ng isang Protocol ng Serial Command Magtatag ng isang Protocol ng Serial Command](https://i.howwhatproduce.com/images/006/image-16429-6-j.webp)
Sa larawan sa itaas, nakikita mo ang aktwal na Arduino IDE code na responsable para sa kontrol ng RGB. Layunin ng hakbang na ito ay, upang matagumpay na makausap ang bawat nakasulat na server at Arduino board.
Kapag nabuksan mo nang matagumpay ang iyong serial port, kailangan mong makapagpadala ng mga utos sa board na nangangalaga sa iyong mga kagustuhan. Halimbawa, kung gumuhit kami ng isang daliri sa itaas ng tagapili ng kulay sa HTML webpage, dapat ipadala ang RGB code sa server na pagkatapos ay ipadala ito sa iyong Arduino kaya pinoproseso nito ang mga itinakdang halaga.
Gumamit ako ng jscolor, mayroon silang mahusay na pagpapatupad ng isang de-kalidad na elemento ng pagpili ng kulay, na nagmamay-ari ng isang kaganapan na tinatawag na "onFineChange" na hinahayaan ang iyong proseso ng data mula sa tagapili ng kulay sa sandaling ito ay nagbago ng halaga.
Inirerekumendang:
Digital Level na May Cross-Line Laser: 15 Hakbang (na may Mga Larawan)
![Digital Level na May Cross-Line Laser: 15 Hakbang (na may Mga Larawan) Digital Level na May Cross-Line Laser: 15 Hakbang (na may Mga Larawan)](https://i.howwhatproduce.com/images/001/image-1210-69-j.webp)
Antas ng Digital Sa Cross-Line Laser: Kumusta ang lahat, ngayon ipapakita ko sa iyo kung paano gumawa ng isang digital na antas na may opsyonal na integrated cross-line laser. Mga isang taon na ang nakaraan lumikha ako ng isang digital multi-tool. Habang ang tool na iyon ay nagtatampok ng maraming iba't ibang mga mode, para sa akin, ang pinakakaraniwan at usefu
Mga Simpleng LED Strip Lamp (I-upgrade ang Iyong Mga LED Strip): 4 na Hakbang (na may Mga Larawan)
![Mga Simpleng LED Strip Lamp (I-upgrade ang Iyong Mga LED Strip): 4 na Hakbang (na may Mga Larawan) Mga Simpleng LED Strip Lamp (I-upgrade ang Iyong Mga LED Strip): 4 na Hakbang (na may Mga Larawan)](https://i.howwhatproduce.com/images/006/image-15763-j.webp)
Mga Simpleng LED Strip Lamp (I-upgrade ang Iyong Mga LED Strip): Gumagamit ako ng mga LED strip nang medyo matagal na at palaging minamahal ang pagiging simple ng mga ito. Pinutol mo lang ang isang piraso ng isang papel, maghinang ng ilang mga wire dito, maglakip ng isang supply ng kuryente at mayroon kang isang mapagkukunan ng ilaw. Sa mga taon ay nakakita ako ng isang
ESP8266 RGB LED STRIP WIFI Control - NODEMCU Bilang isang IR Remote para sa Led Strip Controlled Over Wifi - RGB LED STRIP Smartphone Control: 4 Mga Hakbang
![ESP8266 RGB LED STRIP WIFI Control - NODEMCU Bilang isang IR Remote para sa Led Strip Controlled Over Wifi - RGB LED STRIP Smartphone Control: 4 Mga Hakbang ESP8266 RGB LED STRIP WIFI Control - NODEMCU Bilang isang IR Remote para sa Led Strip Controlled Over Wifi - RGB LED STRIP Smartphone Control: 4 Mga Hakbang](https://i.howwhatproduce.com/images/001/image-2218-28-j.webp)
ESP8266 RGB LED STRIP WIFI Control | NODEMCU Bilang isang IR Remote para sa Led Strip Controlled Over Wifi | RGB LED STRIP Smartphone Control: Kumusta mga tao sa tutorial na ito matututunan natin kung paano gamitin ang nodemcu o esp8266 bilang isang IR remote upang makontrol ang isang RGB LED strip at ang Nodemcu ay makokontrol ng smartphone sa paglipas ng wifi. Kaya karaniwang maaari mong makontrol ang RGB LED STRIP sa iyong smartphone
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: 17 Mga Hakbang (na may Mga Larawan)
![Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: 17 Mga Hakbang (na may Mga Larawan) Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: 17 Mga Hakbang (na may Mga Larawan)](https://i.howwhatproduce.com/images/001/image-2704-59-j.webp)
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: Ito ay sinadya bilang isang gabay sa sinumang paghihinang ng kanilang sariling Arduino mula sa isang kit, na maaaring mabili mula sa A2D Electronics. Naglalaman ito ng maraming mga tip at trick upang matagumpay itong mabuo. Malalaman mo rin ang tungkol sa kung ano ang lahat ng iba't ibang mga sangkap
Robo Blanket: Gantsilyo ang isang Kumot Gamit ang isang pattern ng Cross Stitch .: 3 Mga Hakbang (na may Mga Larawan)
![Robo Blanket: Gantsilyo ang isang Kumot Gamit ang isang pattern ng Cross Stitch .: 3 Mga Hakbang (na may Mga Larawan) Robo Blanket: Gantsilyo ang isang Kumot Gamit ang isang pattern ng Cross Stitch .: 3 Mga Hakbang (na may Mga Larawan)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10962034-robo-blanket-crochet-a-blanket-using-a-cross-stitch-pattern-3-steps-with-pictures-j.webp)
Robo Blanket: Gantsilyo ang isang Kumot Gamit ang isang pattern ng Cross Stitch .: Gusto ko ng crocheting. Ginagawa ko ito mula noong maliit pa ako. Ngunit kamakailan lamang natuklasan ko kung paano maggantsilyo ng mga larawan. Ngayon ipapakita ko sa iyo kung paano. Kakailanganin mo: Sinulid sa magkakaibang kulay. Isang pattern ng Cross Stitch Isang gantsilyo. (Ginamit ko ang laki H) Maaari kang makakuha ng mga cros