Lumini de Crăciun computerizate (partea I – hardware)

Proiect lumini de Craciun computerizate - HobbytronicaBine te-am găsit !

Atunci când vine vorba de Sărbătorile de Iarnă, unii oameni rămân doar nişte copii mari iar eu sunt un astfel de om. De mic copil înnebuneam de plăcere când venea vremea împodobirii bradului de Crăciun şi cădeam într-o depresie de câteva zile atunci când trebuia să-l demontăm. Când am mai crescut şi am început a înţelege câte ceva despre electronică am început să construiesc instalaţii ceva mai complexe. Aşa că de la “tradiţionala” şi banala “instalaţie de pom” am ajuns să construiesc montaje electronice care controlau ghirlande luminoase instalate prin copacii de prin curte. Din păcate principiile de funcţionare ale acelor instalaţii nu permiteau decât configuraţii simple de jocuri de lumini şi nu erau deloc versatile (anul următor dacă voiam să folosesc aceleaşi echipamente pentru a crea un joc de lumini diferit, nu aveam acum, trebuia să refac totul de la zero – alţi bani, altă distracţie). Însă din fericite anul acesta am descoperit o modalitate simplă şi versatilă de a comanda blocuri de lumini de Crăciun cu ajutorul calculatorului. Mai mult, o instalaţie de lumini de Crăciun realizată prin această metodă permite sincronizarea jocului de lumini cu diverse piese muzicale, sporind astfel efectul artistic final.

În rândurile de mai jos voi expune modul în care am realizat o astfel de instalaţie. Înainte de toate, reamintesc că acest proiect intenţionează a fi unul foarte versatil. Asta înseamnă că dacă vei urmări cu atenţie cele prezentate în continuare, vei putea să modifici singur acest proiect astfel încat acesta să corespundă 100% nevoilor tale. Descrierea proiectului cuprinde doua parti: prima se ocupa mai mult cu partea hardware iar cea dea doua este rezervata cu pracadere partii software.

  • Lumini de Crăciun computerizate – descriere generală;
  • Funcţionarea şi realizarea modulului driver;
  • Interconectarea modulului Arduino Uno cu Vixen Lights;
  • Interconectarea modulului Arduino Uno cu Modulul Driver;
  • Crearea unei scene.
Lumini de Craciun computerizate – descriere generală

Înainte de a trece mai departe vreau să menţionez că orice instalaţie de lumini de Crăciun este (printre altele) caracterizată de numărul de canale de ieşire, adică de numărul de ieşiri care pot fi comandate independent. De exemplu:

  • dacă avem o instalaţie cu un singur bec, vorbim de o instalaţie cu un singur canal;
  • dacă avem o instalaţie formată din două becuri legate pe aceleaşi fire de alimentare, atunci avem tot un canal pentru că becurile nu pot fi comandate (aprinse sau stinse) separat;
  • dacă însă avem o instalaţie formată din două becuri alimentate prin 2 trasee de alimentare diferite, atunci vorbim de o instalaţie cu 2 canale – fiecare bec poate fi aprins sau stins separat, indiferent de starea celuilalt.

Aşa cum probabil ai intuit deja, cu cât o instalaţie de lumini are un număr de canale mai mare, cu atât mai complexe pot fi efectele care pot fi create cu aceasta şi bineînţeles, cu atât mai complicat şi mai scump va fi de realizat :).

Cel puţin pentru începători, cuvântul “computerizat” se traduce de cele mai multe ori ca fiind “ceva prea complicat pentru mine”. Pentru a înţelege cât de simple sunt lucrurile în realitate hai să vorbim puţin despre schema bloc a acestui proiect (vezi figura 1).

Figura 1. Schema bloc proiect lumini de Craciun computerizate - Hobbytronica

Figura 1. Schema bloc a proiectului de lumini de Crăciun computerizate

În varianta “clasică” a luminilor de Crăciun, luminile sunt comandate de către un dispozitiv (numit controller) care este interpus între lumini şi ştecherul de alimentare. În cazul de faţă, “controller”-ul este împărţit în 3 module separate:

  • modulul software, reprezentat de soft-ul Vixen Lights instalat şi rulat pe un PC sau laptop obişnuit. Acest modul este cel care dictează în ce mod se aprind luminile noastre (reprezentate de steluţele şi brazii din figura 1).
  • modulul Arduino Uno, care este o placă prin care soft-ul Vixen Lights poate trimite semnale în afara PC-ului, în acelaşi mod prin care o placă de sunet “scoate” în afara PC-ului semnalele audio generate de Winamp, Aimp sau oricare alt program care generează “sunete”;
  • modulul driver este un modul care “bagă în priză” luminile în funcţie de semnalele trimise de soft-ul Vixen Lights prin modulul Arduino Uno. Necesitatea utilizării unui modul driver vine din faptul că cele mai multe surse de lumină folosite pentru decoraţiuni de Crăciun sunt alimentate de la reţeaua de 220Vca/50Hz, iar modulul Arduino Uno lucrează cu semnale mult mai mici (5Vcc). Aşadar, modulul driver preia semnale de 5V create de modulul Arduino Uno şi le transforma în semnale de 220Vca cu care luminile noastre pot funcţiona normal.

Am spus că prin cârnatul din figura 1, soft-ul Vixen Lights  ne permite să aprindem în orice mod luminile legate la ieşirea modulului driver. Însă aşa cum sugeram la început, asta nu e totul ! Cireaşa de pe tort este faptul că “coregrafia” jocului de lumini poate fi sincronizată cu diverse piese muzicale. Astfel, o instalaţie de lumini de Crăciun computerizată si sincronizată pe muzică are toate şansele să iasă din banalitate. Despre sincronizarea cu muzică vom vorbi puţin mai târziu. Deocamdată, pentru stimulare, hai să urmărim următorul exemplu:

Un alt exemplu, de aceasta dată “de interior” este prezentat în clip-ul de mai jos.

Principiul de funcţionare al instalaţiilor din clipurile de mai sus este foarte similare cu proiectul nostru, ceea ce înseamnă că principala diferenţă între ele este numărul de canale folosit şi implicit costul elementelor luminoase folosite. Cu alte cuvinte, schema bloc din figura 1 poate fi folosită pentru a obţine instalaţii de lumini de Crăciun care teoretic pot avea orice dimensiuni. În cadrul acestui proiect am considerat că cel mai bun compromis între gradul de complexitate, investiţiile financiale şi efectul este dat de următorul set de caracteristici:

  • număr maxim de canale: 18. Un număr mai mare ar necesita o placă de dezvoltate mai scumpă;
  • puterea comandată: >100W/canal;
  • elemente luminoase: orice fel de instalaţie de lumini de Crăciun (ghirlande luminoase, perdele luminoase, furtun luminos, stele luminoase etc.) care se alimentează de la 220V (alternativ sau continuu).

Acum că ştii cam în ce constă acest proiect, hai să-i recapitulăm principalele avantaje:

  • vei putea folosi modulul Arduino Uno şi la alte aplicaţii (despre care voi vorbi şi eu în articolele de anul viitor);
  • sistemul este foarte versatil – anul viitor vei putea sa realizezi alte efecte reutilizând tot echipamentul cumpărat/construit anul acesta.

La capitolul dezavantaje te las să te descurci singur :).

Funcţionarea şi realizarea modulului driver

Aşa cum spuneam mai sus, modulul driver trebuie să preia semnalele de joasă tensiune de la modulul Arduino Uno şi să aplice semnale de 220V către canalele de ieşire. Avand în vedere că alimentarea canalelor de ieşire se face de la reţeaua de 220V, modulul driver trebuie să asigure şi izolarea galvanică între intrări şi ieşiri astfel încât riscul electrocutării să fie eliminat. Pentru a îndeplini toate aceste condiţii, am desenat schema electrică din figura 2.

Figura 2. Schema electrica a modulului driver (pentru 1 canal de iesire) - Hobbytronica

 Figura 2. Schema electrică a modulului driver (pentru 1 canal de ieşire)

