Obsah:

Tancujúca fontána: Arduino s spektrálnym analyzátorom MSGEQ7: 8 krokov
Tancujúca fontána: Arduino s spektrálnym analyzátorom MSGEQ7: 8 krokov

Video: Tancujúca fontána: Arduino s spektrálnym analyzátorom MSGEQ7: 8 krokov

Video: Tancujúca fontána: Arduino s spektrálnym analyzátorom MSGEQ7: 8 krokov
Video: Bublifuk, TMF 2024, November
Anonim
Tancujúca fontána: Arduino s spektrálnym analyzátorom MSGEQ7
Tancujúca fontána: Arduino s spektrálnym analyzátorom MSGEQ7

Veľmi zaujímavý je príjem zvukového signálu a jeho premena na vizuálnu alebo mechanickú reakciu. V tomto projekte použijeme Arduino Mega na pripojenie k analyzátoru spektra MSGEQ7, ktorý zachytí vstupný zvukový signál a vykoná na ňom pásmovú filtráciu, aby ho rozdelil do 7 hlavných frekvenčných pásiem. Arduino potom analyzuje analógový signál každého frekvenčného pásma a vytvorí akciu.

Krok 1: Ciele projektu

Tento projekt bude diskutovať o 3 režimoch prevádzky:

  1. LED diódy sú pripojené k digitálnym kolíkom PWM, aby reagovali na frekvenčné pásma
  2. LED diódy sú pripojené k digitálnym kolíkom, aby reagovali na frekvenčné pásma
  3. Čerpadlá sú k Arduino Mega pripojené prostredníctvom ovládačov motora a reagujú na frekvenčné pásma

Krok 2: Teória

Teória
Teória
Teória
Teória

Ak hovoríme o MSGEQ7 Spectrum Analyzer IC, môžeme povedať, že má interné 7 pásmové filtre, ktoré rozdeľujú vstupný zvukový signál do 7 hlavných pásiem: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz a 16 kHz.

Výstup každého filtra je zvolený tak, aby bol výstupom IC pomocou multiplexora. Tento multiplexor má selektorové vedenia riadené vnútorným binárnym počítadlom. Môžeme teda povedať, že počítadlo by malo počítať od 0 do 6 (000 až 110 v binárnom formáte), aby umožnilo prechod jedného pásma súčasne. Z toho je zrejmé, že kód Arduina by mal byť schopný vynulovať počítadlo, akonáhle dosiahne počet 7.

Ak sa pozrieme na schému zapojenia MSGEQ7, vidíme, že na ovládanie vnútorných hodín oscilátora používame RC frekvenčný tuner. potom použijeme filtračné RC prvky na vstupnom porte zvukového signálu.

Krok 3: Postupy

Postupy
Postupy

Podľa zdrojovej stránky (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) vidíme, že zdrojový kód sa zaoberá výstupmi ako signálmi PWM, ktoré sa opakujú. môžeme zmeniť niektoré z riadkov kódu tak, aby vyhovovali našim cieľom.

Môžeme si všimnúť, že ak máme stereo konektor, môžeme zdvojnásobiť vstupný odpor a kondenzátor do druhého kanála. Napájame MSGEQ7 z Arduino VCC (5 voltov) a GND. Pripojíme MSGEQ7 k doske Arduino. Radšej používam Arduino Mega, pretože má kolíky PWM vhodné pre projekt. Výstup MSGEQ7 IC je pripojený k analógovému pinu A0, STROBE je pripojený k pinu 2 Arduino Mega a RESET je pripojený k pinu 3.

Krok 4: Prevádzkové režimy: 1- LED diódy ako digitálne výstupy PWM

Prevádzkové režimy: 1- LED ako digitálne výstupy PWM
Prevádzkové režimy: 1- LED ako digitálne výstupy PWM

Podľa zdrojového kódu môžeme výstupné LED diódy pripojiť k pinom 4 až 10

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

Potom si môžeme všimnúť, že LED diódy tancujú podľa sily každého frekvenčného pásma.

Krok 5: Prevádzkové režimy: 2 LED diódy ako digitálne výstupy

Image
Image
Prevádzkové režimy: 3- čerpadlá ako digitálne výstupy
Prevádzkové režimy: 3- čerpadlá ako digitálne výstupy

Výstupné LED diódy môžeme pripojiť k akýmkoľvek digitálnym pinom.

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

Potom si môžeme všimnúť, že diódy LED blikajú podľa sily každého frekvenčného pásma.

Krok 6: Prevádzkové režimy: 3-čerpadlá ako digitálne výstupy

Prevádzkové režimy: 3- čerpadlá ako digitálne výstupy
Prevádzkové režimy: 3- čerpadlá ako digitálne výstupy

V tomto poslednom režime pripojíme modul ovládača motora L298N k výstupom Arduina. to nám umožňuje ovládať činnosť čerpadla na základe výstupu spektrálneho analyzátora MSGEQ7.

Ako je známe, motorové ovládače nám umožňujú ovládať činnosť pripojených motorov alebo čerpadiel na základe generovaného signálu z Arduina bez toho, aby z Arduina odoberali akýkoľvek prúd, namiesto toho napájajú motory priamo z pripojeného zdroja energie.

Ak spustíme kód ako surový zdroj, čerpadlá nemusia správne fungovať. Je to preto, že signál PWM je nízky a nebude vhodný pre vodiča motora na spustenie motorov alebo čerpadiel a dodanie vhodného prúdu. Preto odporúčam zvýšiť hodnotu PWM vynásobením analógových hodnôt od A0 s faktorom väčším ako 1,3. To pomáha mapovaniu byť vhodné pre vodiča motora. Odporúčam 1,4 až 1,6. Tiež môžeme premapovať PWM na 50 až 255, aby sme si boli istí, že hodnota PWM bude vhodná.

LED diódy môžeme pripojiť spolu s výstupmi pre ovládače motora, ale LED diódy nebudú blikať dobre viditeľným spôsobom ako predtým, pretože sa zvýšili hodnoty PWM. Preto navrhujem, aby boli pripojené k digitálnym pinom 40 až 52.

Krok 7: Kontakty

Som rád, že od vás počujem spätnú väzbu. Neváhajte sa pripojiť k mojim kanálom na:

YouTube:

Instagram: @simplydigital010

Twitter: @simply01Digital

Odporúča: