Mündəricat:

Rəqs Fəvvarəsi: MSGEQ7 Spektr Analizatoru ilə Arduino: 8 addım
Rəqs Fəvvarəsi: MSGEQ7 Spektr Analizatoru ilə Arduino: 8 addım

Video: Rəqs Fəvvarəsi: MSGEQ7 Spektr Analizatoru ilə Arduino: 8 addım

Video: Rəqs Fəvvarəsi: MSGEQ7 Spektr Analizatoru ilə Arduino: 8 addım
Video: Fəvvarələrin rəqsi 2024, Noyabr
Anonim
Rəqs Fəvvarəsi: MSGEQ7 Spektr Analizatoru ilə Arduino
Rəqs Fəvvarəsi: MSGEQ7 Spektr Analizatoru ilə Arduino

Səs siqnalının qəbul edilməsi və onu vizual və ya mexaniki reaksiyaya çevirmək çox maraqlıdır. Bu layihədə, daxil olan səs siqnalını alan MSGEQ7 bir spektr analizatoruna qoşulmaq üçün Arduino Mega istifadə edəcəyik və onu 7 əsas tezlik bandına bölmək üçün bant ötürmə süzgəcini həyata keçirəcəyik. Arduino daha sonra hər bir frekans bandının analoq siqnalını təhlil edəcək və hərəkət yaradacaq.

Addım 1: Layihənin məqsədləri

Bu layihədə 3 iş rejimi müzakirə ediləcək:

  1. LEDlər, tezlik diapazonlarına reaksiya vermək üçün PWM rəqəmsal pinlərinə qoşulur
  2. LEDlər, tezlik diapazonlarına reaksiya vermək üçün rəqəmsal pinlərə bağlanır
  3. Nasoslar Arduino Mega -ya Motor sürücüləri vasitəsi ilə qoşulur və tezlik diapazonlarına reaksiya verir

Addım 2: nəzəriyyə

Nəzəriyyə
Nəzəriyyə
Nəzəriyyə
Nəzəriyyə

MSGEQ7 Spektr Analizatoru IC -dən bəhs etsək, giriş səs siqnalını 7 əsas zolağa ayıran daxili 7 bant keçid filtrinə malik olduğunu söyləyə bilərik: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2.5 kHz, 6.25 kHz və 16 kHz.

Hər bir filtrin çıxışı bir multiplekser istifadə edərək IC -nin çıxışı olaraq seçilir. Bu multiplekserin daxili ikili sayğacla idarə olunan selektor xətləri var. Beləliklə deyə bilərik ki, sayğac bir anda bir bandın keçməsinə icazə vermək üçün 0 -dan 6 -ya (ikili olaraq 000 -dan 110 -a) qədər saymalıdır. Bu, Arduino kodunun sayını 7 -ə çatdıqda sayğacı sıfırlaya bilməli olduğunu açıq şəkildə göstərir.

MSGEQ7 -nin dövrə diaqramına nəzər salsaq, osilatorun daxili saatını idarə etmək üçün RC tezlik tünerindən istifadə etdiyimizi görə bilərik. sonra giriş səs siqnal portunda filtrləmə RC elementlərindən istifadə edirik.

Addım 3: Prosedurlar

Prosedurlar
Prosedurlar

Mənbə səhifəsinə görə (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) mənbə kodunun təkrarlanan PWM siqnalları kimi çıxışlarla məşğul olduğunu görə bilərik. Hədəflərimizə uyğun olaraq bəzi kod sətirlərini dəyişə bilərik.

Stereo jakımız varsa, giriş müqavimətini və kondansatörü ikinci kanala ikiqat artıra biləcəyimizi görə bilərik. MSGEQ7 -ni Arduino VCC (5 volt) və GND -dən alırıq. MSGEQ7 -ni Arduino lövhəsinə bağlayacağıq. Layihə üçün uyğun PWM pinləri olduğu üçün Arduino Mega -dan istifadə etməyi üstün tuturam. MSGEQ7 IC -nin çıxışı analog A0 pininə, STROBE Arduino Mega -nın 2 -ci pininə və RESET -in pin 3 -ə qoşulur.

Addım 4: İşləmə rejimi: 1- PWM Rəqəmsal Çıxışlar Olaraq LEDlər

İş rejimi: 1- PWM Rəqəmsal Çıxışlar Olaraq LEDlər
İş rejimi: 1- PWM Rəqəmsal Çıxışlar Olaraq LEDlər

Mənbə koduna görə, çıxış LED -lərini 4 -dən 10 -a qədər pinlərə qoşa bilərik

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

Sonra LED -lərin hər bir tezlik bandının gücünə görə rəqs etdiyini görə bilərik.

Addım 5: İşləmə rejimi: 2- Rəqəmsal Çıxış Olaraq LEDlər

Image
Image
İş rejimi: 3- Pompalar rəqəmsal çıxış kimi
İş rejimi: 3- Pompalar rəqəmsal çıxış kimi

Çıxış LED -lərini istənilən rəqəmsal pinlərə qoşa bilərik.

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

Sonra, hər bir tezlik bandının gücünə görə LED -lərin yanıb -sönməsini görə bilərik.

Addım 6: İşləmə rejimi: 3- Pompalar rəqəmsal çıxış kimi

İş rejimi: 3- Pompalar rəqəmsal çıxış kimi
İş rejimi: 3- Pompalar rəqəmsal çıxış kimi

Bu son rejimdə L298N motor sürücü modulunu Arduinonun çıxışlarına bağlayacağıq. bu, MSGEQ7 spektr analizatorunun çıxışına əsaslanaraq nasosun işini idarə etməyə imkan verir.

Bildiyiniz kimi, motor sürücüləri, Arduino -dan heç bir cərəyan batırmadan, Arduino -dan alınan siqnal əsasında bağlı mühərriklərin və ya nasosların işini idarə etməyimizə imkan verir, bunun əvəzinə mühərrikləri birbaşa bağlı enerji mənbəyindən alırlar.

Kodu qaynaq olaraq işləsək, nasoslar düzgün işləməyə bilər. Bunun səbəbi, PWM siqnalının aşağı olması və motor sürücüsünün mühərrikləri və ya nasosları işə salması və uyğun bir cərəyan verməsi üçün uyğun olmayacaqdır. Buna görə AW -dən analoq oxunuşları 1,3 -dən çox faktorla vuraraq PWM dəyərini artırmağı məsləhət görürəm. Bu, xəritənin motor sürücüsü üçün uyğun olmasına kömək edir. 1.4 ilə 1.6 arasında məsləhət görürəm. Ayrıca, PWM dəyərinin uyğun olacağından əmin olmaq üçün PWM -ni 50 ilə 255 arasında dəyişə bilərik.

LED -ləri motor sürücülərinin çıxışları ilə birləşdirə bilərik, lakin PWM dəyərləri artdıqca LED -lər əvvəlki kimi yaxşı görünməyəcək şəkildə yanıb sönməyəcək. Buna görə də onları 40 -dan 52 -dək rəqəmsal pinlərə bağlamağı təklif edirəm.

Addım 7: Əlaqələr

Sizdən geribildirim eşitməkdən çox məmnunam. Zəhmət olmasa kanalıma qoşulmaqdan çəkinməyin:

YouTube:

Instagram: @sadəcədigital010

Twitter: @sadəcə01Digital

Tövsiyə: