Orodha ya maudhui:

LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa kwa wakati halisi: Hatua 5 (na Picha)
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa kwa wakati halisi: Hatua 5 (na Picha)

Video: LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa kwa wakati halisi: Hatua 5 (na Picha)

Video: LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa kwa wakati halisi: Hatua 5 (na Picha)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Julai
Anonim
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa wakati wa kweli
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa wakati wa kweli
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa wakati wa kweli
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa wakati wa kweli
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa wakati wa kweli
LightMeUp! Udhibiti wa Ukanda wa LED uliyowekwa wakati wa kweli

LightMeUp! ni mfumo ambao nimebuni kudhibiti RGB LED-Strip kwa wakati halisi, wakati kuweka gharama ndogo na utendaji kuwa juu.

Seva imeandikwa katika Node.js na kwa hivyo inaweza kusonga mbele.

Katika mfano wangu, ninatumia Raspberry Pi 3B kwa matumizi ya muda mrefu, lakini Windows PC yangu kwa sababu ya maandamano na utatuzi.

Ukanda wa 4pin unadhibitiwa na bodi ya aina ya Arduino Nano, ambayo hufanya amri zilizopewa mfululizo kutuma ishara za PWM kwa transistors tatu zinazobadilisha + 12VDC kwenye pini ya rangi inayolingana ya ukanda.

LightMeUp! mfumo pia huangalia ni joto lake mwenyewe, mara tu ikiwa juu ya 60 ° C (140 ° F) inageuka mashabiki wawili wa kompyuta 12VDC iliyojengwa ndani ya kabati, ili kujipoza ili kuboresha maisha ya mzunguko.

Kipengele kingine cha LightMeUp! ni kuangazia Bombay-Sapphire Gin chupa, lakini hiyo sio lengo la hii inayoweza kufundishwa.

Furahiya kusoma:)

Vifaa

  • Arduino Nano (au mdhibiti mwingine yeyote wa ATmega328 / wa juu zaidi)
  • Mfano wa Raspberry Pi 3 B na Node.js imewekwa (au kompyuta nyingine yoyote)
  • Kamba ya LED ya 12V RGB 4-Pin
  • 12V 3A Usambazaji wa umeme
  • Kamba za jumper (kiume-kiume ikiwa unatumia ubao wa mkate, kwa kweli)
  • Bodi ya mkate (hiari)
  • Mashabiki wa kompyuta 2 12V DC (hiari)
  • 3x TIP120 Darlington Transistor w / heatsink (4 ikiwa unataka kujumuisha mashabiki wa baridi)
  • LED mbili za hadhi nyekundu na kijani kibichi (hiari)
  • 6, 7K NTC-msingi resistor joto + 6, 7K resistor (hiari)
  • USB-Mini kwa kebo ya data ya USB 2.0 (kwa Raspberry Pi kuwasiliana na Arduino)
  • USB-Hub ya nje (hiari, tu kwa Raspberry Pi)

Hatua ya 1: Elewa Mfumo

Kuelewa Mfumo
Kuelewa Mfumo

LightMeUp! inategemea mzunguko rahisi sana wa elektroniki.

Tunayo kompyuta ya aina fulani (katika kesi hii Raspberry Pi) ambayo inawasiliana mfululizo na bodi yetu ya microcontroller. Bodi hii kisha hufanya amri maalum za serial kama "RGB (255, 255, 255)" ambayo ingegeuza Ukanda wetu wa LED kuwa mweupe.

Mara tu tukipata maadili yetu matatu ya RED, GREEN na BLUE muhimu kwa 4pin LED-Strip yetu tunafanya AnalogWrite (pini, thamani) ili kusambaza transistor yetu ya TIP120 na ishara ya PWM.

Ishara hii ya PWM inaruhusu transistor kubadili pini inayofanana ya rangi mtoza ameunganishwa ardhini, kwa kiwango fulani au kuzima kabisa / kuzima. Ndio, mengi ya "kwa" s:)

Kwa kuchanganya mazao matatu ya transistors kwenye pini za rangi za LED tunaweza kuunda rangi yoyote tunayotaka!

Sasa kwa uelewa huu, tunaweza kushambulia changamoto kubwa ya mradi huu, websocketserver na unganisho lake la serial kwa Arduino yetu.

Hatua ya 2: Kuandika WebSocketServer

Kuandika WebSocketServer
Kuandika WebSocketServer

Sasa, lazima tuunde aina maalum ya seva ya wavuti, ambayo inatuwezesha kuhamisha data kurudi na kurudi bila kuburudisha mara moja ili kufikia udhibiti wa ukanda wa LED wa wakati halisi.

Tafadhali kumbuka, mawasiliano ya wakati wa kweli hayawezekani, siku zote kutakuwa na angalau milisecond chache za ucheleweshaji unaohusika, lakini kwa jicho la mwanadamu ni muhimu kama wakati halisi.

Hii inaweza kupatikana kwa urahisi kwa kutumia maktaba ya socket.io ikiwa unatumia Node.js kama nilivyofanya. Walakini, unaweza daima kushikamana na lugha unayopenda ya programu, kwa kweli.

Tutashughulika na unganisho la wavuti ambalo linaturuhusu kuhamisha data ya kuingiza kama rangi ambayo unataka kuweka kipande cha LED, au data ya hali kama "LED ON" pande mbili bila kuburudisha.

Kipengele kingine muhimu sana seva inapaswa kuwa nayo lakini haiitaji ni kuingia rahisi. Nilitegemea kuingia kwangu kwa jina rahisi la mtumiaji na nywila. Vipande hivi vya habari huwekwa kwenye njia ya / ya kuingia ya seva, ambayo inalinganisha jina la mtumiaji na orodha ya watumiaji (faili ya.txt) na nywila yake inayofanana katika fomu yake iliyosimbwa SHA256. Hutaki majirani zako wachafuke na ukanda wako wa LED wakati unafurahiya kinywaji chako unachokipenda kwenye kiti chako cha starehe, sivyo?

Sasa inakuja moyo wa seva, mawasiliano ya serial.

Seva yako lazima iweze kuwasiliana mfululizo - katika Node.js hii inaweza kupatikana kwa kufungua bandari kwa kutumia maktaba ya "serialport". Lakini kwanza amua jina la bandari yako ya arduino kwenye kompyuta yako inayohifadhi seva. Kulingana na mfumo wako wa uendeshaji, bandari zitakuwa na majina tofauti, a.e. kwenye Windows bandari hizi zinaitwa bandari za "COMx", wakati kwenye linux zinaitwa "/ dev / ttyUSBx", ambapo x ni idadi ya bandari ya USB.

Hatua ya 3: Anzisha Itifaki ya Amri Serial

Anzisha Itifaki ya Amri Kuu
Anzisha Itifaki ya Amri Kuu

Katika picha hapo juu, unaona nambari halisi ya Arduino IDE inayohusika na udhibiti wa RGB. Lengo la hatua hii ni, kufanya seva yako iliyoandikwa na bodi ya Arduino wazungumze kwa mafanikio.

Mara baada ya kufungua bandari yako ya serial kwa mafanikio, unahitaji kuwa na uwezo wa kutuma amri kwa bodi ambayo inachukua matakwa yako. Kwa mfano, ikiwa tunachora kidole juu ya kichagua rangi kwenye ukurasa wa wavuti wa HTML, nambari ya RGB inapaswa kutumwa kwa seva ambayo huipeleka kwa Arduino yako kwa hivyo inashughulikia maadili yaliyowekwa.

Nilitumia jscolor, wana utekelezaji mzuri wa kipengee cha kuokota rangi cha hali ya juu, ambacho kinamiliki hafla inayoitwa "onFineChange" ambayo inaruhusu data yako ya mchakato kutoka kwa kichagua rangi mara tu maadili yatakapobadilika.

Ilipendekeza: