This is an old revision of the document!
Multimode Illuminated Rhombus with Music Reactivity
Introducere
Prezentarea pe scurt a proiectului:
Proiectul consta in realizarea unei structuri geometrice, un romb, care va servi ca un dispozitiv de iluminare versatil si reactiv la muzica. Ideea principala este de a crea o experienta vizuala si auditiva captivanta prin combinarea iluminarii LED si a reactivitatii la sunet.
Scopul acestui proiect este de a oferi utilizatorilor posibilitatea de a personaliza si controla modurile de iluminare in functie de preferintele lor care poate fi utilizata in diverse medii, precum un decor interior.
Ideea initiala a proiectului a fost inspirata de dorinta de a avea un dispozitiv ce poate crea o experienta estetica si interactiva.
Descriere generală
Arduino Nano: Va fi creierul sistemului, gestionand functiile si interactiunile.
Modul de coborare tensiune LM2596 si modul coborare tensiune DC-DC MP1584EN: Vor fi utilizate pentru a asigura alimentarea stabila a componentelor.
Amplificator Microfon MAX9814: Va fi utilizat pentru a detecta si amplifica semnalele audio de la microfonul integrat.
Ecran OLED: Va afisa modurile de iluminare si alte informatii relevante pentru utilizator.
Placa dezvoltare cu 8 canale (cu LED RGB) W281: Va controla iluminarea LED-urilor in moduri variate si va primte reactivitatea la muzica.
Placa prototipare PCB: Va facilita conexiunile intre componentele hardware.
Hardware Design
Aici puneţi tot ce ţine de hardware design:
Arduino Nano
Modul coborare tensiune LM2596
Modul coborare tensiune DC-DC MP1584EN
Amplificator Microfon MAX9814
Ecran OLED
Placa dezvoltare cu 8 canale (cu led RGB) W281
Placa prototipare PCB
Baterii
Butoane + fire, etc.
Scheme
In cadrul proiectului am avut doua implementari diferite (din cauza unui defect in cazul primei implementari). Rezultatele pot fi vizualizate in secitunea de mai jos “Rezultate Obtinute”
Poze cu circuitul corespunzator primei implementari
Poze cu circuitul corespunzator celei de a doua implementari
Software Design
Descrierea codului aplicaţiei (firmware):
Mediu de dezvoltare: Arduino IDE
Librării şi surse 3rd-party: FastLED, Adafruit_NeoPixel
Algoritmi şi structuri: Voi implementa algoritmi pentru controlul iluminarii LED in diferite moduri si pentru a detecta si a reactiona la semnale audio provenite de la microfon.
Am dezvoltat acest proiect utilizând Arduino IDE
Codul de mai jos nu reprezinta intreaga implementare ci bucati de cod ce evidentiaza functionalitati din cod.
UART
Serial.begin(9600);
Serial.println(hue);
Serial.println(volts);
Intreruperi Aici se poate observa cum verific mereu starea butonului si iau masuri in functie de de schimbare
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
buttonPushCounter++;
if (buttonPushCounter >= 5) {
buttonPushCounter = 0;
}
delay(250);
}
lastButtonState = buttonState;
}
Timere
unsigned long startMillis = millis();
while (millis() - startMillis < sampleWindow) {
}
delay(30);
ADC
int sample = analogRead(AUDIO_PIN);
knob = analogRead(KNOB_PIN);
PWM
strip.setBrightness(100);
Rezultate Obţinute
Concluzii
In acest proiect am reusit cu succes sa integrez mai multe concepte fundamentale invatate la laborator. Pe langa partea teoretica, cel mai important mi s-a parut partea hardware, acolo am invatat cele mai bine teoria experimetand pe partea de hardware
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
Saptamana | Sarcina | Descriere |
21 Apr – 5 Mai | Documentare inițială | Cautare componente sau solutii similare |
21 Apr – 5 Mai | Achizitionare componente | Achizitionare componente + testarea lor |
21 Apr – 5 Mai | Prototipare Hardware | Asamblarea si lipirea componentelor pe PCB |
13 Mai – 17 Mai | Incepere scriere cod | Am inceput sa scriu cod incepand sa integrez notiuni de la laborator |
13 Mai – 17 Mai | Testare | Am inceput sa testez functionalitatea codului, facand modificarile necesare pt functionare |
20 Mai – 24 Mai | Ansamblarea finala + probleme | La finalul asamblarii cand am dat cheie la proiect led-urile nu mai functionau |
24 Mai - 26 Mai | Problema | |
24 Mai - 26 Mai | Rezolvare pb | |
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF