Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Langkah
Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Langkah
Anonim
Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer
Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer

Penerimaan isyarat audio dan menukarnya menjadi reaksi visual atau mekanikal sangat menarik. Dalam projek ini kita akan menggunakan Arduino Mega untuk dihubungkan dengan penganalisis spektrum MSGEQ7 yang mengambil isyarat audio input dan melakukan penyaringan pass band di atasnya untuk membaginya menjadi 7 band frekuensi utama. Arduino kemudian akan menganalisis isyarat analog setiap jalur frekuensi dan membuat tindakan.

Langkah 1: Objektif Projek

Projek ini akan membincangkan 3 kaedah operasi:

  1. LED disambungkan ke pin digital PWM untuk bertindak balas terhadap jalur frekuensi
  2. LED disambungkan ke pin digital untuk bertindak balas pada jalur frekuensi
  3. Pam disambungkan ke Arduino Mega melalui pemacu Motor dan bertindak balas terhadap jalur frekuensi

Langkah 2: Teori

Teori
Teori
Teori
Teori

Sekiranya kita bercakap mengenai IC Analisis Spektrum MSGEQ7, kita boleh mengatakan bahawa ia mempunyai penapis lulus 7 jalur dalaman yang membahagikan isyarat audio input menjadi 7 jalur utama: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2.5 kHz, 6.25 kHz dan 16 kHz.

Output setiap filter dipilih untuk menjadi output IC dengan menggunakan multiplexer. Multiplexer itu mempunyai garis pemilih yang dikendalikan oleh pembilang binari dalaman. Oleh itu, kita boleh mengatakan bahawa pembilang harus dihitung dari 0 hingga 6 (000 hingga 110 dalam binari) untuk membolehkan satu jalur berlalu pada satu masa. Itu menjelaskan bahawa kod Arduino harus dapat mengatur semula kaunter setelah mencapai kiraan 7.

Sekiranya kita melihat gambarajah litar MSGEQ7, kita dapat melihat bahawa kita menggunakan penala frekuensi RC untuk mengawal jam dalaman pengayun. maka kami menggunakan elemen RC penyaringan di port isyarat audio input.

Langkah 3: Prosedur

Prosedur
Prosedur

Menurut halaman sumber (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) kita dapat melihat bahawa kod sumber berurusan dengan output sebagai isyarat PWM yang berulang. kita boleh mengubah beberapa baris kod agar sesuai dengan tujuan kita.

Kita dapat melihat bahawa jika kita mempunyai bicu stereo, kita boleh menggandakan perintang input dan kapasitor ke saluran kedua. Kami menghidupkan MSGEQ7 dari Arduino VCC (5 volt) dan GND. Kami akan menghubungkan MSGEQ7 ke papan Arduino. Saya lebih suka menggunakan Arduino Mega kerana ia mempunyai pin PWM yang sesuai untuk projek ini. Output IC MSGEQ7 disambungkan ke pin analog A0, STROBE disambungkan ke pin 2 dari Arduino Mega dan RESET disambungkan ke pin 3.

Langkah 4: Mod Operasi: 1- LED Sebagai Output Digital PWM

Kaedah Pengoperasian: 1- LED Sebagai Output Digital PWM
Kaedah Pengoperasian: 1- LED Sebagai Output Digital PWM

Menurut kod sumber, kita boleh menyambungkan LED output ke pin 4 hingga 10

const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};

Kemudian kita dapat melihat LED menari berdasarkan kekuatan setiap jalur frekuensi.

Langkah 5: Mod Operasi: 2- LED Sebagai Output Digital

Image
Image
Kaedah Pengoperasian: 3- Pam Sebagai Keluaran Digital
Kaedah Pengoperasian: 3- Pam Sebagai Keluaran Digital

Kami boleh menyambungkan LED output ke mana-mana pin digital.

const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};

Kemudian kita dapat melihat LED berkelip berdasarkan kekuatan setiap jalur frekuensi.

Langkah 6: Kaedah Pengoperasian: 3- Pam Sebagai Keluaran Digital

Kaedah Pengoperasian: 3- Pam Sebagai Keluaran Digital
Kaedah Pengoperasian: 3- Pam Sebagai Keluaran Digital

Dalam mod terakhir ini kita akan menghubungkan modul pemacu motor L298N ke output Arduino. ini membolehkan kita mengawal operasi pam berdasarkan output penganalisis spektrum MSGEQ7.

Seperti yang diketahui, pemandu motor membolehkan kita mengawal operasi motor atau pam yang disambungkan berdasarkan isyarat yang dihasilkan dari Arduino tanpa menenggelamkan arus dari Arduino, sebaliknya mereka menggerakkan motor secara langsung dari sumber kuasa yang disambungkan.

Sekiranya kita menjalankan kod sebagai sumber mentah, pam mungkin tidak berfungsi dengan baik. Ini kerana isyarat PWM rendah dan tidak sesuai untuk pemandu motor untuk menjalankan motor atau pam dan memberikan arus yang sesuai. Itulah sebabnya saya mengesyorkan untuk meningkatkan nilai PWM dengan mengalikan bacaan analog dari A0 dengan faktor yang lebih besar daripada 1.3. Ini membantu pemetaan agar sesuai untuk pemandu motor. Saya cadangkan 1.4 hingga 1.6. Kita juga dapat memetakan semula PWM menjadi 50 hingga 255 untuk memastikan bahawa nilai PWM akan sesuai.

Kita boleh menyambungkan LED bersama-sama dengan output untuk pemandu motor, tetapi LED tidak akan berkedip dengan cara yang kelihatan baik seperti sebelumnya kerana nilai PWM telah meningkat. Oleh itu, saya cadangkan agar mereka tetap terhubung ke pin digital 40 hingga 52.

Langkah 7: Kenalan

Senang mendengar maklum balas daripada anda. Jangan ragu untuk menyertai saluran saya di:

YouTube:

Instagram: @ Simplydigital010

Twitter: @ Simply01Digital

Disyorkan: