Სარჩევი:

Arduino MIDI ფეხის კონტროლერი: 12 ნაბიჯი
Arduino MIDI ფეხის კონტროლერი: 12 ნაბიჯი

ვიდეო: Arduino MIDI ფეხის კონტროლერი: 12 ნაბიჯი

ვიდეო: Arduino MIDI ფეხის კონტროლერი: 12 ნაბიჯი
ვიდეო: TX81Z Arduino MIDI კონტროლერი / რედაქტორი 2024, დეკემბერი
Anonim
Arduino MIDI ფეხის კონტროლერი
Arduino MIDI ფეხის კონტროლერი

მე ახლახანს შევქმენი ეს MIDI კონტროლერი, რათა გამოვიყენო ფრაზის მარყუჟი, რომელიც ჩაშენებულია Boss DD500 დაგვიანებით პედლში. მე ვაკონტროლებ ჩემს მთელ გიტარის აპარატს Behringer FCB MIDI დაფის გამოყენებით და ეს მაძლევს საშუალებას შევცვალო პატჩები შეფერხების პედლზე ეფექტების მარყუჟში, ამავდროულად არხების გადართვა.

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

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

ნაბიჯი 1: კონცეფციები

კონცეფციები
კონცეფციები
კონცეფციები
კონცეფციები

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

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

ნაბიჯი 2: Breadboard Protoyping

პურის დაფის პროტოპირება
პურის დაფის პროტოპირება
პურის დაფის პროტოპირება
პურის დაფის პროტოპირება

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

პედლს აქვს 5 ფეხის გადამრთველი, 4 სტატუსის LED, 5 I2C LCD ეკრანი და აკონტროლებს Arduino Nano Every. ის ენერგიას იღებს 9V გიტარის პედლებიანი PSU– დან ცალკეული გარღვევის ყუთის საშუალებით, რომელიც ატარებს ამ ძალას MIDI კაბელზე 2 ქინძისთავის გამოყენებით, რომლებიც ჩვეულებრივ არ გამოიყენება MIDI კონექტორზე.

ნაბიჯი 3: დამზადება

ფაბრიკაცია
ფაბრიკაცია
ფაბრიკაცია
ფაბრიკაცია
ფაბრიკაცია
ფაბრიკაცია

მე გადავხედე პროექტის განსახლების უამრავ შესაძლო შემთხვევას და განვიხილე იდეაც, რომ შევეცადე საკუთარი საქმე გადამეხვია ალუმინის ფურცლებიდან. საბოლოოდ დავბინავდი ჰამონდის გარსზე, რომელიც საკმარისად ფართო იყო იმისათვის, რომ მოთავსებულიყო ჩემს მიერ არჩეული 5 16X2 LCD ეკრანი.

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

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

ნაბიჯი 4: CAD მაკეტი და განლაგება

CAD მაკეტი და განლაგება
CAD მაკეტი და განლაგება
CAD მაკეტი და განლაგება
CAD მაკეტი და განლაგება

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

ნაბიჯი 5: PCB დიზაინი

PCB დიზაინი
PCB დიზაინი
PCB დიზაინი
PCB დიზაინი
PCB დიზაინი
PCB დიზაინი
PCB დიზაინი
PCB დიზაინი

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

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

დაფები ჩამოვიდნენ დაახლოებით 2 კვირის შემდეგ და საბედნიეროდ მუშაობდნენ ყოველგვარი პრობლემის გარეშე.

ნაბიჯი 6: ეკრანის დამონტაჟება

ეკრანის სამაგრი
ეკრანის სამაგრი
ეკრანის სამაგრი
ეკრანის სამაგრი
ეკრანის სამაგრი
ეკრანის სამაგრი

პირველი ნაწილები იყო ეკრანის საყრდენი. მე გამოვიყენე 3 მმ ალუმინი ამისთვის და გაბურღული ხვრელები სადგამებისთვის. ზომები განისაზღვრა ყველაფერი მაგიდაზე დაყენებით, როგორც მე მინდოდა, რომ ყოფილიყო პედლები და გავზომოთ ეკრანის PCB- ების სამონტაჟო ხვრელებიდან. მე ასევე დავდე ფეხის გადამრთველები მათთან, რომ მივიღო დისტანციები მათთვის.

ყველა ხვრელის გაბურღვის შემდეგ ეკრანები დამონტაჟდა და შემოწმდა კვადრატულად, მრგვალი ქვედა ბრტყელ კიდეებს მიაჭირა. ჯერჯერობით ყველაფერი რიგზეა.

ნაბიჯი 7: დანართი

დანართი
დანართი
დანართი
დანართი
დანართი
დანართი

შემდეგი იყო საქმის შეცვლა. ფეხის გადამრთველები და LED- ები იყო პირდაპირი, რადგან თითოეულ მათგანს, შესაბამისად, 12 მმ და 5 მმ ხვრელი სჭირდებოდა.

ფიზიკური მუშაობის ძირითადი ნაწილი მოვიდა ეკრანის ხვრელების ამოკვეთისას. მე გამოვიყენე დრემელი მძიმე დამჭერი დისკებით და სხვადასხვა ფაილები ხვრელების გასასუფთავებლად. ამ ნაწილს დაახლოებით 2 საათი დასჭირდა.

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

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

ნაბიჯი 8: უჰ-ოჰ

უჰ-ოჰ
უჰ-ოჰ
უჰ-ოჰ
უჰ-ოჰ
უჰ-ოჰ
უჰ-ოჰ

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

ნაბიჯი 9: ხატვა

საღებავი
საღებავი
საღებავი
საღებავი
საღებავი
საღებავი

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

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

ნაბიჯი 10: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

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

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

ნაბიჯი 11: Arduino კოდი

Image
Image

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

DD500– ის მარყუჟს აქვს 5 ძირითადი ფუნქცია:

  • Looper ჩართულია/გამორთულია
  • ჩაწერა/გადატვირთვა/დაკვრა
  • ითამაშეთ ჩაწერილი მარყუჟი
  • შეაჩერე დაკვრა
  • წაშალეთ ჩაწერილი მარყუჟი

თითოეულ ამ ფუნქციას აქვს შესაბამისი ფეხის გადამრთველი და, გაჩერების ღილაკის გარდა, სტატუსის LED. LCD ეკრანები ასევე განახლებულია შესაბამისი ინფორმაციით, რათა აჩვენოს არის თუ არა პედლები ჩაწერის, გადატვირთვის ან დაკვრის რეჟიმში, ასევე რა ფუნქციას შეასრულებს თითოეული ფეხის გადამრთველი იმის მიხედვით, თუ რა ხდება იმ დროს.

კიდევ ერთი თვისება, რომელიც მე დავამატე, იყო თვალყურის დევნება რამდენჯერ იყო გააქტიურებული ჩანაწერი/გადატვირთული ფუნქცია. ეს ინახება კოდში მთელი რიცხვის გაზრდით, რომელიც გამოჩნდება "ბუფერულ" ეკრანზე და აჩვენებს რამდენი ჩანაწერია ჩაწერილი. მიუხედავად იმისა, რომ DD500 ვერ წაშლის ცალკეულ ჩანაწერებს, მე დავამატე ეს მხოლოდ როგორც კოდირების სავარჯიშო იმის დასადგენად, შევძლებ თუ არა მას მუშაობა.

როგორც ჩანს, პრობლემაა Instructables- ში ფაილების ატვირთვა და ამიტომ მე კოდის ასლი Pastebin– ზე დავდე, ამის ნაცვლად:

კოდში გამოყენებულია 2 ბიბლიოთეკა:

LiquidCrystal_I2C

FortySevenEffects MIDI ბიბლიოთეკა

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

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

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

გირჩევთ: