This shows you the differences between two versions of the page.
|
pm:prj2025:ccristi:agavrilut [2025/05/26 00:22] agavrilut [Organizarea codului] |
pm:prj2025:ccristi:agavrilut [2025/05/28 02:34] (current) agavrilut [Aplicația MiniSynth Recorder] |
||
|---|---|---|---|
| Line 41: | Line 41: | ||
| * Apăsarea celor 8 butoane pentru a reda note muzicale, folosind buzzer-ul pasiv | * Apăsarea celor 8 butoane pentru a reda note muzicale, folosind buzzer-ul pasiv | ||
| * Ajustarea frecvenței notelor prin rotirea potențiometrului | * Ajustarea frecvenței notelor prin rotirea potențiometrului | ||
| - | * În poziția minimă a potențiometrului, sunt redate notele din gama C4-C5, iar prin rotirea acestuia spre dreapta, frecvențele cresc gradual | + | * În poziția minimă a potențiometrului, sunt redate notele din gama C4-C5, iar prin rotirea acestuia spre dreapta, frecvențele cresc gradual, până la C5-C6 |
| 2. **//Modul record//** | 2. **//Modul record//** | ||
| Line 115: | Line 115: | ||
| | HC-05 TXD | RX0 | PD0 | Comunicare UART (USART0), HC-05->Arduino | | | HC-05 TXD | RX0 | PD0 | Comunicare UART (USART0), HC-05->Arduino | | ||
| ==== Imagini ==== | ==== Imagini ==== | ||
| + | |||
| + | {{:pm:prj2025:ccristi:whatsapp_image_2025-05-28_at_00.50.06_ffb0866b.jpg?nolink&600|}} | ||
| Inițial am conectat pinii RX și TX de pe HC-05 la D11 și D12, în ideea de a folosi SoftwareSerial. Ulterior i-am mutat pe TX1 și RX0 și am renunțat complet la bibliotecile Arduino. | Inițial am conectat pinii RX și TX de pe HC-05 la D11 și D12, în ideea de a folosi SoftwareSerial. Ulterior i-am mutat pe TX1 și RX0 și am renunțat complet la bibliotecile Arduino. | ||
| Line 285: | Line 287: | ||
| Permite conectarea la dispozitiv prin port serial și înregistrarea notelor transmise în timp real. | Permite conectarea la dispozitiv prin port serial și înregistrarea notelor transmise în timp real. | ||
| + | |||
| + | {{:pm:prj2025:ccristi:screenshot_2025-05-28_005653.png?nolink&500|}} | ||
| * **Port name** – câmp text pentru introducerea portului serial (ex: ''COM11'', ''/dev/ttyUSB0'') | * **Port name** – câmp text pentru introducerea portului serial (ex: ''COM11'', ''/dev/ttyUSB0'') | ||
| Line 292: | Line 296: | ||
| * **Start Recording/Stop Recording** – pornește sau oprește înregistrarea | * **Start Recording/Stop Recording** – pornește sau oprește înregistrarea | ||
| * Înregistrarea se oprește automat și la primirea mesajului ''RECORD_OFF'' de la dispozitiv | * Înregistrarea se oprește automat și la primirea mesajului ''RECORD_OFF'' de la dispozitiv | ||
| - | * După oprirea înregistrării, aplicația procesează datele și le salvează într-un fișier ''.mid'' | + | * După oprirea înregistrării, aplicația procesează datele și le salvează într-un fișier ''.mid'', în folderul ''recordings'' |
| **2. View Recordings** | **2. View Recordings** | ||
| Afișează toate melodiile înregistrate și permite redarea sau ștergerea acestora. | Afișează toate melodiile înregistrate și permite redarea sau ștergerea acestora. | ||
| + | |||
| + | {{:pm:prj2025:ccristi:screenshot_2025-05-28_005720.png?nolink&500|}} | ||
| * **Listă de înregistrări** – scrollable, afișează toate fișierele MIDI salvate | * **Listă de înregistrări** – scrollable, afișează toate fișierele MIDI salvate | ||
| Line 303: | Line 309: | ||
| * **Play/Stop** – redă melodia selectată sau oprește redarea | * **Play/Stop** – redă melodia selectată sau oprește redarea | ||
| * **Delete** – șterge fișierul selectat | * **Delete** – șterge fișierul selectat | ||
| + | |||
| + | |||
| + | ==== Testare ==== | ||
| + | |||
| + | Am testat funcționalitățile incremental, pe măsură ce le-am implementat, prin observarea comportamentului așteptat sau prin afișarea valorilor prin serial monitor, unde era necesar. | ||
| + | * Apăsare butoane - afișarea frecvenței corespunzătoare | ||
| + | * Debounce - se afișează un singur mesaj la fiecare apăsare | ||
| + | * Buzzer - redarea corectă a frecvențelor | ||
| + | * Pitch shift - afișarea valorii citite de la potențiometru, apoi afișarea frecvențelor ajustate și redarea acestora | ||
| + | * am verificat că frecvențele calculate corespund cu tabelul de frecvențe ale notelor (de exemplu, la poziția maximă, am verificat că frecvențele corespund gamei C5-C6) | ||
| + | * Activare/dezactivare mod record - testat vizual (LED) și prin verificarea mesajelor trimise | ||
| + | * Comunicația Bluetooth - testată inițial cu un script care doar citește și afișează mesajele în terminal, ulterior cu aplicația implementată | ||
| + | * am testat apoi cazurile speciale: se încearcă înregistrarea fără conexiune, se întrerupe conexiunea în timpul înregistrării | ||
| + | * Aplicația Python - am implementat și testat pe rând conectarea, citirea mesajelor (prin afișare în terminal), crearea fișierelor MIDI (testate prin redare cu un player și prin analiza notelor într-un software dedicat), redarea înregistrărilor | ||
| + | * am testat cazurile speciale, ex: note fără ''note_off'', actualizarea interfeței la oprirea înregistrării de către dispozitiv (prin ''RECORD_OFF'') etc. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | [[https://youtu.be/qJW-3LLUZFE|Demo]]: |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| + | <HTML><iframe width="560" height="315" src="//www.youtube.com/embed/qJW-3LLUZFE" frameborder="0" allowfullscreen></iframe></HTML> | ||
| + | |||
| + | {{:pm:prj2025:ccristi:whatsapp_image_2025-05-28_at_00.50.06_043a05d0.jpg?nolink&500|}} | ||
| + | |||
| + | {{:pm:prj2025:ccristi:whatsapp_image_2025-05-28_at_00.50.06_72c42e1a.jpg?nolink&500|}} | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | |||
| + | Proiectul m-a ajutat să înțeleg mai bine conceptele studiate în cadrul laboratoarelor, prin aplicarea practică a noțiunilor de GPIO, UART, PWM, ADC și timere. | ||
| + | |||
| + | În plus, proiectul mi-a oferit ocazia să învăț noțiuni noi despre formatul MIDI și modul în care se procesează digital muzica, de la conversia frecvențelor în note până la generarea și redarea fișierelor MIDI. | ||
| + | |||
| + | |||
| ===== Download ===== | ===== Download ===== | ||