This shows you the differences between two versions of the page.
pm:prj2024:alucaci:teofil.padurariu [2024/05/23 00:40] teofil.padurariu [Descriere] |
pm:prj2024:alucaci:teofil.padurariu [2024/05/23 00:54] (current) teofil.padurariu [Bibliografie] |
||
---|---|---|---|
Line 44: | Line 44: | ||
{{:pm:prj2024:alucaci:guitar_tuner_hardware.jpg?700|}} | {{:pm:prj2024:alucaci:guitar_tuner_hardware.jpg?700|}} | ||
===== Implementare Software ===== | ===== Implementare Software ===== | ||
- | ==== Descriere ==== | ||
Este un proiect software-heavy. | Este un proiect software-heavy. | ||
- | === INPUTUL ȘI PROCESAREA SA === | + | ==== INPUTUL ȘI PROCESAREA SA ==== |
Core-ul tunerului este Arduino Nano. Pe pinul A0 vor veni datele de la microfonul cu ajutorul căruia se captează semnalul analogic generat de vibrația corzii de chitară. Pentru a putea prelucra semnalul de intrare, este necesară eșantionarea acestuia de către ADC. | Core-ul tunerului este Arduino Nano. Pe pinul A0 vor veni datele de la microfonul cu ajutorul căruia se captează semnalul analogic generat de vibrația corzii de chitară. Pentru a putea prelucra semnalul de intrare, este necesară eșantionarea acestuia de către ADC. | ||
Line 53: | Line 52: | ||
index_nota | index_nota | ||
- | === BIBLIOTECI EXTERNE === | + | ==== BIBLIOTECI EXTERNE ==== |
Pentru implementarea tuner-ului, am folosit 2 biblioteci externe: | Pentru implementarea tuner-ului, am folosit 2 biblioteci externe: | ||
* arduinoFFT: [[https://github.com/kosme/arduinoFFT|GitHub]] | * arduinoFFT: [[https://github.com/kosme/arduinoFFT|GitHub]] | ||
Line 146: | Line 145: | ||
Pentru schimbarea culorii LED-ului am folosit **labul de GPIO**. | Pentru schimbarea culorii LED-ului am folosit **labul de GPIO**. | ||
- | === CALIBRARE === | + | ==== CALIBRARE + OPTIMIZARE COD ==== |
- | Pentru că nu am avut hardwareul necesar să măresc buffer sizeul pentru rezultate mai accurate, am făcut o funcție care întoarce erorile specifice pentru anumite range-uri de frecvențe (le-am determinat experimental): | + | Pentru că nu am avut hardware-ul necesar să măresc buffer sizeul pentru rezultate mai accurate, am făcut o funcție care întoarce erorile specifice pentru anumite range-uri de frecvențe (le-am determinat experimental): |
<code> | <code> | ||
Line 164: | Line 163: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | ===== Download ===== | ||
+ | {{:pm:prj2024:alucaci:guitar_tuner.zip|}} | ||
+ | |||
+ | ===== Bibliografie ===== | ||
+ | * FFT: [[https://en.wikipedia.org/wiki/Fast_Fourier_transform#:~:text=A%20Fast%20Fourier%20Transform%20(FFT,frequency%20domain%20and%20vice%20versa. | see]] | ||
+ | * FFT Windowing: [[https://download.ni.com/evaluation/pxi/Understanding%20FFTs%20and%20Windowing.pdf|see]] | ||
+ | * ATMega328P: [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf | see]] | ||
+ | * LCD: [[https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf | see]] | ||
+ | * LED RGB: [[https://datasheetspdf.com/datasheet/KY-016.html|see]] |