Агуулгын хүснэгт:

Хаяггүй RGB LED зурвас аудио визуализатор: 6 алхам (зурагтай)
Хаяггүй RGB LED зурвас аудио визуализатор: 6 алхам (зурагтай)

Видео: Хаяггүй RGB LED зурвас аудио визуализатор: 6 алхам (зурагтай)

Видео: Хаяггүй RGB LED зурвас аудио визуализатор: 6 алхам (зурагтай)
Видео: КАК ИСПОЛЬЗОВАТЬ СВЕТОДИОД RGB БЕЗ СХЕМЫ УПРАВЛЕНИЯ ? 2024, Арванхоёрдугаар сар
Anonim
Image
Image

Би телевизийн шүүгээний эргэн тойронд 12V RGB LED туузтай байсан бөгөөд үүнийг уйтгартай LED драйвер удирддаг бөгөөд энэ нь надад урьдчилан програмчлагдсан 16 өнгөнөөс нэгийг нь сонгох боломжийг олгодог.

Би маш их хөгжим сонсдог бөгөөд энэ нь урам зориг өгдөг, гэхдээ гэрэлтүүлэг нь сэтгэл санааг зөв тохируулдаггүй. Үүнийг засахын тулд миний чанга яригч руу өгсөн AUX (3.5 мм үүр) аудио дохиог авахаар шийдэж, үүнийг боловсруулж RGB туузыг зохих ёсоор удирдана уу.

LED нь Bass (Low), Treble (Mid) болон Өндөр давтамжийн хэмжээ дээр үндэслэн хөгжимд хариу үйлдэл үзүүлдэг.

Давтамжийн хүрээ - Өнгө нь дараах байдалтай байна.

Бага - Улаан

Дунд - Ногоон

Өндөр - Цэнхэр

Энэ төсөлд маш олон DIY зүйлс багтдаг, учир нь хэлхээг бүхэлд нь эхнээс нь бүтээсэн. Хэрэв та үүнийг талхны тавцан дээр байрлуулж байгаа бол үүнийг хийхэд маш хялбар байх болно, гэхдээ үүнийг ПХБ дээр гагнах нь маш хэцүү байдаг.

Хангамж

(x1) RGB LED зурвас

(x1) Arduino Uno/Nano (Мега ашиглахыг зөвлөж байна)

(x1) TL072 эсвэл TL082 (TL081/TL071 ч бас сайн)

(x3) TIP120 NPN транзистор (IRF540, IRF 530 гэх мэт TIP121, TIP122 эсвэл N-сувгийн MOSFETs ч бас сайн)

(x1) 10kOhm потенциометр шугаман

(x3) 100kOhm 1/4watt резистор

(x1) 10uF электролитийн конденсатор

(x1) 47nF керамик конденсатор

(x2) 3.5 мм аудио холбогч - Эмэгтэй

(x2) 9V зай

(x2) 9V батерейны холбогч

Алхам 1: RGB LED туузны төрлийг ойлгох

RGB LED туузны төрлийг ойлгох
RGB LED туузны төрлийг ойлгох

"Аналог" ба "дижитал" гэсэн хоёр үндсэн LED тууз байдаг.

Аналог хэлбэрийн (1-р зураг) туузууд нь бүх LED-ийг зэрэгцээ холбосон тул нэг том гурван өнгийн LED шиг ажилладаг; Та туузыг бүхэлд нь хүссэн өнгөөр тохируулж болно, гэхдээ та LED -ийн өнгийг хянах боломжгүй. Тэдгээрийг ашиглахад маш хялбар бөгөөд харьцангуй хямд байдаг.

Дижитал хэлбэрийн (2-р зураг) туузууд өөр аргаар ажилладаг. Тэд LED тус бүрт зориулсан чиптэй бөгөөд туузыг ашиглахын тулд дижитал кодчилсон өгөгдлийг чип рүү илгээх ёстой. Гэсэн хэдий ч энэ нь LED тус бүрийг дангаар нь хянах боломжтой гэсэн үг юм! Чипийн нарийн төвөгтэй байдлаас шалтгаалан тэд илүү үнэтэй байдаг.

Хэрэв танд аналог болон дижитал туузны ялгааг биеэр тодорхойлоход хэцүү байгаа бол

  1. Анологи хэлбэрт 4 голтой, 1 нийтлэг эерэг, 3 сөрөг утгатай, өөрөөр хэлбэл RGB-ийн өнгө тус бүрт нэгийг ашигладаг.
  2. Дижитал хэлбэр нь эерэг, өгөгдөл, газардуулга бүхий 3 зүү ашигладаг.

Би аналог хэлбэрийн туузыг ашиглах болно, учир нь

  1. Хөгжимд хэрхэн аналог хэлбэртэй тууз хийхийг зааж өгдөг зааварчилгаа маш цөөхөн байдаг. Тэдний ихэнх нь дижитал төрөлд анхаарлаа хандуулдаг бөгөөд тэднийг хөгжимд хариу үйлдэл үзүүлэхэд хялбар байдаг.
  2. Надад аналог маягийн туузууд хэвтэж байв.

Алхам 2: Аудио дохиог нэмэгдүүлэх

Аудио дохиог нэмэгдүүлэх
Аудио дохиог нэмэгдүүлэх
Аудио дохиог нэмэгдүүлэх
Аудио дохиог нэмэгдүүлэх
Аудио дохиог нэмэгдүүлэх
Аудио дохиог нэмэгдүүлэх

Аудио үүрээр дамжуулж буй аудио дохио нь

+200мВ ба -200мВ дотор хэлбэлздэг аналог дохио. Одоо энэ бол асуудал бөгөөд бид аудио дохиог Arduino -ийн аналог оролтын аль нэгээр хэмжихийг хүсч байна, учир нь Arduino -ийн аналог оролт нь зөвхөн 0 -ээс 5 В хүртэлх хүчдэлийг хэмжиж чаддаг. Хэрэв бид аудио дохионы сөрөг хүчдэлийг хэмжих гэж оролдвол Arduino ердөө 0V -ийг уншиж, дохионы доод хэсгийг хайчилж дуусгах болно.

Үүнийг шийдэхийн тулд бид аудио дохиог 0-5В-ийн хязгаарт багтааж өсгөж, сольж өгөх ёстой. Хамгийн тохиромжтой нь дохио нь 2.5V -ийн далайцтай байх ёстой бөгөөд 2.5V орчим хэлбэлздэг бөгөөд хамгийн бага хүчдэл нь 0V, хамгийн их хүчдэл нь 5V байх ёстой.

Олшруулалт

Өсгөгч нь хэлхээний эхний алхам бөгөөд дохионы далайцыг ойролцоогоор + эсвэл - 200мВ -аас + эсвэл - 2.5В хүртэл нэмэгдүүлдэг (хамгийн тохиромжтой). Өсгөгчийн өөр нэг үүрэг бол аудио эх үүсвэрийг (аудио дохио үүсгэдэг зүйл) бусад хэлхээнээс хамгаалах явдал юм. Гарч буй олшруулсан дохио нь бүх гүйдлээ өсгөгчөөс авах тул хэлхээний сүүл хэсэгт оруулсан аливаа ачааллыг аудио эх үүсвэр (утас/iPod/зөөврийн компьютер) мэдрэхгүй. TL072 эсвэл TL082 (зураг 2) багц дахь оп-өсгөгчийн аль нэгийг урвуу биш өсгөгчийн тохиргоонд тохируулах замаар үүнийг хий.

TL072 эсвэл TL082 мэдээллийн хүснэгтэд үүнийг +15 ба -15V хүчдэлээр тэжээх ёстой гэж заасан байдаг, гэхдээ дохио нь хэзээ ч + эсвэл 2.5V -ээс дээш өсгөгдөхгүй тул op -amp -ийг арай доогуур ажиллуулах нь зүгээр юм. Би 9 эсвэл 9 вольтын батерейг цувралаар холбож + эсвэл - 9В цахилгаан тэжээл үүсгэсэн.

+V (зүү 8) ба –V (зүү 4) утсаа op-amp руу залгаарай. Моно үүрнээс урвуу оролтгүй оролт (3-р зүү) руу залгаж, үүрний газардуулгын зүүг хүчдэлийн тэжээлийнхээ 0V холболттой холбоно уу (миний хувьд энэ бол 9V хоёр батерейны цуваа холболт байсан). Оп-өсгөгчийн гаралт (зүү 1) ба урвуу оролт (зүү 2) хооронд 100 кОм эсэргүүцэл залгаарай. Энэ хэлхээнд би 10 кОм-ын потенциометрийг хувьсах эсэргүүцэл болгон ашиглаж, урвуу биш өсгөгчийнхөө ашиг (өсгөгчийн олшруулдаг хэмжээ) -ийг тохируулсан. Урвуу оролт ба 0В -ийн лавлагааны хоорондох энэхүү 10К шугаман шовгор савыг утсаар холбоно уу.

DC офсет

DC офсет хэлхээ нь хүчдэл хуваагч ба конденсатор гэсэн хоёр үндсэн бүрэлдэхүүн хэсэгтэй. Хүчдэл хуваагч нь Arduino -ийн 5V -аас газар хүртэл цувралаар холбогдсон 100k эсэргүүцэлтэй хоёр төхөөрөмжөөр хийгдсэн. Резисторууд ижил эсэргүүцэлтэй тул тэдгээрийн хоорондох уулзвар дээрх хүчдэл нь 2.5В байна. Энэхүү 2.5V уулзвар нь 10uF конденсатороор дамжуулан өсгөгчийн гаралттай холбогддог. Конденсаторын өсгөгч талын хүчдэл өсч, буурах үед энэ нь цэнэгийг хуримтлуулж, 2.5В -ийн холболттой холбосон конденсаторын талаас няцаахад хүргэдэг. Энэ нь 2.5В -ийн уулзвар дээрх хүчдэл дээш, доош хэлбэлзэж, ойролцоогоор 2.5В орчим төвлөрдөг.

Схемд үзүүлснээр 10uF конденсаторын сөрөг тугалгыг өсгөгчийн гаралт руу холбоно уу. Малгайны нөгөө талыг 5V ба газардуулгын хооронд цувралаар холбосон 100k резистор хоёрын уулзвар руу холбоно уу. Мөн газардуулгад 2.5V -аас 47nF конденсатор нэмнэ.

Алхам 3: Дохиог суурин синусоидын нийлбэр болгон задлах - онол

Дохиог хөдөлгөөнгүй синусоидын нийлбэр болгон задлах - онол
Дохиог хөдөлгөөнгүй синусоидын нийлбэр болгон задлах - онол

3.5 мм -ийн үүрээр дамжуулж буй аудио дохио нь

20 Гц -ээс 20 кГц хүртэл. Энэ нь 44.1 кГц давтамжтай бөгөөд дээж бүрийг 16 битээр кодлодог.

Аудио дохиог бүрдүүлдэг үндсэн элементүүдийн давтамжийг задлахын тулд дохиог суурин синусоидын нийлбэр болгон задалдаг Фурье хувиргалтыг ашигладаг. Өөрөөр хэлбэл, Фурьегийн дүн шинжилгээ нь анхны домэйны (ихэвчлэн цаг хугацаа эсвэл орон зай) дохиог давтамжийн домэйны дүрслэл болгон хувиргадаг бөгөөд эсрэгээр. Гэхдээ үүнийг тодорхойлолтоос шууд тооцоолох нь практик болоход хэтэрхий удаан байдаг.

Дохио нь цаг хугацаа, давтамжийн мужид хэрхэн харагдаж байгааг харуулж байна.

Энд Fast Fourier Transform (FFT) алгоритм нэлээд хэрэгтэй байна!

Тодорхойлолтоор, FFT нь DFT матрицыг сийрэг (ихэвчлэн тэг) хүчин зүйлүүдийн бүтээгдэхүүн болгон хуваах замаар ийм өөрчлөлтийг хурдан тооцоолдог. Үүний үр дүнд, хэрэв DFT -ийн тодорхойлолтыг O (N log N), N нь өгөгдлийн хэмжээ юм. Хурдны ялгаа нь асар их байж болно, ялангуяа N нь мянга, саяар тоологдох урт өгөгдлийн багцад. Бөөрөнхий алдаа гарсан тохиолдолд олон FFT алгоритм нь DFT-ийн тодорхойлолтыг шууд болон шууд бусаар үнэлэхээс хамаагүй илүү нарийвчлалтай байдаг.

Энгийнээр хэлэхэд энэ нь FFT алгоритм нь аливаа дохионы Фурье хувиргалтыг тооцоолох илүү хурдан арга юм. Үүнийг ихэвчлэн тооцоолох чадвар багатай төхөөрөмжүүдэд ашигладаг.

Зөвлөмж болгож буй: