This shows you the differences between two versions of the page.
pm:prj2022:abirlica:lightsinger [2022/06/01 00:32] ionut_cristian.tacu [Software - Diagrama de activitati (Organigrama)] |
pm:prj2022:abirlica:lightsinger [2022/06/01 00:56] (current) ionut_cristian.tacu [Concluzii] |
||
---|---|---|---|
Line 24: | Line 24: | ||
* Wires | * Wires | ||
+ | {{:pm:prj2022:abirlica:poza_hard_tic.jpeg?800|}} | ||
+ | |||
+ | Avand in vedere conectarea elementelor am folosit un Breadboard, pentru reutilizarea componentelor, si usurarea mentenantei. | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 38: | Line 41: | ||
Programul are urmatorul flow: | Programul are urmatorul flow: | ||
- | Se preia valoarea intensitatii luminoase de la fotorezistenta (marja de aproximativ 0 - 1000) | + | Se preia valoarea intensitatii luminoase de la fotorezistenta (marja de aproximativ 0 - 1000). |
- | In fiecare caz se afiseaza o imagine creata pe bitii lcd-ului, iar buzzer-ul canta o melodie care corespunzatoare luminozitatii. | + | In fiecare caz se afiseaza o imagine creata pe bitii lcd-ului, iar buzzer-ul canta o melodie care este corespunzatoare luminozitatii. |
Notele buzzer-ului sunt reprezentate de frecvente, iar ele sunt asociate unui array de litere (De exemplu C este nota Do, in notatia notelor). De asemenea, in melodie, fiecare nota are asociata o durata pentru a stii cat timp se canta nota. | Notele buzzer-ului sunt reprezentate de frecvente, iar ele sunt asociate unui array de litere (De exemplu C este nota Do, in notatia notelor). De asemenea, in melodie, fiecare nota are asociata o durata pentru a stii cat timp se canta nota. | ||
+ | |||
+ | Pentru fiecare melodie se foloseste o viteza (speed), pentru a canta toate notele intr-un anumit tempo. | ||
* Functia playTone(int tone, int duration, float speed) se ocupa cu activarea buzzer-ului (punerea pe HIGH) pentru a canta nota primita ca parametru intr-un anumit timp | * Functia playTone(int tone, int duration, float speed) se ocupa cu activarea buzzer-ului (punerea pe HIGH) pentru a canta nota primita ca parametru intr-un anumit timp | ||
Line 62: | Line 67: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | In urma dezvoltarii proiectului am inteles mecanismele din spatele buzzer-ului pasiv pentru crearea unei melodii. Fiind pasionat de pian si creare de acompaniamente, am avut ocazia de a simula unele melodii preferate (corespunzatoare vremii din punctul meu de vedere) in buzzer. | ||
+ | |||
+ | Cele mai mari provocari au reiesit din urmatoarele: | ||
+ | * Asocierea notelor cu frecventele, pana cand am obtinut notele reale | ||
+ | * Gasirea timpilor potriviti pentru fiecare nota cantata si simularea tempo-ului cat mai potrivit | ||
+ | * Crearea imaginilor pe pixelii lcd-ului | ||
===== Download ===== | ===== Download ===== |