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

Ոչ հասցեական RGB LED շերտի աուդիո վիզուալիզատոր. 6 քայլ (նկարներով)
Ոչ հասցեական RGB LED շերտի աուդիո վիզուալիզատոր. 6 քայլ (նկարներով)

Video: Ոչ հասցեական RGB LED շերտի աուդիո վիզուալիզատոր. 6 քայլ (նկարներով)

Video: Ոչ հասցեական RGB LED շերտի աուդիո վիզուալիզատոր. 6 քայլ (նկարներով)
Video: Խելացի ծաղկեպսակ՝ Bluetooth-ով հասցեային LED-ների վրա 6 $. էժան, բայց զարմանալիորեն ֆունկցիոնալ 2024, Նոյեմբեր
Anonim
Image
Image

Որոշ ժամանակ 12V RGB LED ժապավեն ունեի հեռուստացույցի պահարանիս շուրջը, և այն կառավարվում է ձանձրալի LED վարորդի միջոցով, որը թույլ է տալիս ինձ ընտրել 16 նախապես ծրագրավորված գույներից մեկը:

Ես լսում եմ շատ երաժշտություն, որն ինձ մոտիվացնում է, բայց լուսավորությունը պարզապես չի տրամադրում տրամադրությունը: Այն շտկելու համար որոշեցի վերցնել ձայնային ազդանշանը, որը տրվել էր իմ բարձրախոսին AUX (3.5 մմ անցք) միջոցով, մշակել այն և համապատասխանաբար վերահսկել RGB ժապավենը:

LED- ները արձագանքում են երաժշտությանը `հիմնված Bass (Low), Treble (Mid) և High հաճախությունների մեծության վրա:

Հաճախականությունների տիրույթ - Գույնը հետևյալն է.

Lowածր - կարմիր

Միջին - կանաչ

Բարձր - կապույտ

Այս նախագիծը ներառում է շատ DIY իրեր, քանի որ ամբողջ սխեման կառուցվել է զրոյից: Սա պետք է բավականին հեշտ լինի, եթե այն տեղադրեք սեղանի վրա, բայց բավականին դժվար է այն կպցնել PCB- ին:

Պարագաներ

(x1) RGB LED ժապավեն

(x1) Arduino Uno/Nano (Mega- ն խորհուրդ է տրվում)

(x1) TL072 կամ TL082 (TL081/TL071- ը նույնպես լավ է)

(x3) TIP120 NPN տրանզիստոր (TIP121, TIP122 կամ N-Channel MOSFET- ներ, ինչպես IRF540, IRF 530 նույնպես լավ են)

(x1) 10kOhm պոտենցիոմետր գծային

(x3) 100kOhm 1/4watt ռեզիստորներ

(x1) 10uF էլեկտրոլիտիկ կոնդենսատոր

(x1) 47nF կերամիկական կոնդենսատոր

(x2) 3.5 մմ աուդիո միակցիչ - իգական

(x2) 9 Վ մարտկոց

(x2) 9 Վ մարտկոցի անջատիչ միակցիչ

Քայլ 1. Հասկանալ RGB LED շերտերի տեսակները

Հասկանալով RGB LED շերտերի տեսակները
Հասկանալով RGB LED շերտերի տեսակները

Գոյություն ունեն LED շերտերի երկու հիմնական տեսակ ՝ «անալոգային» և «թվային»:

Անալոգային տիպի (նկ. 1) ժապավենները զուգահեռաբար միացված են բոլոր LED- ները, ուստի այն գործում է որպես մեկ հսկայական եռագույն LED; կարող եք ամբողջ ժապավենը սահմանել ձեր ուզած գույնի վրա, բայց չեք կարող վերահսկել LED- ի առանձին գույները: Դրանք շատ հեշտ են օգտագործել և բավականին էժան:

Թվային տիպի (նկ. 2) շերտերն աշխատում են այլ կերպ: Նրանք ունեն LED- ի յուրաքանչյուր LED- ի համար, շերտը օգտագործելու համար դուք պետք է թվային կոդավորված տվյալներ ուղարկեք չիպերին: Այնուամենայնիվ, սա նշանակում է, որ դուք կարող եք վերահսկել յուրաքանչյուր LED առանձին: Չիպի լրացուցիչ բարդության պատճառով դրանք ավելի թանկ են:

Եթե դժվարանում եք ֆիզիկապես ճանաչել անալոգային և թվային տիպի ժապավենների միջև եղած տարբերությունները,

  1. Անոլոգի տիպի համար օգտագործեք 4 կապում, 1 ընդհանուր դրական և 3 բացասական, այսինքն ՝ մեկ RGB յուրաքանչյուր գույնի համար:
  2. Թվային տիպի օգտագործումը 3 կապում է ՝ դրական, տվյալների և հիմքի:

Ես կօգտագործեմ անալոգային տիպի շերտեր, քանի որ

  1. Շատ քիչ են կամ չկան Instructables- ը, որոնք սովորեցնում են երաժշտական ռեակտիվ անալոգային ժապավեն պատրաստել: Նրանց մեծամասնությունը կենտրոնանում է թվային տիպի վրա և ավելի հեշտ է ստիպել նրանց արձագանքել երաժշտությանը:
  2. Շուրջս անալոգային տիպի շերտեր ունեի:

Քայլ 2. Ձայնային ազդանշանի ուժեղացում

Աուդիո ազդանշանի ուժեղացում
Աուդիո ազդանշանի ուժեղացում
Աուդիո ազդանշանի ուժեղացում
Աուդիո ազդանշանի ուժեղացում
Աուդիո ազդանշանի ուժեղացում
Աուդիո ազդանշանի ուժեղացում

Ձայնային ազդանշանը, որն ուղարկվում է աուդիո խցիկի միջոցով, դա է

անալոգային ազդանշան, որը տատանվում է +200mV և -200mV սահմաններում: Այժմ սա խնդիր է, քանի որ մենք ցանկանում ենք աուդիո ազդանշանը չափել Arduino- ի անալոգային մուտքերից մեկով, քանի որ Arduino- ի անալոգային մուտքերը կարող են չափել միայն 0 -ից մինչև 5V լարումներ: Եթե մենք փորձեինք չափել ձայնային ազդանշանի բացասական լարումները, ապա Arduino- ն կկարդար միայն 0V, և մենք վերջում կտրեցինք ազդանշանի ներքևը:

Այն լուծելու համար մենք պետք է ուժեղացնենք և փոխհատուցենք աուդիո ազդանշանները, որպեսզի դրանք ընկնեն 0-5V տիրույթի սահմաններում: Իդեալում, ազդանշանը պետք է ունենա 2.5V ամպլիտուդ, որը տատանվում է 2.5V- ի սահմաններում, այնպես որ դրա նվազագույն լարումը 0V է, իսկ առավելագույն լարումը `5V:

