Բովանդակություն:

Պարային շատրվան ՝ Arduino ՝ MSGEQ7 սպեկտրի անալիզատորով ՝ 8 քայլ
Պարային շատրվան ՝ Arduino ՝ MSGEQ7 սպեկտրի անալիզատորով ՝ 8 քայլ

Video: Պարային շատրվան ՝ Arduino ՝ MSGEQ7 սպեկտրի անալիզատորով ՝ 8 քայլ

Video: Պարային շատրվան ՝ Arduino ՝ MSGEQ7 սպեկտրի անալիզատորով ՝ 8 քայլ
Video: Music dance of water part 2 2024, Նոյեմբեր
Anonim
Պարող շատրվան. Arduino MSGEQ7 սպեկտրի անալիզատորով
Պարող շատրվան. Arduino MSGEQ7 սպեկտրի անալիզատորով

Շատ հետաքրքիր է աուդիո ազդանշանի ընդունումը և այն տեսողական կամ մեխանիկական ռեակցիայի վերածելը: Այս նախագծում մենք կօգտագործենք Arduino Mega- ն `սպեկտրի անալիզատոր MSGEQ7- ին միացնելու համար, որը վերցնում է մուտքային աուդիո ազդանշանը և դրա վրա կատարում ժապավենի անցում` այն բաժանելու 7 հիմնական հաճախականությունների: Այնուհետեւ Arduino- ն կվերլուծի յուրաքանչյուր հաճախականությունների անալոգային ազդանշանը և կստեղծի գործողություն:

Քայլ 1. jectրագրի նպատակները

Այս նախագիծը կքննարկի գործունեության 3 եղանակ.

  1. LED- ները միացված են PWM թվային կապումներին `արձագանքելու հաճախականությունների տիրույթներին
  2. LED- ները միացված են թվային կապումներին `արձագանքելու հաճախականությունների տիրույթներին
  3. Պոմպերը միացված են Arduino Mega- ին Motor վարորդների միջոցով և արձագանքում են հաճախականությունների տիրույթներին

Քայլ 2: Տեսություն

Տեսություն
Տեսություն
Տեսություն
Տեսություն

Եթե խոսենք MSGEQ7 Spectrum Analyzer IC- ի մասին, ապա կարող ենք ասել, որ այն ունի ներքին 7 գոտի անցնող զտիչներ, որոնք մուտքային ձայնային ազդանշանը բաժանում են 7 հիմնական տիրույթների ՝ 63 Հց, 160 Հց, 400 Հց, 1 կՀց, 2.5 կՀց, 6.25 կՀց և 16 կՀց

Յուրաքանչյուր ֆիլտրի ելքը ընտրվում է որպես IC- ի ելք `օգտագործելով մուլտիպլեքսեր: Այդ մուլտիպլեքսերն ունի ընտրիչ տողեր, որոնք վերահսկվում են ներքին երկուական հաշվիչով: Այսպիսով, մենք կարող ենք ասել, որ հաշվիչը պետք է հաշվի 0 -ից 6 -ից (երկուականից 000 -ից 110 -ը), որը թույլ կտա միանգամից մեկ գոտի անցնել: Դա պարզ է դարձնում, որ Arduino- ի ծածկագիրը պետք է կարողանա վերականգնել հաշվիչը, երբ այն հասնի 7 համարին:

Եթե մենք նայենք MSGEQ7- ի սխեմաներին, կարող ենք տեսնել, որ մենք օգտագործում ենք RC հաճախականությունների կարգավորիչ `տատանումների ներքին ժամացույցը վերահսկելու համար: ապա մենք օգտագործում ենք զտիչ RC տարրեր մուտքային ձայնային ազդանշանի նավահանգստում:

Քայլ 3: Ընթացակարգեր

Ընթացակարգեր
Ընթացակարգեր

Ըստ աղբյուրի էջի (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) մենք կարող ենք տեսնել, որ սկզբնաղբյուրը ելքերի հետ առնչվում է որպես PWM ազդանշաններ, որոնք կրկնվում են: մենք կարող ենք փոխել կոդի որոշ տողեր `մեր նպատակներին համապատասխան:

Մենք կարող ենք նկատել, որ եթե մենք ունենք ստերեո միակցիչ, ապա կարող ենք կրկնակի բարձրացնել մուտքային ռեզիստորը և կոնդենսատորը երկրորդ ալիքին: Մենք սնուցում ենք MSGEQ7- ը Arduino VCC- ից (5 վոլտ) և GND- ից: Մենք MSGEQ7- ը պետք է միացնենք Arduino տախտակին: Ես նախընտրում եմ օգտագործել Arduino Mega- ն, քանի որ այն ունի նախագծի համար հարմար PWM կապիչներ: MSGEQ7 IC- ի ելքը միացված է անալոգային A0 կապին, STROBE- ը միացված է Arduino Mega- ի 2 -րդ կապին, իսկ RESET- ը `3 -ին:

Քայլ 4. Գործողության եղանակները. 1- LED- ները `որպես PWM թվային ելքեր

Գործողության եղանակները. 1- LED- ները `որպես PWM թվային ելքեր
Գործողության եղանակները. 1- LED- ները `որպես PWM թվային ելքեր

Ըստ աղբյուրի կոդի, մենք կարող ենք ելքային LED- ները միացնել 4 -ից 10 -ի կապումներին

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

Այնուհետև մենք կարող ենք նկատել, որ LED- ները պարում են յուրաքանչյուր հաճախականության ուժի վրա:

Քայլ 5. Գործողության եղանակները. 2- LED- ները `որպես թվային ելքեր

Image
Image
Գործողության եղանակներ. 3- Պոմպեր որպես թվային ելքեր
Գործողության եղանակներ. 3- Պոմպեր որպես թվային ելքեր

Մենք կարող ենք ելքային LED- ները միացնել ցանկացած թվային կապում:

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

Այնուհետև մենք կարող ենք նկատել, որ LED- ները բռնկվում են յուրաքանչյուր հաճախականությունների տիրույթի ուժի վրա:

Քայլ 6. Գործողության եղանակներ. 3- Պոմպեր որպես թվային ելքեր

Գործողության եղանակներ. 3- Պոմպեր որպես թվային ելքեր
Գործողության եղանակներ. 3- Պոմպեր որպես թվային ելքեր

Այս վերջին ռեժիմում մենք L298N շարժիչի շարժիչի մոդուլը կկապենք Arduino- ի ելքերին: սա մեզ հնարավորություն է տալիս վերահսկել պոմպի աշխատանքը `ելնելով MSGEQ7 սպեկտրի անալիզատորի ելքից:

Ինչպես հայտնի է, շարժիչային շարժիչները մեզ հնարավորություն են տալիս վերահսկել միացված շարժիչների կամ պոմպերի աշխատանքը Arduino- ից ստացված ազդանշանի հիման վրա ՝ առանց Arduino- ից հոսանք խորտակելու, փոխարենը նրանք շարժիչները սնուցում են անմիջապես միացված էներգիայի աղբյուրից:

Եթե գործարկենք ծածկագիրը որպես հում աղբյուր, ապա պոմպերը կարող են ճիշտ չգործել: Դա պայմանավորված է նրանով, որ PWM ազդանշանը ցածր է և շարժիչի վարորդին հարմար չի լինի շարժիչները կամ պոմպերը գործարկելու և համապատասխան հոսանք հաղորդելու համար: Այդ իսկ պատճառով ես խորհուրդ եմ տալիս բարձրացնել PWM արժեքը ՝ բազմապատկելով անալոգային ընթերցումները A0- ից 1,3 -ից ավելի գործոնով: Սա օգնում է քարտեզագրումը հարմար լինել շարժիչի վարորդին: Ես խորհուրդ եմ տալիս 1.4 -ից 1.6 -ը: Բացի այդ, մենք կարող ենք PWM- ը 50 -ից 255 -ի չափով փոխել `համոզվելու համար, որ PWM արժեքը համապատասխան կլինի:

Մենք կարող ենք LED- ները միացնել շարժիչային վարորդների ելքերին, սակայն LED- ները նախկինի պես լավ տեսանելի ձևով չեն թարթվի, քանի որ PWM արժեքներն ավելացվել են: Այսպիսով, ես առաջարկում եմ դրանք միացված պահել թվային կապումներին 40 -ից մինչև 52 -ը:

Քայլ 7: Կոնտակտներ

Շատ ուրախ եմ ձեզանից արձագանքներ լսել: Խնդրում եմ մի հապաղեք միանալ իմ ալիքներին ՝

YouTube:

Instagram ՝ @simpledigital010

Twitter: @just01Digital

Խորհուրդ ենք տալիս: