Satura rādītājs:

Dejojošā strūklaka: Arduino ar MSGEQ7 spektra analizatoru: 8 soļi
Dejojošā strūklaka: Arduino ar MSGEQ7 spektra analizatoru: 8 soļi

Video: Dejojošā strūklaka: Arduino ar MSGEQ7 spektra analizatoru: 8 soļi

Video: Dejojošā strūklaka: Arduino ar MSGEQ7 spektra analizatoru: 8 soļi
Video: Vēja ģenerators 2024, Novembris
Anonim
Dejojošā strūklaka: Arduino ar MSGEQ7 spektra analizatoru
Dejojošā strūklaka: Arduino ar MSGEQ7 spektra analizatoru

Ļoti interesanta ir audio signāla uztveršana un pārvēršana vizuālā vai mehāniskā reakcijā. Šajā projektā mēs izmantosim Arduino Mega, lai to savienotu ar spektra analizatoru MSGEQ7, kas uztver ieejas audio signālu un veic filtru, lai to sadalītu 7 galvenajās frekvenču joslās. Pēc tam Arduino analizēs katras frekvenču joslas analogo signālu un izveidos darbību.

1. solis: projekta mērķi

Šajā projektā tiks apskatīti 3 darbības veidi:

  1. Gaismas diodes ir pievienotas PWM digitālajām tapām, lai reaģētu uz frekvenču joslām
  2. Gaismas diodes ir savienotas ar digitālajām tapām, lai reaģētu uz frekvenču joslām
  3. Sūkņi ir savienoti ar Arduino Mega, izmantojot motora draiverus, un reaģē uz frekvenču joslām

2. solis: teorija

Teorija
Teorija
Teorija
Teorija

Ja mēs runājam par MSGEQ7 spektra analizatora IC, mēs varam teikt, ka tam ir iekšējie 7 joslu caurlaides filtri, kas sadala ieejas audio signālu 7 galvenajās joslās: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz un 16 kHz.

Katra filtra izeja tiek izvēlēta kā IC izeja, izmantojot multipleksoru. Šim multipleksoram ir selektoru līnijas, ko kontrolē iekšējais binārais skaitītājs. Tātad mēs varam teikt, ka skaitītājam vajadzētu skaitīt no 0 līdz 6 (000 līdz 110 binārajā versijā), lai vienlaikus varētu pāriet viena josla. Tas skaidri parāda, ka Arduino kodam vajadzētu būt iespējai atiestatīt skaitītāju, tiklīdz tas sasniegs 7.

Ja paskatāmies uz MSGEQ7 shēmu, mēs redzam, ka mēs izmantojam RC frekvences uztvērēju, lai kontrolētu oscilatora iekšējo pulksteni. tad mēs izmantojam filtrējošos RC elementus ieejas audio signāla portā.

3. darbība. Procedūras

Procedūras
Procedūras

Saskaņā ar avota lapu (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) mēs redzam, ka avota kods izvadi apstrādā kā atkārtotus PWM signālus. mēs varam mainīt dažas koda rindas, lai tās atbilstu mūsu mērķiem.

Mēs varam pamanīt, ka, ja mums ir stereo ligzda, mēs varam dubultot ieejas rezistoru un kondensatoru līdz otrajam kanālam. Mēs barojam MSGEQ7 no Arduino VCC (5 volti) un GND. Mēs savienosim MSGEQ7 ar Arduino plati. Es gribētu izmantot Arduino Mega, jo tam ir projektam piemērotas PWM tapas. MSGEQ7 IC izeja ir savienota ar analogo tapu A0, STROBE ir pievienota Arduino Mega 2. tapai, un RESET ir pievienota 3. tapai.

4. solis: darbības režīmi: 1- gaismas diodes kā PWM digitālās izejas

Darbības režīmi: 1- gaismas diodes kā PWM digitālās izejas
Darbības režīmi: 1- gaismas diodes kā PWM digitālās izejas

Saskaņā ar avota kodu izejas gaismas diodes varam savienot ar tapām no 4 līdz 10

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

Tad mēs varam pamanīt, ka gaismas diodes dejo pēc katras frekvenču joslas stipruma.

5. darbība: darbības režīmi: 2 gaismas diodes kā digitālās izejas

Image
Image
Darbības režīmi: 3 sūkņi kā digitālās izejas
Darbības režīmi: 3 sūkņi kā digitālās izejas

Mēs varam savienot izejas gaismas diodes ar jebkuru digitālo tapu.

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

Tad mēs varam pamanīt, ka gaismas diodes mirgo pēc katras frekvenču joslas stipruma.

6. darbība: darbības režīmi: 3- sūkņi kā digitālās izejas

Darbības režīmi: 3 sūkņi kā digitālās izejas
Darbības režīmi: 3 sūkņi kā digitālās izejas

Šajā pēdējā režīmā mēs savienosim L298N motora draivera moduli ar Arduino izejām. tas ļauj mums kontrolēt sūkņa darbību, pamatojoties uz MSGEQ7 spektra analizatora izeju.

Kā zināms, motoru draiveri ļauj mums kontrolēt pievienoto motoru vai sūkņu darbību, pamatojoties uz ģenerēto Arduino signālu, nenogremdējot strāvu no Arduino, tā vietā tie baro motorus tieši no pievienotā barošanas avota.

Ja mēs izpildām kodu kā neapstrādātu avotu, sūkņi var nedarboties pareizi. Tas ir tāpēc, ka PWM signāls ir zems un nebūs piemērots motora vadītājam, lai darbinātu motorus vai sūkņus un piegādātu piemērotu strāvu. Tāpēc es iesaku palielināt PWM vērtību, reizinot analogos rādījumus no A0 ar koeficientu, kas lielāks par 1,3. Tas palīdz kartēšanai būt piemērota motora vadītājam. Es iesaku no 1,4 līdz 1,6. Mēs varam arī pārveidot PWM no 50 līdz 255, lai pārliecinātos, ka PWM vērtība būs piemērota.

Mēs varam savienot gaismas diodes kopā ar motora draiveru izejām, taču gaismas diodes nemirgos labi redzamā veidā, kā iepriekš, jo PWM vērtības ir palielinātas. Tāpēc es iesaku tos savienot ar digitālajām tapām no 40 līdz 52.

7. solis: kontakti

Prieks dzirdēt atsauksmes no jums. Lūdzu, nevilcinieties pievienoties maniem kanāliem:

YouTube:

Instagram: @simpledigital010

Twitter: @simple01Digital

Ieteicams: