Turinys:

Šokantis fontanas: „Arduino“su MSGEQ7 spektro analizatoriumi: 8 žingsniai
Šokantis fontanas: „Arduino“su MSGEQ7 spektro analizatoriumi: 8 žingsniai

Video: Šokantis fontanas: „Arduino“su MSGEQ7 spektro analizatoriumi: 8 žingsniai

Video: Šokantis fontanas: „Arduino“su MSGEQ7 spektro analizatoriumi: 8 žingsniai
Video: sokantis fontanas 2024, Liepa
Anonim
Šokantis fontanas: „Arduino“su MSGEQ7 spektro analizatoriumi
Šokantis fontanas: „Arduino“su MSGEQ7 spektro analizatoriumi

Garso signalo priėmimas ir pavertimas vaizdine ar mechanine reakcija yra labai įdomus. Šiame projekte mes naudosime „Arduino Mega“, kad būtų prijungtas prie spektro analizatoriaus MSGEQ7, kuris priima įvesties garso signalą ir atliksime juostos pralaidumo filtravimą, kad padalintume jį į 7 pagrindines dažnių juostas. Tada „Arduino“išanalizuos kiekvienos dažnių juostos analoginį signalą ir sukurs veiksmą.

1 žingsnis: Projekto tikslai

Šiame projekte bus aptariami 3 veikimo būdai:

  1. Šviesos diodai yra prijungti prie PWM skaitmeninių kaiščių, kad reaguotų į dažnių juostas
  2. Šviesos diodai yra prijungti prie skaitmeninių kaiščių, kad reaguotų į dažnių juostas
  3. Siurbliai prijungti prie „Arduino Mega“per variklio tvarkykles ir reaguoja į dažnių juostas

2 žingsnis: teorija

Teorija
Teorija
Teorija
Teorija

Jei kalbėsime apie MSGEQ7 spektro analizatoriaus IC, galime pasakyti, kad jis turi vidinius 7 juostų praėjimo filtrus, kurie padalija įvesties garso signalą į 7 pagrindines juostas: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz ir 16 kHz.

Kiekvieno filtro išvestis pasirenkama kaip IC išvestis naudojant multiplekserį. Šis multiplekseris turi selektorių linijas, valdomas vidinio dvejetainio skaitiklio. Taigi galime pasakyti, kad skaitiklis turėtų būti skaičiuojamas nuo 0 iki 6 (dvejetainis skaičius nuo 000 iki 110), kad vienu metu būtų galima praeiti viena juosta. Tai aiškiai parodo, kad „Arduino“kodas turėtų sugebėti iš naujo nustatyti skaitiklį, kai jis pasieks 7 skaičių.

Jei pažvelgsime į MSGEQ7 grandinės schemą, pamatysime, kad mes naudojame RC dažnio imtuvą, kad valdytume osciliatoriaus vidinį laikrodį. tada mes naudojame filtruojančius RC elementus įvesties garso signalo prievade.

3 žingsnis: procedūros

Procedūros
Procedūros

Remiantis šaltinio puslapiu (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) matome, kad šaltinio kodas išvestis tvarko kaip pasikartojančius PWM signalus. galime pakeisti kai kurias kodo eilutes, kad atitiktų mūsų tikslus.

Galime pastebėti, kad jei turime stereo lizdą, mes galime padvigubinti įvesties rezistorių ir kondensatorių iki antrojo kanalo. Maitiname MSGEQ7 iš „Arduino VCC“(5 voltai) ir GND. Mes prijungsime MSGEQ7 prie „Arduino“plokštės. Man labiau patinka naudoti „Arduino Mega“, nes jis turi projektui tinkamus PWM kaiščius. MSGEQ7 IC išvestis yra prijungta prie analoginio kaiščio A0, STROBE yra prijungtas prie „Arduino Mega“2 kaiščio, o „RESET“yra prijungtas prie 3 kaiščio.

4 žingsnis: Veikimo režimai: 1- šviesos diodai kaip PWM skaitmeniniai išėjimai

Veikimo režimai: 1- šviesos diodai kaip PWM skaitmeniniai išėjimai
Veikimo režimai: 1- šviesos diodai kaip PWM skaitmeniniai išėjimai

Pagal šaltinio kodą išvesties šviesos diodus galime prijungti prie kaiščių nuo 4 iki 10

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

Tada galime pastebėti, kad šviesos diodai šoka pagal kiekvienos dažnių juostos stiprumą.

5 žingsnis: Veikimo režimai: 2 šviesos diodai kaip skaitmeniniai išėjimai

Image
Image
Veikimo režimai: 3 siurbliai kaip skaitmeniniai išėjimai
Veikimo režimai: 3 siurbliai kaip skaitmeniniai išėjimai

Išvesties šviesos diodus galime prijungti prie bet kokių skaitmeninių kaiščių.

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

Tada galime pastebėti, kad šviesos diodai mirksi kiekvienos dažnių juostos stiprumu.

6 žingsnis: Veikimo režimai: 3 siurbliai kaip skaitmeniniai išėjimai

Veikimo režimai: 3 siurbliai kaip skaitmeniniai išėjimai
Veikimo režimai: 3 siurbliai kaip skaitmeniniai išėjimai

Šiame paskutiniame režime mes prijungsime L298N variklio tvarkyklės modulį prie „Arduino“išėjimų. tai leidžia mums valdyti siurblio veikimą pagal MSGEQ7 spektro analizatoriaus išvestį.

Kaip žinoma, variklių tvarkyklės leidžia mums valdyti prijungtų variklių ar siurblių veikimą, remiantis generuojamu „Arduino“signalu, nenusileidžiant jokiai „Arduino“srovei, o varikliai maitinami tiesiai iš prijungto maitinimo šaltinio.

Jei vykdysime kodą kaip neapdorotą šaltinį, siurbliai gali neveikti tinkamai. Taip yra todėl, kad PWM signalas yra silpnas ir nebus tinkamas variklio vairuotojui paleisti variklius ar siurblius ir tiekti tinkamą srovę. Štai kodėl aš rekomenduoju padidinti PWM vertę, padauginus analoginius rodmenis iš A0 su koeficientu, didesniu nei 1,3. Tai padeda žemėlapiui būti tinkamam variklio vairuotojui. Aš rekomenduoju nuo 1,4 iki 1,6. Taip pat galime pertvarkyti PWM nuo 50 iki 255, kad būtume tikri, jog PWM vertė bus tinkama.

Mes galime prijungti šviesos diodus kartu su variklių tvarkyklių išėjimais, tačiau šviesos diodai nemirksės taip gerai, kaip anksčiau, nes padidėjo PWM vertės. Taigi siūlau juos prijungti prie skaitmeninių kaiščių nuo 40 iki 52.

7 žingsnis: kontaktai

Labai malonu girdėti atsiliepimus iš jūsų. Nedvejodami prisijunkite prie mano kanalų:

„YouTube“:

„Instagram“: @simpledigital010

„Twitter“: @simple01Digital

Rekomenduojamas: