Table of Contents

Flashing LED Lights

Autor: Leoveanu Maria-Alexandra

Grupa: 333CA

Introducere

Descriere Generala

Aplicatia de pe telefon se va conecta la modulul bluetooth. Atunci cand se transmit date pe acest canal, modul de luminare al benzii se schimba. Placa audio va colecta sunetele din laptop, si daca utilizatorul alege acest mod de luminare din aplicatie, luminile vor varia in functie acel sunet.

Hardware Design

Componente folosite:

Schema Electrica

Software Design

Intreaga implementare se afla in fisierul FlashLEDS.ino

In bucla principala se verifica de fiecare data care e modul in care ar trebui sa lumineze banda. Apoi, daca modulul de bluetooth a primit date prin intermediul telefonului pentru a schimba modul, acesta se actualizeaza, si la urmatoarea bucla banda va lumina diferit.

Pentru a comunica cu modulul bluetooth am instalat pe telefon aplicatia ArduTooth care are deja comunicarea telefon-modul implementata

Mesajele “intelese” de placuta sunt:

Deoarece semnalul primit de la laptop are forma sinusoidala, am ales sa reprezint in jocul de lumini doar punctul maxim local al fiecarei unde. Pentru asta, am ales (arbitrar, in functie de valorile pe care am vazut ca le are semnalul) o valoare de “prag” sub care sa nu mai modific ledul. Astfel, pentru valorile mai mici la care semnalul coboara, ledul nu va clipi de fiecare data, ci va ramane cu ce culoare avea inainte. In functie de intensitatea semnalului, ledul va avea una din cele 3 culoari, corespondente anumitor range-uri de valori intre care am observat ca se afla in general.

In prima poza este semnalul initial (cel primit de la placa audio), iar in cea de-a doua este semnalul final, cel care este reprezentat de led-uri. Se observa ca aici valoarea minima este mai mare; e pragul minim care trebuie sa fie trecut pentru ca ledul sa isi schimbe culoarea.

In bucla, daca primul caracter primit este 2, se verifica si urmatorul, pentru a seta culoarea statica cu care se va aprinde banda. Apoi, in functia static_colour(colour) se seteaza toate ledurile benzii la acea culoare.

In cazul acestui mod am ales (din nou, arbitrar) 5 nivele diferite pana la care se poate aprinde ledul. Cu cat intensitatea sunetului e mai mare, cu atat se aprind mai multe leduri. In plus, ultimul led se aprinde rosu, iar penultimele 2 se aprind portocaliu (restul se aprind verde). In functia v_meter, dupa ce stabilesc care e acel nivel, banda se lumineaza led cu led pana la maxim, si apoi, tot led cu led, se stinge pana la nivelul minim (0).

Banda cicleaza prin toate culorile curcubeului. Implementarea + obtinerea culorilor in ordinea curcubelui am facut-o cu ajutorul acestui snippet. Functia rainbow() reprezinta un ciclu complet de culori. Deci daca modul de luminare se schimba in mijlocul acesuia, ciclul de culori trebuie sa se termine inainte de a se schimba ⇒ va exista un delay pana cand modul de luminare se schimba.

Ledurile isi schimba gradual culoarea de la o culoare 1 la o culoare 2. Valorile A/B/C reprezinta combinatiile de culori posibile intre care se poate face fade. In functia fade(), in 2 bucle separate, se face o data tranzitia de la culoarea 1 la culoarea 2, apoi de la culoarea 2 la culoarea 1. La fel ca in cazul modului de 4, schimbarea din modul 5 in altul va avea un scurt delay deoarece trebuie sa se tremine un ciclu de fade complet.

Rezultate Obtinute

Demo muzica

Demo vu metru

Demo full

Concluzii

Mi-a placut sa lucrez la acest proiect 😀. Mi s-a parut o combinatie buna a partii software cu cea hardware, si am putut sa experimentez cu mai multe moduri de luminare si de interpretare a semnalului

Download

Jurnal

25.04.2021 - Adaugare pagina proiect ocw

9.05.2021 - Modificare (mica) a implementarii: In loc de microfon voi folosi o placa audio externa pentru a reda sunetul ce iese din laptop in placuta. Astfel, transmit in placuta exact semnalul audio redat de laptop; microfonul nu capta sunetele din fundal, ci doar cele foarte apropiate de el, si rezultatul nu a fost cel asteptat.

16.05.2021 - Finalizare implementare proiect software + hardware

20.05.2021 - Adaugare schema electrica ocw

01.06.2021 - Adaugare explicatii software ocw

Bibliografie/Resurse

Conectare modul bluetooth la telefon si trimitere date

Conectare benzi LED la placuta

Functie rainbow spectrum

Cod placuta