Izolarea electrică dintre partea de intrare şi cea de ieşire este asigurată de un optotriac IS6010 (OK1 din figura 2). LED-din interiorul optotriacului este comandat de către modulul Arduino Uno prin intermediul unei rezistenţe de 270 ohmi. În acest mod, curentul de comandă al optotriacului este limitat la 10 – 11 mA, valoare care conform datasheet-ului este suficientă pentru o funcţionare (amorsare) sigură. Dat fiind faptul că ieşirea acestui optotriac suportă curenţi inacceptabil de mici (maxim 100mA) a trebuit să adaug în schema un triac mai potent, adică BT131 (TR.1) care suportă până la 1A (adică ieşirea canalului respectiv poate oferi puteri de până la 220V x 1A = 220W). Curentul de comandă al triacului TR.1 este preluat direct de la alimentatea de 220V şi limitat de către rezistenţa de 1K. Schema completă pentru toate cele 18 canale de ieşire este prezentată aici. Spre deosebire de componentele care apar în figura 2, în schema completă am adăugat doi conectori pentru pini pentru a facilita conectarea modulului driver cu modulul Arduino Uno.

În figura 3 este prezentat layout-ul cablajului pentru modulul driver (în mărime naturală).

Figura 3. Layout-ul cablajului pentru modulul driver.

Figura 3. Layout-ul cablajului pentru modulul driver.

Încă nu am publicat vreo metodă de execuţie practică în regim de amator a cablajelor imprimate, însă dacă e să-ţi recomand una testată cu succes de mine, citeşte aici. Pentru a putea aplica acea metodă este nevoie de un desen la scară a layout-ului cablajului aşa că dacă vrei să realizezi acest modul ţi-am pregătit aici o arhivă cu toate fişierele necesare (toate desenele din pdf-urile incluse sunt la scara 1:1).

Componentele necesare pentru construcţia modulului driver precum şi preţul acestora sunt prezentate în lista de mai jos. Am luat ca referinţă magazinul on-line TME pentru că deşi are preţuri ceva mai mari are totuşi cea mai largă şi mai stabilă gamă de produse. Asta  înseamnă că în funcţie de cât de descurcăreţ eşti, cu puţin noroc, aceleaşi componente le poţi găsi mai ieftin în alte locuri.

Componentă Indicativ pe schemă Nr. buc. Link componentă Preţ/buc (+TVA)
Conectori de putere CON.ALIM, CON.1 – CON.18 19 TME 0.52 RON
Conectori de semnal SL1, SL2 2 TME 0.555 RON
Triac BT131 TR.1 – TR.18 18 TME 0.63 RON
Optotriac OK1 – OK18 18 TME 1.004 RON
Rezistenţă 270ohmi/0.25W R1, R3, R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27, R29, R31, R33 şi R35 18 TME 0.031 RON
Rezistenţă 1K/0.25W R2, R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26, R28, R30, R32, R34 şi R36 18 TME 0.031 RON
Dioda 1N4007 D1 1 TME 0.081
Suport siguranţă FUSE 1 1 TME 0.534 RON
Siguranţă 3A 1 TME 0.363 RON
Laminat cupru 100/160mm 1 TME 4.26 RON
Interconectarea modulului Arduino Uno cu Vixen Lights

La acest capitol nu este chiar foarte mult de spus. Avem nevoie de:

Componentă Rol Exemplu furnizor Nr. buc. Preţ/buc (cu tot cu TVA)
Placă Arduino Uno Decodificare semnale create de soft-ul Vixen Lights Robofun 1 107 RON
Fire conexiune Interconectare modul Arduino Uno cu modul driver Robofun 2 11 RON
Cablu USB imprimantă Interconectare PC/Laptop cu modul Arduino Uno Robofun 1 10 RON
Soft Vixen Lights Creare/rulare joc de lumini Se descarcă gratuit de aici.
Soft comunicaţie Arduino Uno – Vixen Lights  – Se decarcă gratuit de aici.
Interconectarea modulului Arduino Uno cu Modulul Driver

Corespondenţa dintre numărul unui canal şi pinul de la care poate fi preluat de pe modulul Arduino Uno a fost stabilită în soft-ul de comunicaţie Arduino Uno – Vixen Lights şi este prezentată în figura 4.

Figura 5. Configuratia iesirilor din modulul Arduino Uno - Hobbytronica

Figura 4. Corespondenţa dintre cele 18 canale şi pinii corespunzători de pe modulul Arduino Uno. Canalele sunt simbolizate cu numere negre.

În cazul în care nu era deja evident, în figura 5 este prezentată şi corespondenţa dintre pinii de intrare şi cei de ieşire ai modulului Driver. Intrarea de +5V (oricare din cele două) se conectează la pinul “5V” de pe modulul Arduino Uno.

Figura 6. Corespondenta dintre iesirile si intrarile Modului Driver - Hobbytronica

Figura 5. Corespondenţa dintre intrărire şi ieşirile Modulului Driver.

Crearea unei scene

În contextul proiectului în discuţie prin “scenă” înţelegem modul de amplasare a elementelor luminoase pe care dorim să le controlăm. În ultima versiune a softului Vixen (Vixen Lights 3) se oferă posibilitatea creării unei scene virtuale care permite vizualizarea jocului de lumini înainte de a-l realiza practic. Însă pentru simplitate, în acest proiect am ales să folosesc Vixen Lights 2 care din păcate nu are funcţia de creare a unei scene virtuale.

Neavând posibilitatea realizării unei scene virtuale, am desenat una  în care mi-am imaginat 18 elemente luminoase. Având în vedere geometria şi relieful avut la dispoziţie, scena imaginată de mine arată aşa ca în figura 6.

Figura 4. Configuratia scenei de lumini de Craciun computerizate - Hobbytronica

Figura 6. Configuraţia scenei de lumini de Crăciun computerizate

Pentru a şti ulterior cum să le identific atât în etapa de programare a jocului de lumini cât şi în etapa instalării scenei reale am atribuit fiecarui element luminos câte un:

  • nume care sugerează funcţia acelui element;
  • număr care arată la ce canal este conectat elementul respectiv.

După ce am stabilit cum va arăta scena de jocuri de lumini, trebuie să vedem din ce confecţionăm elementele luminoase. Exista multe variante care depind în principiu de creativitate şi de cât de multi bani eşti dispus să investeşti. Eu unul am ales urmatoarele variante:

  • “Brazii”– i-am confecţionat din câte o instalaţie de 8 metri cu 100 de led-uri multicolore, bobinată pe câte o piramidă triunghiulară confectionată din tije din lemn. Fiecare piramidă avea aproximativ 1 metru înălţime;
  • “Stelele” – au fost confecţionate din câte o instalaţie de 10 metri cu 140 de led-uri roşii, bobinată pe un cadru în formă hexagonală confecţionat tot din tije de lemn. Distanţa între două colţuri diametral opuse ale stelei a fost de circa 70 cm;
  • “Antenele” au fost reprezentate de câte o instalaţie de 10 metri cu 140 de led-uri albe, fixate la un capăt de streaşina casei iar la celalalt capăt fie de ramurile unui copac, fie de un fir de telefon care trecea întâmplător prin faţa casei :D;
  • “Perdelele” au fost reprezentate de câte o perdea cu câte 320 de led-uri albastre agăţate de streaşina casei.

Pentru interconectarea elementelor luminoase cu modulul driver mi-am cumpărat două role de 100 de metri de cablu bifilar cu secţiune de 0,5 mm2 însă nu am consumat decât circa 150 de metri (o rola şi jumătate). Bineînţeles, necesarul de cablu depinde de cât de departate intenţionezi să montezi elementele luminoase.

Instalaţiile cu led-uri de care vorbeam mai sus sunt destinate a fi alimentate de la priză, motiv pentru care sunt dotate cu ştechere. De aceea, pentru a le putea conecta la modulul driver, la fiecare cablu de legătură am legat la capătul dinspre elementul luminos câte o cuplă (adică un “ştecher mamă”).

Instalaţiile cu led-uri folosite au fost de exterior însă chiar şi aşa ştecherul fiecărei instalaţii precum şi controller-ul ei (cutiuţa de plastic dintre ştecher şi primul led) erau expuse riscului de a intra în contact cu apa. Aşa că pentru fiecare instalaţie expusă ploii/ninsorii, am băgat ştecherul şi controller-ul instalaţiei în câte o punguţă de plastic, legată la gât cu un elastic şi aşezată cu gura în jos.

În ceea ce priveşte amplasarea modulului driver şi a modulului Arduino, chiar dacă nu a fost foarte profesional eu l-am montat într-o cutie de carton mai groasă, în lateralele căreia am realizat găurile necesare cablurilor de conectare cu reţeaua de 220V, cu elementele luminoase şi cu laptopul. Bineînţeles, în timpul funcţionării instalaţiei, cutia de carton trebuie aşezată într-un loc complet protejat de ploaie/ninsoare.

În acest punct toate detaliile despre realizarea şi interconectarea părţii hardware sunt complet prezentate. Detaliile desprea partea software sunt disponibile “aici” însă înainte de a te apuca să citeşti şi partea a doua te invit să te uiţi la clip-ul cu prima secvenţă de lumini implementată pe acest proiect 😉 .

Cu bine,

Ciprian

45 thoughts on “Lumini de Crăciun computerizate (partea I – hardware)”

  1. Buna ziua. As dori sa va intreb daca as putea comanda ceva la dvs. in legatura cu aceste frumoase lumini de sarbatori.

    Reply
    • Buna ziua. Imi cer scuze anticipat,pentru ca am primit raspuns de la dvs,ca nu va mai ocupati cu “Lumini de Craciun computerizate” si ar fi trebuit sa ma conformez dar am ramas nemultumit ca mi_am “consumat cartela” si nu v_am intrebat daca imi puteti recomanda pe cineva care este dispus sa realizeze si sa_mi vanda toata partea hardware pentru “Lumini de Craciun computerizate”. Fac parte din eventualii clienti care nu ar avea comentarii asupra pretului stabilit de catre cel care executa aceasta lucrare. Va multumesc si_mi cer scuze.

      Reply
  2. Salut,

    De unde pot achiziționa un astfel de sistem computerizat pt o casa de 150mp?

    Exista cineva care comercializează astfel de sisteme?

    Mulțumesc
    Mihai
    0753707000

    Reply
  3. Va salut cu drag, îmi place și apreciez proiectul cu mare drag. Sunt un mare iubitor , iubesc sărbătorile de iarna. A-și dori din suflet un chit complet cu tot ce îmi trebuie inclusiv acel modul cu 18 canale. Plătesc oricât numai să-mi fac familia fericita. Aștept răspuns dacă le pot primi cu totul gata programate și pregătite. Mulțumesc frumos. Apreciez efortul depus pentru proiectul vostru. Sărbători fericite.

    Reply
    • Va salut cu respect,as fi interesat de un sistem complet computerizat cu luminite de craciun pt o casa de 110m la curte.Daca ma puteti ajuta,nu ezitati sa ma contactati.
      Va multumesc anticipat,
      Nr de tel 0721 252 009

      Reply
  4. Am reusit sa fac si eu modulul dar utilizez doar 9 canale din 18. Costul total m-a dus in jur de 500 lei(modul+instalatie+cabluri pentru 9 canale). O sa pun poze+video cum am creat modulul si cum functioneaza. Pentru un apartament e mai dificil ca nu am loc, dar pentru o casa, proiectul e perfect. Multumesc hobbytronica.

    Reply
  5. Salutare,am comandat si eu modulul respectiv,sper sa functioneze pentru instalatiile de exterior,sa nu il afecteze temperaturile scazute,si sa reusesc sa le sincronizez,avand aproximativ 200 de metrii de instalatii si decoratiuni!

    Reply
  6. Salut.Ai facut un super proiect.Vin sarbatorile si vreau sa fac si eu acest proiect.Vreau sa imi construiesc modulul Driver.Am citit tot proiectu,l-ai explicat foarte fain.Cand dau sa descarc schema de la modulul Driver imi da ca pagina nu exista.Ai putea sa imi trimiti schema?

    Reply
    • Salut.

      Merci de aprecieri si sper sa ai destul timp sa pui in functiune sistemul anul asta.

      Habar n-am ce s-a intamplat de nu mai mergeau link-urile. Le-am pus din nou si acum merg.

      Succes si nu uita sa faci un clip cu ce ti-a iesit, sa mi-l trimiti ca sa-l arat si celorlalti 😉 !

      Reply
  7. Doresc si eu o astfel de instlatie, completa, pe care sa pun furtun luminos de 10 m pe fiecare canal, se poate asa ceva, astept, un pret pe e-mail.

    Reply
  8. o alta intrebare: instalatia este pt un spatiu inchis cu temperatura cat de cat constanta. daca vreau sa scot afara in curte luminile si sa tin partea de comanda in casa, ce lungime maxima trebuie sa aiba iesirile astfel ca sa nu existe pierderi?

    Reply
    • Merge si afara, daca ai ghirlande de exterior. Eu afara am folosit-o.
      Ghirlandele cu Led-uri consuma foarte putin, asa ca nu e nici o problema daca le prelungesti cablul de alimentare chiar si cu cateva zeci de metri.

      Reply
    • Doar cu conditia ca acei 12V sa fie in curent alternativ iar curentul maxim consumat pe canal sa nu depaseasca 0,1 A. Pentru curenti mai mari ar trebui schimbate diodele din puntea de redresare cu unele mai solide.

      Reply
  9. salut. arata bine instalatia ta. cat m-ar costa sa comand modulul driver. nu mai e prea mult timp pina la sarrbatori si ma indoiesc ca il termin la timp 🙂

    Reply
    • Nu stiu daca o sa mai am si pentru tine PCB. Vezi ca am deschis o discutie pe facebook pentru cei care vor sa-i ajut cu PCB-l sau cu modulul complet. Sunt mai multi care vor, dar stii cum e, nu toti care se anunta merg pana la capat, asa ca probabil te voi putea ajuta si pe tine. Mentioneaza acolo ca vrei si tu si daca imi ramane un PCB/modul in plus, te anunt cat pot de repede.

      Pretul o sa ti-l comunic in particular, dupa ce imi spui pe facebook ca vrei ca sa te trec pe lista.

      Reply
  10. Buna
    As dori sa stiu daca ma-ti putea ajuta in privinta unui modul driver pentru 20 de canale .
    As dori o lista completa cu componetele de care as avea nevoie .Va multumesc .

    Reply
    • Salut. In aceasta varianta de proiect, numarul maxim de canale este 18. Insa chiar azi am gasit o solutie prin care s-ar putea extinde numarul de canale teoretic pana pe la 100 :). Si nu ar fii doar canale ON/OFF ci ar fi canale cu PWM (deci pe care se poate regla si intensitatea luminoasa).Dar nu spun mai multe pana nu testez si vad ca merge.

      Deci ori iei acest proiect asa cum este, ori mai astepti sa dezvolt o varianta imbunatatita a acestuia. Daca alegi ultima varianta e foarte posibil sa iti ofer si sansa de a cumpara modulul gata facut (modul care va include si procesorul de pe Arduino Uno).

      Reply
  11. sunt total de acord, orice proiect trebuie documentat profund, testat ceva timp ,aduse mici imbunatatiri, si dabia intr-un tarziu (in functie de timpul alocat) se ajunge la forma stabila care poate fi distribuita intr-un sistem sau intr-un cerc de prieteni. Avem ca hobby un domeniu unde daca nu ai rabdare , atentie, perspicacitate si nu esti consecvent nu ajungi la nici un rezultat, i-ti faci doar nervi.
    Multe salutari!

    Reply
  12. super proiect , felicitari pentru idee si pentru documentare,in momentul cand ajungi la probele finale , sigur traiesti o mare satisfactie. Am cautat si am gasit doar montaje cu 4 canale , nu mau multumit, cand am dat din intamplare de acest material am foarte incantat. Ma intereseaza , este foarte complex! Inca o data felicitari.Doresc sa tinem legatura.

    Reply
    • Salut. Cea mai mare satisfactie e cand afli ca sunt si alti oameni interesati de ideile pe care tu le crezi interesante :). Proiectul nu e foarte complex, atata doar ca am obiceiul sa dau multe detalii ca sa fiu sigur ca cine ar vrea sa-l reproduca nu va duce lipsa de informatiile necesare.

      Reply
      • salut, numele meu e Costel, m-ar interesa si pe mine un modul arduino gata programat tot asa cu 18 iesiri, placa cu triace o fac eu dar daca nu e prea scumpa o cumpar si pe aceasta, ce pret ar avea ambele, astept raspuns pe mail : familiaisac@yahoo.com , sau la telefon 0741578691.

        Reply

Leave a Reply to romulus Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.