Სარჩევი:

HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (დამზადებულია Dead Maschine MK2– ით): 4 ნაბიჯი
HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (დამზადებულია Dead Maschine MK2– ით): 4 ნაბიჯი

ვიდეო: HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (დამზადებულია Dead Maschine MK2– ით): 4 ნაბიჯი

ვიდეო: HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (დამზადებულია Dead Maschine MK2– ით): 4 ნაბიჯი
ვიდეო: q3d quickfit extruder 2024, დეკემბერი
Anonim
Image
Image
რემონტი
რემონტი

სპეციფიკაცია

  • ჰიბრიდული Midi კონტროლერი / დრამის მანქანა: Arduino DUE იკვებება!
  • 16 სიჩქარის შემმოწმებელი ბალიში ძალიან დაბალი შეყოვნებით 1> ms
  • 8 ღილაკი მომხმარებლისთვის მინიჭებული ნებისმიერი Midi #CC ბრძანებისთვის
  • 16ch ჩამონტაჟებული მიმდევარი (კომპიუტერი არ არის საჭირო !!)
  • MIDI/out/thru ფუნქციონირება (შეიძლება გამოყენებულ იქნას როგორც USB midi ინტერფეისი!)
  • ნაწილობრივი MIDI საათი და MTC მხარდაჭერა (მუშაობს MMC და DAW კონტროლზე)

ეს ნამდვილად ერთ -ერთი ყველაზე რთული პროექტია, რომელზეც მე ვმუშაობდი, ვსაუბრობდი 17 გამომავალი ცვლის რეგისტრატორზე, 6 შეყვანის ცვლის რეგისტრატორზე, 2x 16 არხის მულტიპლექსერზე, რომელიც მუშაობდა მიკროსქემის დაფაზე, მე არ ვიცი რა არის რა და სად, პლუს არასდროს მირევია ცვლის რეგისტრატორებით / მულტიპლექსერებით ადრე ……

ეს დაიწყო როგორც eBay– ის იმპულსური ყიდვა, მე ნამდვილად მინდოდა Native Instruments Maschine, რადგან მე ყოველთვის მომწონდა მათზე დრამის ბალიშები, ვიდრე მე მქონდა MPC სტუდიაში. მე ყველანაირად შევეცდები გამოვასწორო ის ყველაზე უარესი სცენარით: "თუ მე ვერ გამოვასწორებ მე მაქვს Arduino DUE და რამოდენიმე გაერო იტყუება ირგვლივ, მე ყოველთვის შემიძლია რაღაც გატეხვა"

მე ნამდვილად მომწონს ის ბარაბანი ბალიშები !!!!

მარაგები

1 x გაუმართავი მშობლიური ინსტრუმენტების მანქანა MK2

1 x Arduino გამო.

17 x SN74HC595 - 8 ბიტიანი გამომავალი ცვლის რეგისტრატორი

6 x SN74HC165 - 8 ბიტიანი შეყვანის ცვლის რეგისტრატორი

2 x 74HC4067 - 16 არხის მულტიპლექსერი.

2 x 3.2”256x64 OLED დისპლეი.

რაღაც ბრტყელი მავთული (ძველი ფლოპი კაბელი გააკეთებს)

ნაბიჯი 1: რემონტი

EBay– ის გამყიდველი იყო საკმარისად კეთილი, რათა წარმოედგინა რას ელოდებოდა აღწერილობაში და ამოიღო USB პორტი. დაფას ჰქონდა ზედმეტი ძაბვა და არ იკვებებოდა. მონიშნეთ მულტიმეტრი … როგორც ჩანს, დაფას ჰქონდა მოკლე.. 'მე შეკეთებული მაქვს უთვალავი დედაპლატი შორტებით, რა ძნელი შეიძლება იყოს??!' კომპონენტი დაფაზე, ძირითადი პროცესორის ჩათვლით. ეს დაფა მართლაც ცუდი გზით იყო!

მე გავაგრძელე ჩემი მულტიმეტრით პროდუცირება და დაკვრა, გავაკეთე მცირედი კვლევა კომპონენტებზე და გავარკვიე რას აკეთებს თითოეული მათგანი პლუს NI– მ დიდი სამუშაო გააკეთა იმისთვის, რომ ყველაფერი საკმაოდ აშკარა ყოფილიყო დედაპლატის ირგვლივ არსებული სხვადასხვა სატესტო წერტილებით?

ნაბიჯი 2: ჰაკი

ჰაკი
ჰაკი
ჰაკი
ჰაკი
ჰაკი
ჰაკი

იმის ცოდნა, რომ მე მომიწევს ყველაფრის შეცვლა მთავარი პროცესორის ბარიდან (რაც არ იქნება საჭირო) მივმართე eBay– ს. საბედნიეროდ, ყველაფერი საჭირო იყო იაფი, ამიტომ მათი დატვირთვის შეკვეთა სახალისო იყო. ?

17 x SN74HC595 - 8 ბიტიანი გამომავალი ცვლის რეგისტრატორი

17 გამომავალი ცვლის რეგისტრი გამოიყენება ბარაბნის მრავალფუნქციური ფერადი LED- ებისა და ღილაკების LED- ების გასაკონტროლებლად (ზუსტად 136 !!) ეს მართლაც ადვილი გამოსაყენებელია და სწრაფად ვიპოვე ბიბლიოთეკა Arduino IDE– ს გამოყენებით, რომ გადავარჩინო საკუთარი თავი.. ისინი მიჯაჭვულია ერთად.

