Სარჩევი:

MIDI კონტროლირებადი LED სტრუქტურა: 7 ნაბიჯი
MIDI კონტროლირებადი LED სტრუქტურა: 7 ნაბიჯი

ვიდეო: MIDI კონტროლირებადი LED სტრუქტურა: 7 ნაბიჯი

ვიდეო: MIDI კონტროლირებადი LED სტრუქტურა: 7 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ივლისი
Anonim
Image
Image

როგორც ჭეშმარიტი მუსიკის მოყვარული და ელექტრონული და კომპიუტერული მეცნიერების სტუდენტი, მე ყოველთვის მინდოდა შემექმნა MIDI მოწყობილობები, რომლებიც შემეძლო გამომეყენებინა ელექტრონული მუსიკის შესაქმნელად.

ბევრი შოუსა და მუსიკალურ ფესტივალზე დასწრების შემდეგ, სპექტაკლების დროს დავიწყე მართლაც დაინტერესება მსუბუქი შოუებით.

ბევრი კვლევის შემდეგ, მე ძირითადად აღმოვაჩინე მოწყობილობები, რომლებიც იყენებენ მიკროფონს და ვერ აძლევენ საშუალებას გააკონტროლონ LED- ები ზუსტად ისე, როგორც შენ გინდა.

DAW და MIDI სიგნალების სულ უფრო მეტად გაცნობით, მე გადავწყვიტე ამ პროექტის დაწყება!

იგი შედგება 3D სტრუქტურისგან, რომელიც შეიცავს ინოდოპორირებულ LED- ებს, რომლებიც რეალურად კონტროლდება MIDI სიგნალებით (NoteOn, NoteOff და CC Messages).

მუსიკოსს შეეძლო გააკონტროლოს თითოეული LED- ის ფერი და ინტენსივობა მხოლოდ MIDI სიგნალების გამოყენებით, გენერირებული ნებისმიერი DAW- ით.

ამ იდეით, მსურდა შემოქმედების გაძლიერება სინათლის შოუების საშუალებით და ყველას მივცეთ საშუალება აეშენებინა საკუთარი, ყოველი ვიზუალური წარმოდგენა უნიკალური ყოფილიყო.

ნაბიჯი 1: მასალები

ძირითადად, ეს პროექტი შედგება ორი ნაწილისგან: MIDI მიმღები წრე და LED სტრუქტურა; და მიკროკონტროლი, რომ დააკავშიროს ეს ნაწილები და "თარგმნოს" DAW– დან მომავალი MIDI სიგნალები LED ზოლებზე. აქ მოცემულია თითოეული ნაწილისთვის საჭირო მასალების ჩამონათვალი.

MIDI მიმღები წრე:

  • 1 x 6N138 ოპტოწყვილი
  • 1 x 1N914 დიოდი
  • 1 x 5 პინიანი ჯინ ჯეკი (MIDI ჯეკი)
  • 2 x 220 Ohm რეზისტორები
  • 1 x 4.7K Ohm Resisor
  • 1 USB/MIDI ჯეკი

LED სტრუქტურა:

მე გამოვიყენე RGB LED- ების ზოლები WS2812B LED- ების საფუძველზე, რომელთა კონტროლი შესაძლებელია მხოლოდ 1 ციფრული პორტით. თუ თქვენ გეგმავთ დიდი რაოდენობით LED- ების გამოყენებას, შეიძლება დაგჭირდეთ ზრუნვა საჭირო მაქსიმალურ დენზე (1 LED- ს შეუძლია მოიხმაროს მაქსიმუმ 60mA). თუ მიკროკონტროლერს არ შეუძლია გაუმკლავდეს ამ მაქსიმალურ მნიშვნელობას, თქვენ დაგჭირდებათ კიდევ 5V კვების წყარო, რომელსაც შეუძლია საკმარისი დენის მიწოდება. მე გამოვიყენე 5V - 8A AC/DC ადაპტერი გამოყოფილი გამომავალი ადაპტერით და გადამრთველით.

შენიშვნა: როგორც ჩანს, თქვენ შეგიძლიათ გამოიყენოთ კომპიუტერის ელექტრომომარაგება, რადგან მათ იციან, რომ შეუძლიათ მართლაც მაღალი დენის მიწოდება, მაგრამ თქვენ უნდა დარწმუნდეთ, რომ ის უზრუნველყოფს სტაბილურ 5V DC ძაბვას, შესაძლოა გამოყენებით 36 Ohm 5 Watt სიმძლავრის რეზისტორი მიწას შორის (შავი) და 5V გამტარი (წითელი), რათა რეზისტორში გადიოდეს საკმარისი დენი და ამით უზრუნველყოს სტაბილური 5V.

დაბოლოს, მე გამოვიყენე მარტივი Arduino Uno ხრახნიანი ფარით, რათა დავამყარო კავშირი MIDI სიგნალებსა და LED ზოლებს შორის.

ნაბიჯი 2: MIDI შეყვანის წრის შექმნა

MIDI შეყვანის სქემის მშენებლობა
MIDI შეყვანის სქემის მშენებლობა
MIDI შეყვანის სქემის მშენებლობა
MIDI შეყვანის სქემის მშენებლობა

თუ თქვენ დაინტერესებული ხართ რა არის MIDI პროტოკოლი და როგორ მუშაობს ის, მე მკაცრად გირჩევთ შეამოწმოთ Notes and Volts YouTube არხი, სადაც არის ბევრი საინტერესო და ინოვაციური გაკვეთილები და MIDI Arduino პროექტები.

ამ ნაწილში მე მხოლოდ MIDI შეყვანის წრეზე გავამახვილებ ყურადღებას. შეიძლება კარგი იდეა იყოს პროტოტიპის შექმნა პროტობორდზე და შემოწმება, არის თუ არა DAW– დან მომავალი MIDI სიგნალები კარგად მიღებული მიკროკონტროლის მიერ კომპონენტების შედუღებამდე.

შემდეგი ორი ვიდეო აღწერს როგორ ავაშენოთ და შეამოწმოთ წრე:

  • წრის აგება
  • წრის შემოწმება

დაბოლოს, შეიძლება ასევე კარგი იდეა იყოს ამ ვიდეოს გადამოწმება CC შეტყობინებების გასაგებად და როგორ შეიძლება ავტომატიზაციის კლიპების ინტერპრეტაცია თქვენი მიკროკონტროლის მიერ, მაგალითად, LED სიკაშკაშის გასაკონტროლებლად.

ნაბიჯი 3: FL სტუდიის კონფიგურაცია (სურვილისამებრ)

FL სტუდიის კონფიგურაცია (სურვილისამებრ)
FL სტუდიის კონფიგურაცია (სურვილისამებრ)
FL სტუდიის კონფიგურაცია (სურვილისამებრ)
FL სტუდიის კონფიგურაცია (სურვილისამებრ)
FL სტუდიის კონფიგურაცია (სურვილისამებრ)
FL სტუდიის კონფიგურაცია (სურვილისამებრ)

FL სტუდიის გამოყენებით თავს კომფორტულად ვგრძნობ, მე აგიხსნით, თუ როგორ უნდა მოახდინოთ მისი MIDI ინტერფეისის სწორად კონფიგურაცია, მაგრამ დარწმუნებული ვარ, რომ ეს პროცედურა მკვეთრად განსხვავებული არ უნდა იყოს, თუ სხვა ციფრული აუდიო სადგურს იყენებთ.

პირველ რიგში, თქვენ უბრალოდ უნდა შეაერთოთ USB/MIDI ბუდე თქვენს კომპიუტერში. ჩვეულებრივ, ასეთ მოწყობილობებს აქვთ ჩამონტაჟებული პროგრამული უზრუნველყოფა და აღიარებულია როგორც MIDI მოწყობილობები, თუნდაც ისინი არ იყოს მოხსნილი. შემდეგ გახსენით "პარამეტრების" ფანჯარა (F10 დაჭერით). თუ ყველაფერი სწორად მუშაობს, გამომავალი განყოფილებაში შეამჩნევთ გამომავალ MIDI მოწყობილობას. შეარჩიეთ თქვენი მოწყობილობა და დარწმუნდით, რომ ჩართულია.

შემდეგ თქვენ უნდა განსაზღვროთ თქვენი პორტის ნომერი და გაითვალისწინოთ ის (მაგალითად, 0). უბრალოდ დახურეთ ეს ფანჯარა (პარამეტრები ავტომატურად ინახება) და შემდეგ დაამატეთ ახალი არხი: MIDI Out.

შემდეგ, ბოლო რაც თქვენ უნდა გააკეთოთ არის ამ ახალი არხის პორტის განსაზღვრა: დარწმუნდით, რომ შეარჩიეთ იგივე პორტის ნომერი, რომელიც განსაზღვრეთ "პარამეტრების" განყოფილებაში: ამით თქვენი არხიდან მოსული MIDI შეტყობინებები ახლა არის დაკავშირებულია MIDI გამომავალთან.

ახლა, როდესაც ჩანაწერს უკრავს MIDI Out არხი, "NoteOn" შეტყობინება გაიგზავნება MIDI ინტერფეისის საშუალებით. ანალოგიურად, "NoteOff" შეტყობინება გაიგზავნება შენიშვნის გათავისუფლებისას.

კიდევ ერთი საინტერესო თვისება, რომელსაც თან ახლავს MIDI Out არხი არის შესაძლებლობა, გააკონტროლოთ სხვადასხვა პარამეტრები პოტენომეტრებით. ერთ-ერთ მათგანზე მარჯვენა ღილაკით დაჭერით და "კონფიგურაციის…" არჩევით, თქვენ შეძლებთ მათ გაუგზავნონ CCMessages (მნიშვნელობა 0-დან 127-მდე), რომელიც გამოყენებული იქნება LED- ების სიკაშკაშის გასაკონტროლებლად: აირჩიეთ CC და შემდეგ Accept.

ჩვეულებრივ FL Studio ახლა მზადაა გაგზავნოს მონაცემები თქვენს MIDI ინტერფეისზე! შემდეგი არის ჩაწეროთ კოდი Arduino- ში და ადაპტირდეს იგი თქვენს LED სტრუქტურაზე.

ნაბიჯი 4: LED- ების დაკავშირება

LED- ების დაკავშირება
LED- ების დაკავშირება

LED ზოლების დაკავშირება საკმაოდ მარტივია, რადგან მათ უბრალოდ +5V, GND და მონაცემები სჭირდებათ. თუმცა, რადგან მე ვგეგმავდი მათგან 20 -ზე მეტის დაკავშირებას, მე გადავწყვიტე გამომეყენებინა Arduino PWM რამდენიმე ქინძისთავი და გამოვაცხადე Adafruit_NeoPixel– ის რამდენიმე შემთხვევა (კოეფიციენტში) ყოველგვარი გაუთვალისწინებელი შეფერხების თავიდან ასაცილებლად.

თანდართული სურათი ასევე განმარტავს, თუ როგორ მუშაობს ელექტრონიკა:

  • LED- ების ზოლები პირდაპირ იკვებება კვების ბლოკით.
  • დენის გადამრთველი გამოიყენება არდუინოს კვებისათვის
  • MIDI შეყვანის წრე იკვებება არდუინოს მიერ გადამრთველის ჩართვისას

ნაბიჯი 5: 3D სტრუქტურის დარღვევა

3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა
3D სტრუქტურის დარღვევა

ჯერჯერობით, ეს ნაწილი იყო ყველაზე გრძელი, რადგან მე სრულიად ახალი ვიყავი 3D ბეჭდვით (და მოდელირებით). მინდოდა შემექმნა სტრუქტურა, რომელიც ჰგავდა ნახევრად აფეთქებულ მოწყვეტილ იკოსაედრონს (დიახ, გარკვეული დრო დამჭირდა ფორმის ზუსტი სახელის პოვნა).

რა თქმა უნდა, თქვენ თავისუფლად შეგიძლიათ შექმნათ თქვენი საკუთარი მოდელი თქვენთვის სასურველი ფორმით! მე არ განვმარტავ მოდელირების პროცესს, მაგრამ თქვენ ნახავთ STL ფაილებს, თუ გსურთ ამ სტრუქტურის დიზაინი.

სხვადასხვა ნაწილის შეკრებას გარკვეული დრო დასჭირდა, რადგან მე მომიწია თითოეულ შუქზე ერთი LED- ის დაყენება და ყველა მათგანის შეერთება ბირთვის შიგნით დიდი რაოდენობის მავთულის შედუღებით, რომელიც ამჟამად საკმაოდ არეულია!

შენიშვნა: თუ გსურთ შექმნათ ასეთი სტრუქტურა, დაგჭირდებათ 10 ექვსკუთხა ნაჭერი (დაახლოებით 3 საათი თითოეული PP3DP UP მინი პრინტერის გამოყენებით) და 6 ხუთკუთხა ცალი (2 საათი).

მას შემდეგ რაც თითოეულ ნაწილში იქნება ერთი LED, თქვენ მოგიწევთ დააკავშიროთ 5V და GND ტერმინალები ერთმანეთთან და დააკავშიროთ თითოეული LED- ის რამდენიმე შესასვლელი და გამომავალი ტერმინალი ისე, როგორც თქვენ უნდა დაუკავშიროთ.

დაბოლოს, მე გამოვიყენე LED დიფუზიური აკრილის თითოეული სახე დასაფარავად და თანმიმდევრულად განათების მიზნით.

ამის შემდეგ რჩება მხოლოდ კოდი, რომელიც ცხადყოფს, რომ არც ისე რთულია!

ნაბიჯი 6: კოდი

Კოდი
Კოდი

როგორც წინა ნაწილში აღვნიშნე, კოდი ცხადყოფს, რომ საკმაოდ მარტივია!

სინამდვილეში, ის შედგება მხოლოდ ერთი MIDI მაგალითისა და რამდენიმე Adafruit_NeoPixel შემთხვევისგან (რამდენადაც განსხვავებული ზოლებია).

ძირითადად, მას შემდეგ რაც გამოცხადდება, MIDI კლასი მუშაობს ერთგვარი "შეფერხებით": NoteOn, NoteOff და CCMessage. როდესაც MIDI შეყვანის ციკრუტი გადასცემს ერთ – ერთ იმ სპეციფიკურ სიგნალს Arduino– ს, ასოცირებულ ქვეპროგრამას ეწოდება. შემდეგ, რასაც კოდს აკეთებს, არის ჩართული კონკრეტული LED NoteOn სიგნალზე, გამორთულია ასოცირებული NoteOff სიგნალი და განაახლეთ ზოლების სიკაშკაშე CCMessage– ზე.

ასევე, მე განვსაზღვრე მარტივი ფუნქცია, რომელიც იძლევა LED- ების ფერის არჩევისას NoteOn სიგნალით მოსული სიჩქარის წაკითხვით და ყოველი LED შეიძლება იყოს წითელი, მეწამული, ლურჯი, ფირუზი, მწვანე, ყვითელი, ნარინჯისფერი ან თეთრი, დამოკიდებულია სიჩქარის მნიშვნელობაზე 0 -დან 127 -მდე.

მნიშვნელოვანი რამ, რაც უნდა აღინიშნოს, არის ის, რომ თქვენ მოგიწევთ RX პინის გათიშვა (მოდის MIDI შეყვანის წრიდან), როდესაც ესკიზი ატვირთავთ, რადგან სერიული პორტი (გამოიყენება ამ პროცესში) დაკავშირებულია ამ პინთან!

ნაბიჯი 7: ახლა რა?

მე ამჟამად ვმუშაობ პერსონალურ დანართზე, რომ ჩავრთო ყველა ელექტრონიკა და ასევე ვფიქრობ სტრუქტურის სახელზე! გთხოვთ შემატყობინოთ, მოგეწონათ თუ არა ეს პროექტი და მე ვმუშაობ სხვადასხვა გადაცემებზე, რადგან ვგეგმავ ამ ინსტრუქციის განახლებას სხვა ვიდეოებით!

გირჩევთ: