Სარჩევი:
- მარაგები
- ნაბიჯი 1: RGB LED ზოლების ტიპების გააზრება
- ნაბიჯი 2: აუდიო სიგნალის გაძლიერება
- ნაბიჯი 3: სიგნალის დაშლა სტაციონარული სინუსოიდების ჯამში - თეორია
ვიდეო: აუდიო ვიზუალიზატორი არა მისამართით RGB LED Strip: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
მე მქონდა 12v RGB LED ზოლები ჩემი ტელევიზიის კაბინეტის გარშემო და ის კონტროლდება მოსაწყენი LED დრაივერის საშუალებით, რაც მაძლევს საშუალებას ავირჩიო 16 წინასწარ დაპროგრამებული ფერიდან ერთი!
მე ვუსმენ ბევრ მუსიკას, რაც მაძლევს მოტივაციას, მაგრამ განათება უბრალოდ არ მაყენებს განწყობას. ამის გამოსასწორებლად, გადავწყვიტე აუდიო სიგნალის აღება, რომელიც გადაეცა ჩემს დინამიკს AUX (3.5 მმ ბუდე) საშუალებით, დამუშავება და შესაბამისად RGB ზოლის კონტროლი.
LED- ები რეაგირებენ მუსიკას Bass (დაბალი), Treble (Mid) და მაღალი სიხშირის სიდიდის მიხედვით.
სიხშირის დიაპაზონი - ფერი შემდეგია:
დაბალი - წითელი
შუა - მწვანე
მაღალი - ლურჯი
ეს პროექტი მოიცავს ბევრ წვრილმანს, რადგან მთელი წრე აშენებულია ნულიდან. ეს საკმაოდ მარტივი უნდა იყოს, თუ მას აყენებთ პურის დაფაზე, მაგრამ საკმაოდ რთულია მისი PCB- ზე შედუღება.
მარაგები
(x1) RGB LED ზოლები
(x1) Arduino Uno/Nano (მეგა რეკომენდირებულია)
(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) 9V ბატარეა
(x2) 9V ბატარეის ვადამდელი კონექტორი
ნაბიჯი 1: RGB LED ზოლების ტიპების გააზრება
არსებობს ორი ძირითადი ტიპის LED ზოლები, "ანალოგური" სახის და "ციფრული".
ანალოგური ტიპის (ფიგურა 1) ზოლს აქვს ყველა LED პარალელურად დაკავშირებული და ასე მოქმედებს როგორც ერთი უზარმაზარი სამი ფერის LED; თქვენ შეგიძლიათ დააყენოთ მთელი ზოლები თქვენთვის სასურველ ფერში, მაგრამ თქვენ არ შეგიძლიათ გააკონტროლოთ ინდივიდუალური LED- ის ფერები. ისინი ძალიან მარტივი და საკმაოდ იაფია.
ციფრული ტიპის (სურათი 2) ზოლები მუშაობს სხვაგვარად. მათ აქვთ ჩიპი თითოეული LED- ისთვის, ზოლის გამოსაყენებლად თქვენ უნდა გააგზავნოთ ციფრული კოდირებული მონაცემები ჩიპებზე. თუმცა, ეს ნიშნავს, რომ თქვენ შეგიძლიათ აკონტროლოთ თითოეული LED ინდივიდუალურად! ჩიპის დამატებითი სირთულის გამო, ისინი უფრო ძვირია.
თუ გიჭირთ ფიზიკურად განსაზღვროთ განსხვავებები ანალოგურ და ციფრულ ტიპებს შორის,
- ანალოგიური ტიპის გამოყენება 4 ქინძისთავს, 1 საერთო პოზიტივს და 3 ნეგატივს, ანუ თითო RGB თითოეულ ფერს.
- ციფრული ტიპის გამოიყენება 3 ქინძისთავები, დადებითი, მონაცემები და ადგილზე.
მე ვიყენებ ანალოგური ტიპის ზოლებს, რადგან
- ძალიან ცოტაა ინსტრუქცია, რომელიც ასწავლის მუსიკალური რეაქტიული ანალოგური ზოლის დამზადებას. მათი უმრავლესობა ფოკუსირებულია ციფრულ ტიპზე და უფრო ადვილია მათი რეაქცია მუსიკაზე.
- მე მქონდა ანალოგური ტიპის ზოლები.
ნაბიჯი 2: აუდიო სიგნალის გაძლიერება
აუდიო სიგნალი, რომელიც იგზავნება აუდიო ბუდის საშუალებით არის
ანალოგური სიგნალი, რომელიც იცვლება +200mV და -200mV ფარგლებში. ახლა ეს არის პრობლემა, რადგან ჩვენ გვინდა გავზომოთ აუდიო სიგნალი Arduino– ს ერთ – ერთი ანალოგური საშუალებით, რადგან Arduino– ს ანალოგურ შეყვანის საშუალებით შესაძლებელია მხოლოდ ძაბვის გაზომვა 0 – დან 5V– მდე. თუ ჩვენ ვცდილობთ გავზომოთ აუდიო სიგნალის უარყოფითი ძაბვები, არდუინო წაიკითხავს მხოლოდ 0 ვ და ჩვენ დავასრულებთ სიგნალის ქვედა ნაწილს.
მისი გადასაჭრელად ჩვენ უნდა გავაძლიეროთ და ჩავრთოთ აუდიო სიგნალები ისე, რომ ისინი მოხვდნენ 0-5 ვ დიაპაზონში. იდეალურ შემთხვევაში, სიგნალს უნდა ჰქონდეს ამპლიტუდა 2.5V, რომელიც იცვლება 2.5V- ის გარშემო ისე, რომ მისი მინიმალური ძაბვა არის 0V და მისი მაქსიმალური ძაბვა არის 5V.
გაძლიერება
გამაძლიერებელი არის პირველი ნაბიჯი წრეში, ის ზრდის სიგნალის ამპლიტუდას დაახლოებით + ან - 200mV– დან + ან - 2.5V (იდეალურად). გამაძლიერებლის სხვა ფუნქციაა დაიცვას აუდიო წყარო (ნივთი, რომელიც წარმოქმნის აუდიო სიგნალს პირველ რიგში) დანარჩენი წრიდან. გამავალი გამაძლიერებელი სიგნალი მთელ დენს მიიღებს გამაძლიერებელიდან, ამიტომ შემდგომში მასზე ჩართული ნებისმიერი დატვირთვა არ იგრძნობა აუდიო წყაროს მიერ (ჩემს შემთხვევაში ტელეფონი/iPod/ლეპტოპი). ამის გაკეთება შექმენით ერთ-ერთი ოპ-გამაძლიერებელი TL072 ან TL082 (სურათი 2) პაკეტში არაინვერტირებული გამაძლიერებლის კონფიგურაციაში.
TL072 ან TL082 მონაცემთა ცხრილში ნათქვამია, რომ ის უნდა იკვებებოდეს +15 და -15V– ით, მაგრამ ვინაიდან სიგნალი არასოდეს გაძლიერდება + ან -2.5V– ზე მაღლა, კარგია op -amp– ის გაშვება რაიმე დაბალით. მე გამოვიყენე ორი ცხრა ვოლტიანი ბატარეა სერიულად, + ან - 9V კვების ბლოკის შესაქმნელად.
შეაერთეთ თქვენი +V (პინი 8) და –V (პინ 4) op-amp– ზე. შეაერთეთ სიგნალი მონო ჯეკიდან არაინვერტირებად შესასვლელთან (პინ 3) და დააკავშირეთ ბუდის დამჭერი მიწოდების ძაბვის წყაროს 0V მითითებასთან (ჩემთვის ეს იყო სერია ორ 9 ვ ბატარეას შორის სერიაში). შეაერთეთ 100kOhm რეზისტორი op-amp- ის გამომავალს (პინი 1) და შემობრუნების შეყვანის (პინ 2) შორის. ამ წრეში მე გამოვიყენე 10kOhm პოტენომეტრი, რომელიც სადენით არის ცვლადი რეზისტორი, რათა შეცვალო ჩემი არაინვერტირებული გამაძლიერებლის მომატება (თანხა, რომელსაც გამაძლიერებელი აძლიერებს). შეაერთეთ ეს 10K წრფივი დახრილი ქვაბი შემობრუნებულ შეყვანისა და 0V კავშირს შორის.
DC ოფსეტური
DC ოფსეტური წრე აქვს ორ ძირითად კომპონენტს: ძაბვის გამყოფი და კონდენსატორი. ძაბვის გამყოფი მზადდება ორი 100k რეზისტორისგან, რომლებიც სერიულად არის დაკავშირებული Arduino– ს 5V მიწოდებიდან მიწამდე. ვინაიდან რეზისტორებს აქვთ იგივე წინააღმდეგობა, მათ შორის შეერთების ძაბვა უდრის 2.5 ვ. ეს 2.5 ვ კავშირი მიბმულია გამაძლიერებლის გამოსვლას 10uF კონდენსატორის საშუალებით. კონდენსატორის გამაძლიერებლის მხარეზე ძაბვა იზრდება და იკლებს, ის იწვევს მუხტის მომენტალურ დაგროვებას და მოგერიებას 2.5V შეერთებაზე მიმაგრებული კონდენსატორის მხრიდან. ეს იწვევს 2.5V კვანძზე ძაბვის რხევას ზევით და ქვევით, რომლის ცენტრიც არის 2.5V.
როგორც სქემატურ რეჟიმშია ნაჩვენები, დაუკავშირეთ 10uF კონდენსატორის უარყოფითი გამტარი გამაძლიერებელიდან გამოსავალს. დააკავშირეთ თავსახურის მეორე მხარე შეერთებასთან ორ 100k რეზისტორებს შორის, რომლებიც სერიულად არის მიერთებული 5V- სა და მიწას შორის. ასევე, დაამატეთ 47nF კონდენსატორი 2.5V– დან მიწაზე.
ნაბიჯი 3: სიგნალის დაშლა სტაციონარული სინუსოიდების ჯამში - თეორია
აუდიო სიგნალი გაგზავნილი ნებისმიერი 3.5 მმ ბუდეში არის
დიაპაზონი 20 Hz– დან 20 kHz– მდე. აღებულია 44.1 კჰც სიხშირით და თითოეული ნიმუში დაშიფრულია 16 ბიტზე.
აუდიო სიგნალის შემადგენელი ძირითადი ელემენტარული სიხშირეების გასანადგურებლად, ჩვენ ვიყენებთ Fourier Transform სიგნალს, რომელიც ახდენს სიგნალის დაშლას სტაციონარული სინუსოიდების ჯამში. სხვა სიტყვებით რომ ვთქვათ, ფურიეს ანალიზი გარდაქმნის სიგნალს მისი საწყისი დომენიდან (ხშირად დრო ან სივრცე) სიხშირის დომენში წარმოდგენაზე და პირიქით. მაგრამ მისი პირდაპირ განსაზღვრებიდან გამოთვლა ხშირად ძალიან ნელია, რომ პრაქტიკული იყოს.
ფიგურები აჩვენებენ როგორ გამოიყურება სიგნალი დროის და სიხშირის დომენში.
ეს არის ის ადგილი, სადაც სწრაფი ფურიეს ტრანსფორმაციის (FFT) ალგორითმი საკმაოდ სასარგებლოა!
Განმარტებით, FFT სწრაფად ითვლის ამგვარ გარდაქმნებს DFT მატრიცის ფაქტორირებით იშვიათი (უმეტესად ნულოვანი) ფაქტორების პროდუქტად. შედეგად, ის ახერხებს შეამციროს DFT- ს გამოთვლის სირთულე O (N2) - დან, რომელიც წარმოიქმნება, თუკი უბრალოდ DFT განმარტებას ვიყენებთ O (N log N), სადაც N არის მონაცემთა ზომა. სიჩქარის სხვაობა შეიძლება იყოს უზარმაზარი, განსაკუთრებით მონაცემთა ხანგრძლივი ნაკრებისთვის, სადაც N შეიძლება იყოს ათასობით ან მილიონი. დამრგვალების შეცდომის არსებობისას, ბევრი FFT ალგორითმი ბევრად უფრო ზუსტია, ვიდრე DFT განსაზღვრების შეფასება პირდაპირ თუ არაპირდაპირ.
მარტივი სიტყვებით, ეს მხოლოდ იმას ნიშნავს, რომ FFT ალგორითმი არის უფრო სწრაფი გზა ნებისმიერი სიგნალის ფურიეს ტრანსფორმაციის გამოსათვლელად. ეს ჩვეულებრივ გამოიყენება დაბალი გამოთვლითი სიმძლავრის მოწყობილობებზე.
გირჩევთ:
გააკეთეთ მარტივი უსასრულობის სარკის კუბი - არა 3D ბეჭდვა და არა პროგრამირება: 15 ნაბიჯი (სურათებით)
გააკეთეთ მარტივი უსასრულობის სარკის კუბი | არა 3D ბეჭდვა და არა პროგრამირება: ყველას მოსწონს კარგი უსასრულობის კუბი, მაგრამ ისინი ისე გამოიყურებიან, როგორც ძნელი გასაკეთებელი. ჩემი მიზანი ამ ინსტრუქციულ პროგრამაში არის გაჩვენოთ ნაბიჯ-ნაბიჯ თუ როგორ უნდა გააკეთოთ ეს. არა მხოლოდ ეს, არამედ იმ მითითებებით, რასაც მე გაძლევთ, თქვენ შეძლებთ გააკეთოთ ერთი
RGB განათება + აუდიო ვიზუალიზატორი: 4 ნაბიჯი (სურათებით)
RGB განათება + აუდიო ვიზუალიზატორი: მოგესალმებით ჩემს ინსტრუქციებში, თუ როგორ უნდა ავაშენოთ RGB LED განათება მაგ. თქვენი ტელევიზიის ან მაგიდის უკანა მხარე. სქემატური თავისთავად ძალიან მარტივია, რადგან WS2812 LED ზოლები ძალიან ადვილია ინტერფეისით, მაგალითად არდუინო ნანოსთან
რეტრო LED ზოლის აუდიო ვიზუალიზატორი: 4 ნაბიჯი (სურათებით)
Retro LED Strip აუდიო ვიზუალიზატორი: როგორც მუსიკოსი და ელექტროტექნიკის სტუდენტი, მე მიყვარს ნებისმიერი პროექტი, რომელიც კვეთს ამ ორ სფეროს. მე ვნახე რამდენიმე წვრილმანი აუდიო ვიზუალიზატორი (აქ, აქ, აქ და აქ), მაგრამ თითოეულმა მათგანმა გამოტოვა სულ მცირე ერთი ორი მიზნიდან, რომელიც მე თვითონ დავადგინე: p
7 Band Led აუდიო ვიზუალიზატორი: 4 ნაბიჯი (სურათებით)
7 Band Led აუდიო ვიზუალიზატორი: ეს არის პროექტი, რომელიც იღებს უწყვეტ ანალოგიურ სიგნალს ჩვეულებრივ მუსიკას და იყენებს მას 7 ბენდიანი led ვიზუალიზატორის გასანათებლად. ის იყენებს MSGEQ7 ჩიპს მუსიკალური სიგნალის გასაანალიზებლად სიხშირის სიდიდის მისაღებად და ასახავს მას led ზოლებზე. Led ზოლები
როგორ გავაკეთოთ სიხშირის აუდიო ვიზუალიზატორი კოსტუმისთვის (არდუინოს პროექტი): 8 ნაბიჯი (სურათებით)
როგორ გავაკეთოთ სიხშირის აუდიო ვიზუალიზატორი კოსტუმისთვის (არდუინოს პროექტი): ამ ინსტრუქციულად, მე მოგაწვდით რჩევებს, გეგმებსა და კოდებს, რათა გააკეთოთ ამაღელვებელი აუდიო ვიზუალიზატორი, რომელიც ჩაშენებულია შუშის შუშის ქაფში. გზად მე გაგიზიარებთ დამხმარე ნაბიჯებს და დამატებით კოდებს, რომლებსაც ზოგიერთს სურს arduino FFT ბიბლიოთეკების დანერგვა