This shows you the differences between two versions of the page.
pm:prj2025:ccristi:agavrilut [2025/05/27 05:55] agavrilut [Aplicația MiniSynth Recorder] |
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 264: | Line 266: | ||
* **ADC** - citirea valorii potențiometrului | * **ADC** - citirea valorii potențiometrului | ||
+ | |||
+ | ==== Aplicația MiniSynth Recorder ==== | ||
+ | |||
+ | Pentru înregistrarea și redarea melodiilor, am dezvoltat o aplicație companion în Python. | ||
+ | |||
+ | Biblioteci utilizate: | ||
+ | * ''pyserial'' – pentru comunicarea serială cu dispozitivul | ||
+ | * ''mido'' – pentru crearea fișierelor MIDI | ||
+ | * ''pygame.midi'' – pentru redarea fișierelor MIDI | ||
+ | * ''pygame_gui'' – pentru interfața grafică | ||
+ | |||
+ | Aplicația funcționează pe Windows, Linux și macOS. | ||
+ | |||
+ | |||
+ | === Interfață și funcționalitate === | ||
+ | |||
+ | Aplicația are două taburi principale: | ||
+ | |||
+ | **1. Record** | ||
+ | |||
+ | 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'') | ||
+ | * **Status** – afișează starea conexiunii (connected / disconnected) | ||
+ | * **Connect/Disconnect** – deschid și închid conexiunea serială | ||
+ | * La connect, conexiunea se încearcă timp de 10 secunde. Dacă nu reușește, se afișează "Connection failed" | ||
+ | * **Start Recording/Stop Recording** – pornește sau oprește înregistrarea | ||
+ | * Î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'', în folderul ''recordings'' | ||
+ | |||
+ | **2. View Recordings** | ||
+ | |||
+ | 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 | ||
+ | |||
+ | La selectarea unei înregistrări, sunt disponibile două butoane: | ||
+ | * **Play/Stop** – redă melodia selectată sau oprește redarea | ||
+ | * **Delete** – șterge fișierul selectat | ||
Line 281: | Line 326: | ||
===== 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 ===== |