Kazalo:

Plesni vodnjak: Arduino z analizatorjem spektra MSGEQ7: 8 korakov
Plesni vodnjak: Arduino z analizatorjem spektra MSGEQ7: 8 korakov

Video: Plesni vodnjak: Arduino z analizatorjem spektra MSGEQ7: 8 korakov

Video: Plesni vodnjak: Arduino z analizatorjem spektra MSGEQ7: 8 korakov
Video: Умный Гараж. Делаем Автоматику в Гараж. Умный дом в гараже 2024, Julij
Anonim
Plesni vodnjak: Arduino z analizatorjem spektra MSGEQ7
Plesni vodnjak: Arduino z analizatorjem spektra MSGEQ7

Sprejem zvočnega signala in pretvorba v vizualno ali mehansko reakcijo je zelo zanimiv. V tem projektu bomo uporabili Arduino Mega za povezavo s spektralnim analizatorjem MSGEQ7, ki sprejema vhodni avdio signal in na njem izvaja pasovno filtriranje, da ga razdeli na 7 glavnih frekvenčnih pasov. Arduino bo nato analiziral analogni signal vsakega frekvenčnega pasu in ustvaril dejanje.

1. korak: Cilji projekta

Ta projekt bo obravnaval 3 načine delovanja:

  1. LED diode so priključene na digitalne zatiče PWM, da se odzovejo na frekvenčne pasove
  2. LED diode so povezane z digitalnimi zatiči, da se odzovejo na frekvenčne pasove
  3. Črpalke so povezane z Arduino Mega preko gonilnikov motorja in reagirajo na frekvenčne pasove

2. korak: Teorija

Teorija
Teorija
Teorija
Teorija

Če govorimo o ICGE analizatorju spektra MSGEQ7, lahko rečemo, da ima notranje 7 pasovne prehodne filtre, ki razdelijo vhodni zvočni signal na 7 glavnih pasov: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz in 16 kHz.

Izhod vsakega filtra je izbran kot izhod IC z uporabo multiplekserja. Ta multiplekser ima izbirne vrstice, ki jih upravlja notranji binarni števec. Tako lahko rečemo, da mora števec šteti od 0 do 6 (000 do 110 v binarnem sistemu), da omogoči prehod enega pasu hkrati. Tako je jasno, da bi morala koda Arduina ponastaviti števec, ko doseže število 7.

Če pogledamo diagram vezja MSGEQ7, lahko vidimo, da za krmiljenje notranje ure oscilatorja uporabljamo frekvenčni sprejemnik RC. nato uporabimo filtriranje RC elementov na vhodnih avdio signalnih vratih.

3. korak: Postopki

Postopki
Postopki

Glede na izvorno stran (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) lahko vidimo, da izvorna koda obravnava izhode kot signale PWM, ki se ponavljajo. lahko nekatere kodne vrstice spremenimo, da ustrezajo našim ciljem.

Opazimo lahko, da če imamo stereo vtičnico, lahko podvojimo vhodni upor in kondenzator na drugi kanal. Napajamo MSGEQ7 iz Arduino VCC (5 voltov) in GND. MSGEQ7 bomo priključili na ploščo Arduino. Raje uporabljam Arduino Mega, saj ima zatiče PWM, primerne za projekt. Izhod ICGEQ7 IC je priključen na analogni pin A0, STROBE je priključen na pin 2 Arduino Mega in RESET je priključen na pin 3.

4. korak: Načini delovanja: 1- LED kot PWM digitalni izhodi

Načini delovanja: 1- LED kot PWM digitalni izhodi
Načini delovanja: 1- LED kot PWM digitalni izhodi

V skladu z izvorno kodo lahko izhodne LED diode priključimo na zatiče od 4 do 10

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

Potem lahko opazimo, da LED diode plešejo glede na moč vsakega frekvenčnega pasu.

5. korak: Načini delovanja: 2- LED kot digitalni izhodi

Image
Image
Načini delovanja: 3 črpalke kot digitalni izhodi
Načini delovanja: 3 črpalke kot digitalni izhodi

Izhodne LED diode lahko priključimo na vse digitalne zatiče.

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

Potem lahko opazimo, da LED utripa glede na moč vsakega frekvenčnega pasu.

Korak 6: Načini delovanja: 3 črpalke kot digitalni izhodi

Načini delovanja: 3 črpalke kot digitalni izhodi
Načini delovanja: 3 črpalke kot digitalni izhodi

V tem zadnjem načinu bomo priključili modul gonilnika motorja L298N na izhode Arduina. to nam omogoča nadzor delovanja črpalke na podlagi izhoda analizatorja spektra MSGEQ7.

Kot je znano, nam gonilniki motorjev omogočajo nadzor delovanja priključenih motorjev ali črpalk na podlagi generiranega signala iz Arduina, ne da bi pri tem potopili tok iz Arduina, namesto tega napajajo motorje neposredno iz priključenega vira energije.

Če kodo izvajamo kot surov vir, črpalke morda ne bodo delovale pravilno. To je zato, ker je signal PWM nizek in ne bo primeren za voznika motorja, da poganja motorje ali črpalke in daje ustrezen tok. Zato priporočam, da povečate vrednost PWM z množenjem analognih odčitkov iz A0 s faktorjem večjim od 1,3. To pomaga, da je kartiranje primerno za voznika motorja. Priporočam od 1,4 do 1,6. Prav tako lahko preslikamo PWM na 50 do 255, da se prepričamo, da bo vrednost PWM primerna.

Svetleče diode lahko povežemo skupaj z izhodi za gonilnike motorjev, vendar LED diode ne bodo tako dobro utripale kot prej, ko so bile vrednosti PWM povečane. Zato predlagam, da jih povežete z digitalnimi zatiči od 40 do 52.

7. korak: Stiki

Tako sem vesel, da slišite povratne informacije od vas. Prosim, ne oklevajte in se pridružite mojim kanalom na:

YouTube:

Instagram: @preprostodigital010

Twitter: @preprosto01Digital

Priporočena: