Ideea de bază a proiectului a pornit din dorința de a combina pasiunea pentru tehnologie și design într-un singur produs inovator. Cred ca proiectul este util atât pentru mine, cât și pentru alții, deoarece îmbină funcționalitatea și estetica, oferind un element de atracție vizuală și dinamică în orice spațiu în care este implementat.
Codul a fost scris utilizând informații din trei laboratoare, mai exact
Logica de baza este destul de simpla. În funcția de setup, fac set-up la banda led folosind funcțiile de setup din biblioteca 'FastLED', configurez pinul A1 pentru a activa ADC-ul, setez timer-ul sa declanșeze o întrerupe odată la 2 secunde și leg butonul care este controlat de pinul 3 de funcția care schimba pattern-ul curent.
În functia principala de loop, citesc de fiecare data informația care îmi este data de senzor, o translatez în spațiul de valori care mă intereseaza [0-NUM_LEDS-1], după care, cu ajutorul unui switch verific pe ce pattern de luminare sunt în momentul actual și apelez funcția corespunzătoare pattern-ului.
Fiecare pattern este diferit în felul sau. Primele 5 pattern-uri sunt “standalone”, nu se folosesc de valoare citită de pe senzor, și doar luminează pe baza unor funcții matematice ce conferă un aspect interesant și frumos (pe baza de testing). Ultimele 3 pattern-uri folosesc atât intensitatea sunetului citită de senzor pentru a lumina un număr de led-uri proporțional cu aceasta, cât și de întrerupere și timer pentru a schimba în timp culoarea.
Restul de cod poate fi vizualizat la următorul link de Github
Consider ca rezultatul final este unul foarte satisfăcător, atingând mai multe milestone-uri decât mi-am propus inițial (6 pattern-uri în plus) și sunt chiar recunoscător ca am avut acest assignment de la facultate deoarce m-a impins sa ies din aria mea de confort intr-o zona în care voiam sa intru dar nu puteam sa încep. Am învățat din greșeli, cum ar fi faptul ca trebuit sa refac doua comenzi deoarece nu am citit bine data sheet-urile, am învățat ca un usb normal poate sa dea în jur de 500mA-900mA, iar LED-urile pe care le-am achizițonat, în funcție de intensitatea la care lucrează poate sa consume și 10A (am cumpărat și atașat o sursa externa de 5V). Per total, sunt foarte mulțumit de aceasta experiență.