Ուժեղացում

Ամրացուցիչը շղթայի առաջին քայլն է, այն մեծացնում է ազդանշանի ամպլիտուդը + կամ - 200 մՎ -ից մինչև + կամ - 2.5 Վ (իդեալական): Ուժեղացուցիչի մյուս գործառույթն է պաշտպանել աուդիո աղբյուրը (այն, ինչ առաջին հերթին ստեղծում է ձայնային ազդանշան) մնացած միացումից: Ելքային ուժեղացված ազդանշանը ամբողջ հոսանքը կստանա ուժեղացուցիչից, այնպես որ միացումից հետո դրա վրա դրված ցանկացած բեռ չի զգացվի ձայնային աղբյուրի կողմից (իմ դեպքում հեռախոսը/iPod- ը/նոութբուքը): Դա արեք ՝ տեղադրելով TL072 կամ TL082 (նկ. 2) փաթեթում գործող անջատիչներից մեկը ոչ շրջվող ուժեղացուցիչի կազմաձևում:

TL072- ի կամ TL082- ի տվյալների թերթիկում ասվում է, որ այն պետք է սնուցվի +15 և -15V լամպերով, բայց քանի որ ազդանշանը երբեք չի ուժեղանա + կամ -2.5 Վ -ից բարձր, լավ է op -amp- ը գործարկել ավելի ցածր բանով: Ես օգտագործեցի երկու ինը վոլտ մարտկոցներ, որոնք միացված էին շարքով ՝ + կամ - 9V էլեկտրամատակարարում ստեղծելու համար:

Միացրեք ձեր +V (PIN 8) և –V (PIN 4) op-amp- ին: Մոնո միացումից միացրեք ազդանշանը դեպի ոչ շրջվող մուտքի (փին 3) և միացրեք վարդակի հիմնային քորոցը ձեր լարման մատակարարման 0V հղմանը (ինձ համար սա հաջորդականությամբ երկու 9V մարտկոցների միջև միացումն էր): Հաղորդակցեք 100kOhm ռեզիստորին op-amp- ի ելքի (pin 1) և inverting input (pin 2) միջև: Այս միացումում ես օգտագործեցի 10kOhm պոտենցիոմետր, որը լարված էր որպես փոփոխական ռեզիստոր `իմ ոչ շրջվող ուժեղացուցիչի շահույթը (գումարը, որն ուժեղացուցիչն ուժեղացնում է): Հաղորդալարեք այս 10K գծային կոնաձև տուփը շրջվող մուտքի և 0V տեղեկանքի միջև:

DC Օֆսեթ

DC օֆսեթային սխեման ունի երկու հիմնական բաղադրիչ ՝ լարման բաժանարար և կոնդենսատոր: Լարման բաժանարարը պատրաստված է երկու 100k ռեզիստորներից, որոնք միացված են Arduino- ի 5V հոսանքից մինչև գետնին: Քանի որ ռեզիստորներն ունեն նույն դիմադրությունը, նրանց միջև խաչմերուկում լարումը հավասար է 2,5 Վ -ի: Այս 2.5 Վ հանգույցը 10uF կոնդենսատորի միջոցով կապված է ուժեղացուցիչի ելքի հետ: Երբ կոնդենսատորի ուժեղացուցիչի լարումը բարձրանում և ընկնում է, այն առաջացնում է լիցքի մի պահ կուտակում և հետ մղում 2.5 Վ հանգույցին ամրացված կոնդենսատորի կողմից: Սա հանգեցնում է նրան, որ 2.5 Վ հանգույցի լարումը տատանվում է վեր և վար, կենտրոնացված շուրջ 2.5 Վ:

Ինչպես ցույց է տրված սխեմատիկայում, 10uF կոնդենսատորի բացասական կապը միացրեք ուժեղացուցիչից ելքին: Կափարիչի մյուս կողմը միացրեք երկու 100k դիմադրիչների միջև, որոնք միացված են 5V- ի և գետնի միջև: Բացի այդ, ավելացրեք 47nF կոնդենսատոր 2.5 Վ -ից գետնին:

Քայլ 3. Ազդանշանի տարրալուծում ստացիոնար սինուսոիդների գումարի մեջ - տեսություն

Ազդանշանը քայքայելով ստացիոնար սինուսոիդների գումարի մեջ - տեսություն
Ազդանշանը քայքայելով ստացիոնար սինուսոիդների գումարի մեջ - տեսություն

Ձայնային ազդանշանը, որն ուղարկվում է ցանկացած 3.5 մմ -անոց խցիկի միջոցով, գտնվում է

միջակայքը `20 Հց -ից 20 կՀց: Այն նմուշառված է 44.1 կՀց հաճախականությամբ և յուրաքանչյուր նմուշ կոդավորված է 16 բիթով:

Ձայնային ազդանշանը կազմող հիմնական տարրական հաճախականությունները քայքայելու համար ազդանշանին կիրառում ենք Fourier Transform, որը ազդանշանը քայքայում է ստացիոնար սինուսոիդների գումարի մեջ: Այլ կերպ ասած, Ֆուրյեի վերլուծությունը ազդանշանն իր սկզբնական տիրույթից (հաճախ ժամանակ կամ տարածություն) փոխակերպում է հաճախականության տիրույթում ներկայացման և հակառակը: Բայց այն ուղղակիորեն սահմանումից հաշվարկելը հաճախ չափազանց դանդաղ է գործնական լինելու համար:

Նկարները ցույց են տալիս, թե ինչ տեսք ունի ազդանշանը ժամանակի և հաճախականության տիրույթում:

Հենց այստեղ է, որ Ֆուրիեի արագ փոխակերպման (FFT) ալգորիթմը բավականին օգտակար է:

Ըստ սահմանման, FFT- ն արագորեն հաշվարկում է նման փոխակերպումները ՝ գործոնավորելով DFT մատրիցը ՝ դառնալով սակավ (հիմնականում զրո) գործոնների արտադրանք: Արդյունքում, այն կարողանում է նվազեցնել DFT- ի O (N2) հաշվարկման բարդությունը, որը ծագում է, եթե պարզապես կիրառվում է DFT- ի սահմանումը O (N log N), որտեղ N- ը տվյալների չափն է: Արագության տարբերությունը կարող է հսկայական լինել, հատկապես երկար տվյալների հավաքածուների դեպքում, որտեղ N- ը կարող է լինել հազարավոր կամ միլիոնավոր: Կլորացման սխալի առկայության դեպքում շատ FFT ալգորիթմներ շատ ավելի ճշգրիտ են, քան DFT- ի սահմանումը ուղղակի կամ անուղղակի գնահատելը:

Պարզ ասած, դա պարզապես նշանակում է, որ FFT ալգորիթմը ցանկացած ազդանշանի Fourier Transform- ի հաշվարկման ավելի արագ միջոց է: Սա սովորաբար օգտագործվում է ցածր հաշվարկային հզորությամբ սարքերի վրա:

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