Სარჩევი:
- ნაბიჯი 1: შეიკრიბეთ LoL Shield
- ნაბიჯი 2: შეაერთეთ მავთულები აუდიო ჯეკზე
- ნაბიჯი 3: პროგრამა Arduino
- ნაბიჯი 4: ისიამოვნეთ
ვიდეო: LoL Shield Audio Spectrum VU მეტრი: 4 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს არის აუდიო სპექტრის VU მეტრი LoL Shield– ის გამოყენებით Arduino– სთვის. LoL Shield არის 14 x 9 LED მატრიცა, რომელიც ჯდება Arduino– ში როგორც ფარი და კონტროლდება ეფექტური მეთოდით, რომელიც ცნობილია როგორც Charlieplexing. ის შეიქმნა ჯიმი პ. როჯერსის მიერ. ეს პროექტი იყენებს სწრაფი ფურიეს ტრანსფორმაციის ბიბლიოთეკას Arduino– სთვის, აუდიო სიგნალის გასაანალიზებლად, მისი დაშლის სიხშირის ზოლებად და ამ ინფორმაციის ჩვენებისათვის LoL Shield. Arduino მიკროკონტროლი საკმარისად სწრაფია იმისათვის, რომ გამოთვალოს ფურიეს სწრაფი ტრანსფორმაცია. ის შეესაბამება მის სახელს და საოცრად სწრაფი და ზუსტია. ვინაიდან ყველა სამუშაო კეთდება მიკროკონტროლის მიერ, ეს პროექტი სრულიად პორტატულია თუ იყენებთ ბატარეებს. ამ პროექტის ვებგვერდი განთავსებულია https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; ამპრესიამპრეზენტაცია ამპრესი; საჭირო ნაწილები:
- LoL ფარი
- არდუინო (რეკომენდირებულია დიავოლინო)
- აუდიო ჯეკი (მე გამოვიყენე მამაკაცის მონო 1/8 "ტელეფონის დანამატი)
- არდუინოს კოდი
- კვების ბლოკი (DC კვების ბლოკი, USB კაბელი, 9V ბატარეა და ა.
ნაბიჯი 1: შეიკრიბეთ LoL Shield
მიჰყევით ინსტრუქციას LoL Shield– ის შესაქმნელად აქ. ნახეთ, ამას დიდი დრო არ დასჭირვებია!
ნაბიჯი 2: შეაერთეთ მავთულები აუდიო ჯეკზე
მე ვიყენებ მამაკაცის მონო 1/8 ტელეფონის შტეფსელს, როგორც მას უწოდებენ Radioshack, მაგრამ თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი აუდიო კაბელი თქვენი აუდიო სისტემის კონფიგურაციისთვის. სურვილის შემთხვევაში შეგიძლიათ გამოიყენოთ მიკროფონი. ამ ტიპის დანამატისთვის, მე შევაერთე ორი მავთული. მე გამოვიყენე წითელი და შავი. LoL Shield ტოვებს ანალოგურ ქინძისთავებს 4 და 5 უფასოდ შეყვანისთვის. ჩემი კოდი იყენებს პინ 5. თქვენ შეგიძლიათ წითელი მავთული მიამაგროთ LoL Shield– ის ანალოგიურ პინ 5 – ს და შავი მავთული GND– ს. თქვენ არ გჭირდებათ მისი შედუღება, მე მხოლოდ მავთული გავავლე და დავხარე.
ნაბიჯი 3: პროგრამა Arduino
ახლა ჩვენ გვჭირდება Arduino- ს პროგრამირება LoL Shield– ის გასაკონტროლებლად.
რეკომენდირებულია გამოიყენოთ დიავოლინო LoL Shield– ის გასაკონტროლებლად, რათა თავიდან აიცილოთ "მოჩვენებითი" ეფექტები LED- ებზე იმის გამო, რომ მწვანე ზედაპირზე დამონტაჟებულია LED, რომელიც დაკავშირებულია პინ 13 სტანდარტულ არდუინოსთან, მაგრამ სტანდარტული არდუინო კარგად იმუშავებს.
ამას სჭირდება ორი არდუინოს ბიბლიოთეკა: - არდუინოს ფორუმზე ნაპოვნი FFT ბიბლიოთეკა - ჩარლიპლექსის ბიბლიოთეკა LoL Shield– ისთვის
Arduino– სთვის ბიბლიოთეკების დაყენება შეიძლება იყოს ოდნავ დამთრგუნველი, თუ ამას ადრე არ აკეთებდით, მაგრამ კარგად გამოგივათ!
მიჰყევით ინსტრუქციას Arduino ბიბლიოთეკების დაყენების შესახებ აქ:
www.arduino.cc/en/guide/libraries
FFT ბიბლიოთეკა არღვევს აუდიო სიგნალს 64 სიხშირის დიაპაზონში. LoL Shield არის 14 x 9 LED. ჩვენ საშუალოდ 64 სიხშირის ზოლს ერთად ვანიჭებთ 14 სიხშირის ზოლად. ჩვენ ვაგდებთ ზოგიერთ მონაცემს, რადგან 14 თანაბრად არ იყოფა 64 -ზე, მაგრამ რაც არის. სიხშირის თითოეული დიაპაზონის მნიშვნელობა გადანაწილებულია 0 -დან 9 -მდე.
თქვენ შეგიძლიათ დააკოპიროთ Arduino კოდი ქვემოთ, მიიღოთ კოდი GitHub– დან (რეკომენდებულია), ან გადმოწეროთ. ZIP ფაილი, რომელიც შეიცავს ბიბლიოთეკებს და Arduino კოდს.
აქ არის GitHub ბმული:
github.com/andydoro/LoLShield-FFT
ქვემოთ მოცემულია Arduino კოდი:
/* FFT for LoL Shield v0.9 ენდი დოროს მიერ https://andydoro.com/ დაფუძნებული FFT ბიბლიოთეკაზე და კოდზე Arduino ფორუმებიდან და Charlieplexing ბიბლიოთეკიდან LoL Shield. */
#მოიცავს "Charliplexing.h"
#მოიცავს "fix_fft.h"
#განსაზღვრეთ AUDIOPIN 5 char im [128], მონაცემები [128]; char data_avgs [14];
int i = 0, val;
void setup () {LedSign:: Init (); // ინიციალიზებს LoL ფარს}
ბათილი მარყუჟი () {
for (i = 0; i <128; i ++) {val = analogRead (აუდიოპინი); მონაცემები = val; im = 0; };
fix_fft (მონაცემები, im, 7, 0);
for (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // ეს იღებს მასივის მნიშვნელობების აბსოლუტურ მნიშვნელობას, ამიტომ ჩვენ საქმე გვაქვს მხოლოდ დადებით რიცხვებთან};
// საშუალო ზოლები ერთად (i = 0; i <14; i ++) {data_avgs = data [i*4] + data [i*4 + 1] + data [i*4 + 2] + data [i*4 + 3]; // საშუალოდ ერთად data_avgs = რუკა (data_avgs , 0, 30, 0, 9); // გადახედეთ ღირებულებებს LoL} - ისთვის
// დააყენეთ LoLShield
for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x შებრუნებულია ბარები ასე დაბალი მაღალი სიხშირეები წარმოდგენილია მარცხნიდან მარჯვნივ. LedSign:: კომპლექტი (x, y, 1); // ჩართეთ LED სხვა} {LedSign:: Set (x, y, 0); // გამორთეთ LED}}}
}
ნაბიჯი 4: ისიამოვნეთ
& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; ამპრესი; შეაერთეთ აუდიო ჯეკი თქვენს სტერეო, iPod, კომპიუტერთან და ა.შ. ჩართეთ Arduino DC დენის წყაროსთან, USB კომპიუტერიდან ან ბატარეებიდან- ეს არის სრულიად პორტატული. თქვენ შეგიძლიათ ჩასვათ იგი ქუდის ან ქამრის ბალთაში. თეთრი LED- ები იმდენად ნათელია, რომ ძნელია ვიდეოზე გადაღება. როგორც ჩანს, მათგან მეწამული ალი გამოდის! დაჯექით და ისიამოვნეთ!
ფინალისტი მიკროკონტროლერის კონკურსში
გირჩევთ:
DIY სისხლის ჟანგბადის მეტრი: 5 ნაბიჯი (სურათებით)
წვრილმანი სისხლის ჟანგბადის საზომი: 2020 წელს მსოფლიო შეექმნა უხილავ ურჩხულს სახელად კორონა ვირუსი. ამ ვირუსმა ხალხი ძალიან დააავადა & სუსტი. ბევრმა ადამიანმა დაკარგა კარგი. თავდაპირველად იყო დიდი პრობლემა, პრობლემა იყო სათანადო სამედიცინო აღჭურვილობის მიუწვდომლობა, როგორიცაა
დიდი VU მეტრი ინკანდესენტურ ნათურებზე 220 ვოლტი .: 18 ნაბიჯი (სურათებით)
დიდი VU მეტრი ინკანდესენტურ ნათურებზე 220 ვოლტი .: კარგი შუადღე, ძვირფასო მაყურებლებო და მკითხველებო. დღეს მე გეტყვით 220 ვოლტ ინკანდესენტურ ნათურებზე აუდიო დონის მაჩვენებლის შესახებ
მინის VU- მეტრი: 21 ნაბიჯი (სურათებით)
მინის VU- მეტრი: იცოდით რომ თქვენი არდუინოს პროექტებისთვის შეგიძლიათ გამოიყენოთ მხოლოდ მიკროკონტროლერი? თქვენ არ გჭირდებათ ის დიდი ცისფერი დაფა, რომლის შეტანაც ძნელი იქნება! და მეტიც: ეს არის ძალიან მარტივი! მე გაჩვენებთ როგორ ავაშენოთ PCB თქვენი Arduino– ს გარშემო, მაგრამ
სიმაღლის მეტრი (სიმაღლე მეტრი) ატმოსფერული წნევის საფუძველზე: 7 ნაბიჯი (სურათებით)
სიმაღლის მეტრი (სიმაღლე მეტრი) ატმოსფერული წნევის საფუძველზე: [რედაქტირება]; იხილეთ ვერსია 2 მე –6 საფეხურზე ხელით საბაზისო სიმაღლე სიმაღლეზე. ეს არის Altimeter– ის (სიმაღლის მეტრი) შენობის აღწერა Arduino Nano– ს და Bosch BMP180 ატმოსფერული წნევის სენსორის საფუძველზე. დიზაინი მარტივია, მაგრამ გაზომვები
Vu მეტრი ნეოპიქსელური ნათურების გამოყენებით: 8 ნაბიჯი (სურათებით)
Vu მეტრი Neopixel Leds– ის გამოყენებით: ამ გაკვეთილში მე ვაპირებ გაჩვენოთ როგორ ავაშენოთ ლამაზი VU მეტრი ნეოპიქსელური LED– ების გამოყენებით. მას აქვს 5 განსხვავებული ანიმაცია, სინათლის ინტენსივობის კონტროლი და მგრძნობელობის კონტროლი. ძალიან ადვილია დავიწყოთ