Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 =====
pm/prj2025/ccristi/agavrilut.1748314548.txt.gz · Last modified: 2025/05/27 05:55 by agavrilut
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0