6 x SN74HC165 - 8 ბიტიანი შეყვანის ცვლის რეგისტრატორი

ეს შეყვანის ცვლის რეგისტრები შესანიშნავია 1 არხზე მრავალჯერადი შეყვანისთვის. სულ არის 48 ღილაკი.

2 x 74HC4067 - 16 არხის მულტიპლექსერი

ჩვენ გვაქვს 16 ბალიში და დარჩენილია 8 სახელური, რომლებიც ასევე ანალოგიურია. მე უფრო გამიადვილდა მათი გამოყენება, რადგან დაფაზე იყო 8 არხი და მე მქონდა პრობლემა, რომ შემეერთებინა მონაცემთა ქინძისთავები.. cue spaghetti junction….

2 x 3.2”256x64 OLED დისპლეი

მას უნდა ჰქონდეს რამდენიმე ეკრანი !!! მე ვერ ვიპოვე რაიმე ინფორმაცია ორიგინალ LCD ეკრანებზე, რომელიც მოვიდა NI Maschine– ში და აღარ შემეძლო დროის დაკარგვა, ამიტომ გადავწყვიტე ჩინეთიდან შემეკვეთა… მე გამოვიყენე UG8x8 ბიბლიოთეკა, რომ ეს გამემუშავებინა. ახალი ეკრანები ოდნავ პატარა იყო ვიდრე ორიგინალი, ასე რომ მე უბრალოდ გავანათე "ცუდი ნაჭრები".

1 x Arduino გამო

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

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

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

USB midi- ის ამოქმედება ადვილი იყო და რამდენიმე წუთი დასჭირდა. LED- ებს გარკვეული დრო დასჭირდა და მე უნდა შემექმნა ესკიზი, რომელიც თანდათანობით დააყენებდა თითოეულ პინს HIGH 1 წამში ინტერვალში და აღვნიშნავდი.. მე გავაკეთე მასივი, რომელიც ინახავდა PIN- კოდებს, რათა გაადვილებულიყო ყველაფრის კოდირება.

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

მინდოდა მქონოდა მიმდევარი და კომპიუტერის საჭიროების გარეშე ჩაწერის შესაძლებლობა, ვიპოვე ინფორმაცია იმის შესახებ, თუ როგორ გადავიყვანო BPM MS- ში და ვიპოვე შესანიშნავი Arduino DUE ტაიმერის ბიბლიოთეკა.

ტაიმერის ბიბლიოთეკის გამოყენებით შევძელი ინტერვალით დამეყენებინა კითხვის საშუალებები და საგნები:

ბალიშები @ 1ms - მე აღმოვაჩინე, რომ საუკეთესო ბალანსი მიმეცა რეაგირების / მოხსნის არტეფაქტებს შორის.

ღილაკები @ 40ms - მე გამოვიყენე რიგის ბიბლიოთეკა, ასე რომ პრესები არ გამომრჩენია.

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

Midi პერსონალი @BPM (ms) - თანმიმდევრობისთვის, სასურველ BPM- ზე ფუნქცია ეწოდება განახლებებს, რომლებიც აღნიშნავენ ETC- ს და ზრდის დარტყმის მრიცხველს.

ნაბიჯი 4: დასკვნა

დასკვნა
დასკვნა

არ ვიცი რა გავაკეთე აქ, მაგრამ მე საკმაოდ ვამაყობ, ბალიშები მშვენივრად რეაგირებენ, მე მომიწია დროზე ფიქრი სწორი ბალანსის მისაღებად რეაგირებისა და დემონსტრირების საკითხებთან დაკავშირებით. თანმიმდევრობა მშვენივრად მუშაობს და მას შემდეგ რაც გავიაზრე DAW მხარდაჭერა შემიძლია სრულად ჩავრთო ეს საქმე ჩემს სამუშაო პროცესში და შემიძლია დავამატო საგნები იმ კონტროლერში, რომელიც მე ყოველთვის მინდოდა!. ეს მართლაც სახალისო პროექტი იყო და დიდი ვარჯიში C– სთან გამკლავებაში, საპირისპირო ინჟინერიის და იმის გაგებაში, თუ როგორ მუშაობს მულტიპლექსერები, ცვლის რეგისტრები და MIDI თანმიმდევრობა. მე ვაგრძელებ ძირითადი კოდის გაუმჯობესებას და შეიძლება გამოვაქვეყნო ის ერთ დღეს, როგორც ღია კოდის რიტმის დიზაინერი.

ᲠᲩᲔᲕᲔᲑᲘ:

აღმოვაჩინე, თუ როგორ უნდა შევცვალო USB სახელწოდება DUE Arduino/SAM საქაღალდეში ერთ -ერთი სათაურის ფაილის რედაქტირებით.

MIDI-OX არის დიდი ინსტრუმენტი Midi ფუნქციონირების შესამოწმებლად

ბმულები:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI სპეციფიკა https://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… რამდენიმე ინფორმაცია იმის შესახებ, თუ როგორ უნდა გადავიყვანო BPM ms

travis-ci.com/SMFSW/Queue - ღილაკების შეყვანისთვის, ასე რომ ჩვენ არ გამოვტოვებთ არც ერთ პრესას!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib LED/LCD ეკრანებისთვის

github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib დიდი სახელურისთვის

shiftregister.simsso.de/ - ShiftIn Register lib - შექმნილია ჰენრიკ ჰაინეს მიერ, 2016 წლის 24 ივლისი

forum.arduino.cc/index.php?topic=57636.0 - MIDI დროის კოდის პერსონალი

გირჩევთ: