Daftar Isi:

Air Mancur Menari: Arduino Dengan MSGEQ7 Spectrum Analyzer: 8 Langkah
Air Mancur Menari: Arduino Dengan MSGEQ7 Spectrum Analyzer: 8 Langkah

Video: Air Mancur Menari: Arduino Dengan MSGEQ7 Spectrum Analyzer: 8 Langkah

Video: Air Mancur Menari: Arduino Dengan MSGEQ7 Spectrum Analyzer: 8 Langkah
Video: Ternyata begini mesin dan cara kerja Air Mancur Menari 2024, Juli
Anonim
Air Mancur Menari: Arduino Dengan MSGEQ7 Spectrum Analyzer
Air Mancur Menari: Arduino Dengan MSGEQ7 Spectrum Analyzer

Penerimaan sinyal audio dan mengubahnya menjadi reaksi visual atau mekanis sangat menarik. Dalam proyek ini kita akan menggunakan Arduino Mega untuk dihubungkan ke penganalisis spektrum MSGEQ7 yang mengambil sinyal audio input dan melakukan penyaringan band pass di atasnya untuk membaginya menjadi 7 pita frekuensi utama. Arduino kemudian akan menganalisis sinyal analog dari setiap pita frekuensi dan membuat tindakan.

Langkah 1: Tujuan Proyek

Proyek ini akan membahas 3 mode operasi:

  1. LED terhubung ke pin digital PWM untuk bereaksi terhadap pita frekuensi
  2. LED terhubung ke pin digital untuk bereaksi terhadap pita frekuensi
  3. Pompa terhubung ke Arduino Mega melalui driver Motor dan bereaksi terhadap pita frekuensi

Langkah 2: Teori

Teori
Teori
Teori
Teori

Jika kita berbicara tentang IC MSGEQ7 Spectrum Analyzer, kita dapat mengatakan bahwa ia memiliki filter pass 7 band internal yang membagi sinyal audio input menjadi 7 band utama: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2.5 kHz, 6.25 kHz dan 16 kHz.

Output dari masing-masing filter dipilih menjadi output dari IC dengan menggunakan multiplexer. Multiplexer itu memiliki garis pemilih yang dikendalikan oleh penghitung biner internal. Jadi kita dapat mengatakan bahwa penghitung harus menghitung dari 0 hingga 6 (000 hingga 110 dalam biner) untuk memungkinkan satu band lewat pada satu waktu. Itu menjelaskan bahwa kode Arduino harus dapat mengatur ulang penghitung setelah mencapai hitungan 7.

Jika kita melihat diagram rangkaian MSGEQ7, kita dapat melihat bahwa kita menggunakan tuner frekuensi RC untuk mengontrol clock internal osilator. kemudian kami menggunakan elemen filtering RC pada port sinyal input audio.

Langkah 3: Prosedur

Prosedur
Prosedur

Menurut halaman sumber (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) kita dapat melihat bahwa kode sumber berhubungan dengan output sebagai sinyal PWM yang berulang. kita dapat mengubah beberapa baris kode untuk menyesuaikan tujuan kita.

Kita dapat melihat bahwa jika kita memiliki jack stereo, kita dapat menggandakan resistor input dan kapasitor ke saluran kedua. Kami memberi daya pada MSGEQ7 dari Arduino VCC (5 volt) dan GND. Kami akan menghubungkan MSGEQ7 ke papan Arduino. Saya lebih suka menggunakan Arduino Mega karena memiliki pin PWM yang cocok untuk proyek tersebut. Output dari IC MSGEQ7 terhubung ke pin analog A0, STROBE terhubung ke pin 2 dari Arduino Mega dan RESET terhubung ke pin 3.

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

Mode Operasi: 1- LED Sebagai Output Digital PWM
Mode Operasi: 1- LED Sebagai Output Digital PWM

Menurut kode sumber, kita dapat menghubungkan LED output ke pin 4 hingga 10

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

Kemudian kita dapat melihat tarian LED pada kekuatan masing-masing pita frekuensi.

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

Image
Image
Mode Operasi: 3- Pompa Sebagai Output Digital
Mode Operasi: 3- Pompa Sebagai Output Digital

Kami dapat menghubungkan LED output ke pin digital apa pun.

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

Kemudian kita dapat melihat LED berkedip pada kekuatan masing-masing pita frekuensi.

Langkah 6: Mode Operasi: 3- Pompa Sebagai Output Digital

Mode Operasi: 3- Pompa Sebagai Output Digital
Mode Operasi: 3- Pompa Sebagai Output Digital

Dalam mode terakhir ini kita akan menghubungkan modul driver motor L298N ke output Arduino. ini memungkinkan kami untuk mengontrol pengoperasian pompa berdasarkan keluaran penganalisis spektrum MSGEQ7.

Seperti diketahui, driver motor memungkinkan kita untuk mengontrol pengoperasian motor atau pompa yang terhubung berdasarkan sinyal yang dihasilkan dari Arduino tanpa menenggelamkan arus apa pun dari Arduino, melainkan memberi daya motor langsung dari sumber daya yang terhubung.

Jika kami menjalankan kode sebagai sumber mentah, pompa mungkin tidak beroperasi dengan benar. Itu karena sinyal PWM rendah dan tidak akan cocok untuk driver motor untuk menjalankan motor atau pompa dan memberikan arus yang sesuai. Itu sebabnya saya merekomendasikan untuk meningkatkan nilai PWM dengan mengalikan pembacaan analog dari A0 dengan faktor yang lebih besar dari 1.3. Ini membantu pemetaan agar sesuai untuk pengemudi motor. Saya merekomendasikan 1,4 hingga 1,6. Kami juga dapat memetakan kembali PWM menjadi 50 hingga 255 untuk memastikan bahwa nilai PWM akan sesuai.

Kita dapat menghubungkan LED bersama dengan output untuk driver motor, tetapi LED tidak akan berkedip dengan cara yang terlihat baik seperti sebelumnya karena nilai PWM telah ditingkatkan. Jadi saya sarankan untuk tetap terhubung ke pin digital 40 hingga 52.

Langkah 7: Kontak

Sangat senang mendengar masukan dari Anda. Tolong jangan ragu untuk bergabung dengan saluran saya di:

YouTube:

Instagram: @simplydigital010

Twitter: @simply01Digital

Direkomendasikan: