This shows you the differences between two versions of the page.
|
pm:prj2022:cristip:soundactivatedstrobelights [2022/05/31 04:38] theodor.tulba |
pm:prj2022:cristip:soundactivatedstrobelights [2022/05/31 04:51] (current) theodor.tulba [Descriere generală] |
||
|---|---|---|---|
| Line 12: | Line 12: | ||
| === Schemă bloc === | === Schemă bloc === | ||
| - | {{ :pm:prj2022:cristip:diagrama_proiect_stroboscop.drawio.png?720 }} | + | {{ :pm:prj2022:cristip:diagrama_proiect_stroboscop.png?720 }} |
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 43: | Line 43: | ||
| **Setup** | **Setup** | ||
| + | |||
| În setup se initializează pinii, se testează că funcționează matricile LED și se initializează un timer. Timer-ul este folosit pentru a crea întreruperi în mod regulat ce va declanșa randarea următoarei coloane de pixeli ai "ecranului". | În setup se initializează pinii, se testează că funcționează matricile LED și se initializează un timer. Timer-ul este folosit pentru a crea întreruperi în mod regulat ce va declanșa randarea următoarei coloane de pixeli ai "ecranului". | ||
| <code cpp> | <code cpp> | ||
| Line 75: | Line 76: | ||
| **Comunicare cu Shift Register** | **Comunicare cu Shift Register** | ||
| - | Conform datasheet-ului, se transmit date seriale ce sunt reținute în shift register. cel mai simplu mod de interacționare este folosirea funcției %shiftOut% care transmite un întreg byte de date. | + | Conform datasheet-ului, se transmit date seriale ce sunt reținute în shift register. cel mai simplu mod de interacționare este folosirea funcției ''shiftOut'' care transmite un întreg byte de date. |
| <code cpp> | <code cpp> | ||
| // Send one byte of data to a shift register | // Send one byte of data to a shift register | ||
| Line 86: | Line 87: | ||
| **Randarea Matricelor LED** | **Randarea Matricelor LED** | ||
| + | |||
| Randarea unei matrici se face pe coloane. Refresh rate-ul este de 1000 * 24 µs = 24ms. | Randarea unei matrici se face pe coloane. Refresh rate-ul este de 1000 * 24 µs = 24ms. | ||
| <code cpp> | <code cpp> | ||
| Line 119: | Line 121: | ||
| **Main Loop** | **Main Loop** | ||
| - | În %loop% se citesc datele analog de la microfon și sunt transformate in spectograma utilizând funcția `fix_fft`. | + | |
| + | În ''loop'' se citesc datele analog de la microfon și sunt transformate in spectograma utilizând funcția ''fix_fft''. | ||
| <code cpp> | <code cpp> | ||
| void loop() | void loop() | ||
| Line 154: | Line 157: | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | Demo funcționalitate: [[https://studio.youtube.com/video/wtGvMIOnKYM/edit|link]] | + | **Demo funcționalitate:** [[https://youtu.be/wtGvMIOnKYM|link]] |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| Line 162: | Line 165: | ||
| ===== Download ===== | ===== Download ===== | ||
| - | <note warning> | + | Codul sursa al proiectului poate fi găsit aici: {{:pm:prj2022:cristip:Spectrum_Analyser.zip| Spectrum Analyser}}. |
| - | 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ă ;-). | + | |
| - | + | ||
| - | </note> | + | |
| ===== Bibliografie ===== | ===== Bibliografie ===== | ||
| Line 177: | Line 176: | ||
| === Resurse === | === Resurse === | ||
| - | * Setup Shift Registers: [[https://lastminuteengineers.com/74hc595-shift-register-arduino-tutorial|link]] | + | * Setup Shift Registers: [[https://lastminuteengineers.com/74hc595-shift-register-arduino-tutorial|link]]; |
| - | * Spectrum Analyzer: [[https://create.arduino.cc/projecthub/mircemk/diy-fft-audio-spectrum-analyzer-ca2926|link]] | + | * Spectrum Analyzer: [[https://create.arduino.cc/projecthub/mircemk/diy-fft-audio-spectrum-analyzer-ca2926|link]]; |
| - | * Timer Interrupts: [[https://www.instructables.com/Arduino-Timer-Interrupts|link]] | + | * Timer Interrupts: [[https://www.instructables.com/Arduino-Timer-Interrupts|link]]. |
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||