Mini LEDBAR

Realizator: Niculescu Rareș-Cosmin
Email: rares.niculescu@stud.acs.upb.ro

Introducere

Ideea de la care am pornit

Inspirația a venit din perioada anilor 2014-2018, când eram DJ part-time la un club din orașul natal. Pe langă echipamentul DJ, aveam și un echipament de lumini ce constau din mai multe LEDBAR-uri RGB ce puteau fi programate și controlate cu ajutorul unei console DMX pentru a crea o atmosferă efervescentă în cadrul petrecerii. De-a lungul timpului am dezvoltat un adevărat hobby pentru programarea LEDBAR-urilor, elemente ce se regăseau la orice spectacol/party cu cel puțin 100 de participanți.

Descriere

Proiectul constă în implementarea unui LEDBAR la scală mai mică (de unde și numele de “Mini LEDBAR”). Utilizatorul va putea interacționa cu LEDBAR-ul prin intermediul unui buton care va schimba modul de iluminare al ledurilor. Ledurile vor putea fi stinse complet, controlate manual (culoarea finală putând fi setată cu ajutorul unor potențiometre), controlate automat, cu ajutorul unui algoritm de colorare similar cu cel întâlnit în cadrul instalațiilor de Crăciun, sau prin intermediul semnalului audio de la o mufă jack 3.5mm, care va influența, prin intermediul intensității audio, culoarea ledurilor, frecvența de schimbare a culorilor și tranziția între culori.

Scop

Scopul proiectului este de a permite controlarea și interacționarea, într-o manieră mai simplă și intuitivă, cu un astfel de echipament folosit în cadrul multor evenimente/petreceri.

Utilitate

Va reprezenta o modalitate de divertisment și, pentru cei mai pasionați, o modalitate de a vedea concret aranjamentul luminilor ambientale din cadrul unei încăperi/unui spațiu.

Descriere generală

Functionalitate

În cadrul Mini LEDBAR-ului vor fi incluse 10 RGB-uri care să poată fi programate să lumineze într-un anumit mod. Modul de iluminare va putea fi selectat cu ajutorul unui buton. Pentru a putea fi mai ușor de vizualizat, în partea dreaptă a RGB-urilor, vor exista 3 leduri care se vor aprinde în funcție de modul curent de luminare al LEDBAR-ului. Vor exista în total 4 moduri de iluminare:

  • Pe modul 1 (Oprit) (ledurile din dreapta sunt stinse), LEDBAR-ul va fi stins.
  • Pe modul 2 (Manual) (doar ledul verde din dreapta se va aprinde), culoarea LEDBAR-ului va fi setată manual cu ajutorul unor potențiometre. Astfel, pentru fiecare canal RGB al fiecărui led, intensitatea va putea fi setată independent iar combinația de intensități de pe fiecare canal va da culoarea finală (spre exemplu R,G-100% B-0% ⇒ galben; R,B-100% G-0% ⇒ magenta etc)
  • Pe modul 3 (Automat) (doar ledul galben din dreapta se va aprinde), LEDBAR-ul se va colora conform unui algoritm prestabilit. RGB-urile se vor lumina asemănător cu o instalație de Crăciun.
  • Pe modul 4 (Music mode) (doar ledul roșu din dreapta se va aprinde), culoarea LEDBAR-ului se va schimba în funcție de frecvența/intensitatea sonoră a unui semnal audio (venit de la o mufa jack 3.5mm). Astfel, dacă dispozitivul audio recepționează o melodie ritmată, RGB-urile se vor colora mai des între culori aleatoare, tranziția dintre culori făcându-se brusc. Dacă dispozitivul audio recepționează o melodie lentă, RGB-urile se vor colora mai rar iar tranziția între culori va fi mai înceată (“smooth”).

Schema bloc

Hardware Design

Listă de componente:

Schemă electrică:

În cadrul proiectului am folosit toți pinii PWM pentru iluminarea LED-urilor. Pinii 3, 5, 6 au fost folosiți pentru controlarea celor 4 RGB-uri cu catod comun, iar pinii 9, 10, 11 pentru controlarea RGB-urilor cu anod comun. De asemenea, pinii 4, 7 și 8 au fost folosiți pentru aprinderea celor 3 leduri din dreapta RGB LEDBAR-ului. Ledul verde semnifică folosirea LEDBAR-ului pe modul 2, ledul galben semnifică folosirea LEDBAR-ului pe modul 3 iar cel roșu semnifică folosirea LEDBAR-ului pe modul 4. Pinii pentru setarea manuală a culorilor (modul Manual) sunt: A5 pentru canalul roșu, A4 pentru canalul verde și A3 pentru canalul albastru. Primirea semnalului audio de la jack 3.5mm se realizează pe pinul A0. Butonul care realizează schimbarea modului LEDBAR-ului este conectat pe pinul 2.

Software Design

Mediul de dezvoltare

Arduino IDE

Librării şi surse 3rd-party

În general nu am folosit astfel de elemente, întrucât am vrut ca mare parte din implementare să fie realizată în manieră proprie, fără ajutorul unor funcții din cadrul unor biblioteci sau exemple similare de pe internet. Singurele funcții speciale au fost cele care returnau un număr aleator (random), folosite în cadrul modulului 4 pentru a schimba culoarea pe baza melodiei date ca input.

Algoritmi şi structuri pe care plănuiţi să le implementaţi

În cadrul modului Oprit și Manual, am apelat la cunoștințele deprinse pe parcursul laboratoarelor, în special laboratorul 3 (PWM). Pentru modul Automat, am implementat o funcție care stabilește ciclarea între culori cu ajutorul unui parametru extern. Becurile vor trece prin culorile R, G, B și W (white) într-un mod lent pentru ca mai apoi să cicleze între cele 6 combinații principale de culori (R, G, B, RG - Galben, GB - Cyan, RB - Magenta). Pentru ultimul mod am ales ca LEDBAR-ul să își schimbe culoarea în funcție de intensitatea unui semnal audio. Dacă semnalul este puternic, tranziția între culori va fi aproape instantanee, diferența între acestea putând fi una ridicată, dar nu mai mult de 100 de unități diferență pe fiecare canal (spre exemplu LEDBAR-ul trece de la culoarea albă la culoarea Roșie). Dacă semnalul este ridicat, tranziția nu va mai fi atât de bruscă, diferența între culori fiind mai restrânsă, dar nu mai mult de 75 de unități diferență pe fiecare canal (spre exemplu LEDBAR-ul trece de la culoarea albă la culoarea Roz). Dacă semnalul este mediu, tranziția va fi mai înceată, diferența de culori fiind apropiată, dar nu mai mult de 50 de unități diferență pe fiecare canal (spre exemplu LEDBAR-ul trece de la culoarea albă la culoarea Cyan “spălăcit”). Dacă semnalul este slab, LEDBAR-ul nu își va schimba culoarea.

Surse şi funcţii implementate

Principalele mele surse de inspirație au fost cunoștințele din cadrul laboratoarelor de PM, exemple întâlnite în cadrul obiectelor din viața reală (spre exemplu la modul Automat, inspirația mi-a venit atunci când mi-am adus aminte de perioada Crăciunului și de jocul de lumini al instalațiilor de brad) dar și din experiența mea în scurta carieră de DJ (spre exemplu RGB LEDBAR-ul controlat cu ajutorul DMX-ului care avea funcție de schimbare a culorilor în funcție de semnalul audio captat de către un microfon incorporat). Detaliile cu privire la structura funcțiilor și modalitatea acestora de implementare sunt acoperite în cadrul secțiunii anterioare, “algoritmi şi structuri pe care plănuiţi să le implementaţi”.

Rezultate Obţinute

Pentru primul mod, rezultatul este prezent în figura de mai jos:

modul_oprit_miniledbar.jpg

Pentru modul "Manual", am ales să prezint rezultatul colorării RGB-urilor pentru toate cele 7 combinații (R, G, B, R+G, G+B, R+B, R+G+B).

Pentru R-100%, G,B-0% (Roșu) rezultatul este următorul:

modul_manual1_miniledbar.jpg

Pentru G-100%, R,B-0% (Verde) rezultatul este următorul:

modul_manual2_miniledbar.jpg

Pentru B-100%, R,G-0% (Albastru) rezultatul este următorul:

modul_manual3_miniledbar.jpg

Pentru R,G-100%, B-0% (Galben) rezultatul este următorul:

modul_manual7_miniledbar.jpg

Pentru G,B-100%, R-0% (Cyan) rezultatul este următorul:

modul_manual6_miniledbar.jpg

Pentru R,B-100%, G-0% (Magenta) rezultatul este următorul:

modul_manual4_miniledbar.jpg

Pentru R,G,B-100% (Alb) rezultatul este următorul:

modul_manual5_miniledbar.jpg

Modul “Automat” și “Music mode” sunt disponibile la link-ul de mai jos, respectiv, în cadrul secțiunii Demo, unde sunt prezentate toate funcționalitățile proiectului.

Link Modul automat (modulul 3)

Demo

Concluzii

  • Proiectul a fost implementat integral și, pentru toate modulele, funcționează conform specificațiilor.
  • Existența celor 4 module de luminare permite utilizatorului o exploatare ridicată a LEDBAR-ului.
  • Modulul jack 3.5, funcția de modificare a culorilor și comportamentului LEDBAR-ului oferă dinamism în cadrul melodiilor “efervescente”.
  • O îmbunătățire ar putea fi adusă complexității funcției de la modulul 4, prin rafinarea și mai profundă a comportamentului RGB LEDBAR-ului și anticiparea modificărilor ulterioare prin analizarea BPM-ului melodiei și intensității inputului primit de la jack-ul audio 3.5mm
  • Datorită design-ului relativ compact acest instrument se poate folosi, de către cei pasionați, pentru alcătuirea unei machete care ar putea simula, în condiții reale, decorul unei scene din cadrul unui spectacol.
  • Per total, am avut parte de o experiență plăcută în cadrul implementării și sunt mulțumit de rezultatul obținut =)

Download

Jurnal

  • 23.04.2021: alegere temă proiect.
  • 25.04.2021: creare pagină OCW și adăugarea informațiilor sumare.
  • 26.04.2021: în urma discuției cu asistentul, am făcut următoarele modificări:
    1. Numărul de RGB-uri crește de la 3 la 10,
    2. Vor exista 3 becuri pentru a vedea statusul modului de iluminare,
    3. Pentru a diversifica proiectul pe partea de Harware, voi include atât leduri RGB cu catod comun cât și leduri RGB cu anod comun,
    4. Pentru a fi mai apropiat de o utilizare în viața reală (și pentru a crește complexitatea proiectului) am ales să includ și modul “Music mode” care influențează schimbarea RGB-urilor în funcție de muzică.
  • 27.04.2021: achiziționare KIT Arduino UNO.
  • 05.05.2021 - 12.05.2021: achiziționare componente hardware lipsă + surplus:
    1. RGB-uri catod + anod comun,
    2. Potențiometre 10K,
    3. Fire tată-tată și mamă-tată,
    4. confecționare și adaptare fire pentru modul 3.5mm.
  • 13.05.2021: realizare demo proiect (modulele 1, 2, 3) pe Tinkercad.
  • 14.05.2021 și 15.05.2021: asamblare componente hardware + implementare module 1 și 2 pe Arduino IDE.
  • 16.05.2021: implementare “modul Automat” pe Arduino IDE și integrare cu modulele 1 și 2. Proiectul ajunge la 50% stadiu de finalizare.
  • 17.05.2021: prezentare, la laborator, a unui prototip funcțional cu modulele 1, 2, 3. Proiectul este evaluat ca fiind bun iar implementarea continuă.
  • 20.05.2021: efectuarea testelor pentru determinarea calității și intensității semnalului de la jack 3.5mm.
  • 21.05.2021: implementarea unui prototip pentru schimbarea iluminării ledurilor. Comportamentul inițial era puțin haotic, RGB-urile schimbându-se mult prea repede în momentul captării unui semnal audio puternic (adică în cazul unei melodii ritmate, disco).
  • 22.05.2021: rafinare comportament funcționalitate modul 4 și integrarea în cadrul proiectului final.
  • 23.05.2021: finalizare proiect + retușări + rafinare modul 3 (pentru a avea un comportament diferit la tranziția între culori față de modul “Music mode”) + finalizare pagină proiect OCW.
  • 24.05.2021: prezentare proiect + retușări finale pagină OCW + adăugare tutorial pe YouTube.

Bibliografie/Resurse

pm/prj2021/agrigore/mini_ledbar.txt · Last modified: 2021/05/25 01:55 by rares.niculescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0