Mundarija:

Raqs favvorasi: MSGEQ7 spektr analizatori bilan Arduino: 8 qadam
Raqs favvorasi: MSGEQ7 spektr analizatori bilan Arduino: 8 qadam

Video: Raqs favvorasi: MSGEQ7 spektr analizatori bilan Arduino: 8 qadam

Video: Raqs favvorasi: MSGEQ7 spektr analizatori bilan Arduino: 8 qadam
Video: Tashkent City Park - Dancing Fountain Indian Song - Tashkent City Park Uzbekistan raqs favvorasi 2024, Noyabr
Anonim
Raqs favvorasi: MSGEQ7 spektr analizatori bilan Arduino
Raqs favvorasi: MSGEQ7 spektr analizatori bilan Arduino

Ovoz signalini qabul qilish va uni vizual yoki mexanik reaktsiyaga aylantirish juda qiziq. Ushbu loyihada biz Arduino Mega -ni MSGEQ7 spektr analizatoriga ulash uchun ishlatamiz, u kirish audio signalini oladi va uni 7 ta asosiy chastota diapazoniga bo'lish uchun tarmoqli o'tkazgichli filtrlashni amalga oshiradi. Keyin Arduino har bir chastota diapazonining analog signalini tahlil qiladi va harakat yaratadi.

1 -qadam: Loyihaning maqsadlari

Loyihada 3 ta ish tartibi muhokama qilinadi:

  1. LEDlar chastota diapazoniga reaksiya berish uchun PWM raqamli pinlariga ulangan
  2. LEDlar chastota diapazoniga ta'sir qilish uchun raqamli pinlarga ulangan
  3. Nasoslar Arduino Mega -ga Dvigatel drayverlari orqali ulanadi va chastota diapazoniga ta'sir ko'rsatadi

2 -qadam: nazariya

Nazariya
Nazariya
Nazariya
Nazariya

Agar biz MSGEQ7 spektr analizatori IC haqida gapiradigan bo'lsak, u kirish signalini 7 asosiy diapazonga ajratadigan ichki 7 diapazonli o'tish filtrlariga ega: 63 Gts, 160 Gts, 400 Gts, 1 kHz, 2,5 kHz, 6,25 kHz va 16 kHz.

Har bir filtrning chiqishi multipleksor yordamida IC ning chiqishi sifatida tanlanadi. Bu multipleksorda ichki ikkilik hisoblagich bilan boshqariladigan selektor chiziqlari mavjud. Aytishimiz mumkinki, hisoblagich bir vaqtning o'zida bitta tarmoqli o'tishiga ruxsat berish uchun 0 dan 6 gacha (ikkilikda 000 dan 110 gacha) bo'lishi kerak. Bu shuni aniq ko'rsatadiki, Arduino kodi hisoblagich 7 ga kirgandan keyin uni qayta o'rnatishi kerak.

Agar biz MSGEQ7 elektron sxemasini ko'rib chiqsak, biz osilatorning ichki soatini boshqarish uchun RC chastotali tyunerdan foydalanayotganimizni ko'rishimiz mumkin. keyin biz kirish ovozli signal portida filtrlash RC elementlaridan foydalanamiz.

3 -qadam: protseduralar

Protseduralar
Protseduralar

Manba sahifasiga ko'ra (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html), manba kodi chiqishlar bilan takrorlanadigan PWM signallari sifatida ishlashini ko'rishimiz mumkin. biz o'z maqsadlarimizga erishish uchun ba'zi kod qatorlarini o'zgartirishimiz mumkin.

Agar bizda stereo raz'em bo'lsa, kirish qarshiligi va kondansatkichini ikkinchi kanalga ikki barobar oshirishimiz mumkinligini sezishimiz mumkin. Biz MSGEQ7 -ni Arduino VCC (5 volts) va GND dan quvvatlaymiz. Biz MSGEQ7 ni Arduino kartasiga ulaymiz. Men Arduino Mega -dan foydalanishni afzal ko'raman, chunki u loyihaga mos PWM pinlariga ega. MSGEQ7 IC chiqishi A0 analog piniga, STROBE Arduino Mega 2 -piniga, RESET esa 3 -pinga ulangan.

4-qadam: Ish tartibi: 1- LEDlar PWM raqamli chiqishi sifatida

Ishlash usullari: 1- LEDlar PWM raqamli chiqishi sifatida
Ishlash usullari: 1- LEDlar PWM raqamli chiqishi sifatida

Manba kodiga ko'ra, biz chiqish LEDlarini 4 dan 10 gacha bo'lgan pinlarga ulashimiz mumkin

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

Keyin biz LEDlarning har bir chastota diapazonining kuchiga qarab raqsga tushishini ko'rishimiz mumkin.

5-qadam: Ish usullari: 2- LEDlar raqamli chiqish sifatida

Image
Image
Ish tartibi: 3- Nasoslar raqamli chiqish sifatida
Ish tartibi: 3- Nasoslar raqamli chiqish sifatida

Biz chiqish LEDlarini har qanday raqamli pinlarga ulashimiz mumkin.

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

Keyin biz LEDlarning har bir chastota diapazonining kuchiga qarab yonib turishini ko'rishimiz mumkin.

6-qadam: Ish usullari: 3- Nasoslar raqamli chiqish sifatida

Ishlash usullari: 3- Nasoslar raqamli chiqish sifatida
Ishlash usullari: 3- Nasoslar raqamli chiqish sifatida

Oxirgi rejimda biz L298N dvigatel drayveri modulini Arduino chiqishlariga ulaymiz. bu bizga MSGEQ7 spektr analizatorining chiqishi asosida nasosning ishlashini nazorat qilish imkonini beradi.

Ma'lumki, dvigatel drayverlari bizga Arduino -dan hech qanday oqim tushmasdan Arduino -dan ishlab chiqarilgan signal asosida ulangan dvigatellar yoki nasoslarning ishlashini boshqarishga imkon beradi, buning o'rniga ular dvigatellarni to'g'ridan -to'g'ri ulangan quvvat manbaidan quvvat oladi.

Agar biz kodni xom manba sifatida ishlatsak, nasoslar to'g'ri ishlamasligi mumkin. Buning sababi, PWM signalining pastligi va motor haydovchisining dvigatellar yoki nasoslarni ishga tushirishi va mos keladigan tokni uzatishi uchun mos kelmaydi. Shuning uchun men PWM qiymatini A0 analog ko'rsatkichlarini 1,3 dan katta omilga ko'paytirish orqali oshirishni tavsiya qilaman. Bu xaritani haydovchi uchun mos bo'lishiga yordam beradi. Men 1,4 dan 1,6 gacha tavsiya qilaman. Shuningdek, biz PWM qiymatining mos kelishiga ishonch hosil qilish uchun PWMni 50 dan 255 gacha o'zgartirishimiz mumkin.

Biz LED -larni dvigatel haydovchilarining chiqishlari bilan ulashimiz mumkin, lekin PWM qiymatlari oshgani uchun LEDlar avvalgidek yaxshi ko'rinmaydi. Shuning uchun men ularni 40 dan 52 gacha raqamli pinlar bilan bog'lab turishni taklif qilaman.

7 -qadam: Kontaktlar

Sizdan fikr -mulohazalarni eshitganimdan xursandman. Iltimos, mening kanallarimga qo'shilishga shoshilmang:

YouTube:

Instagram: @oddiydigital010

Twitter: @oddiy01Digital

Tavsiya: