Mündəricat:

Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün): 5 addım (şəkillərlə)
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün): 5 addım (şəkillərlə)

Video: Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün): 5 addım (şəkillərlə)

Video: Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün): 5 addım (şəkillərlə)
Video: NOOBS PLAY CLASH ROYALE FROM START LIVE 2024, Noyabr
Anonim
Image
Image
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün)
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün)
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün)
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün)
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün)
Lune - Arduino ilə MIDI Controller (DJ və ya Musiqiçi üçün)

Bu mənim ilk arduino (mikrokontrolör) layihə adı Lune. Arduino -nu faydalı və böyük bir layihə ilə öyrənmək istədim, buna görə qarışdırmaq üçün müstəqil olmaq üçün lazım olan bütün funksiyaları olan bir midi DJ nəzarətçisi hazırlamağa qərar verdim.

Hər növ sensoru (potensiometr, düymə, …) müstəqil öyrənmək olar və düşünürəm ki, ən yaxşı yol hər bir sensor üçün addım -addım "necə işlədiyini" və "necə bağlı olduğunu" öyrənməkdir.

Hər şey belə işləyir:

  1. Arduino ilə əlaqəli sensorlar bir dəyişiklik aşkar edir
  2. Arduino bu dəyişikliyi kompüterə göndərir
  3. Kompüterdəki bir proqram, məsələn, abletonda istifadə edə biləcəyiniz MIDI -də olan serial (arduino) məlumatlarını çevirir.

Nəzarətçimdə var

  • EQ üçün 6 eksenel potensialometr
  • 3 potensialölçən eksenel
  • Həcm üçün 6 potientometr xətti
  • Play üçün 2 düymə
  • 2 Ultrasonik sensor (SR04) əllərimin məsafəsindəki effektlər üçün
  • Cue üçün 2 düyməni basın
  • 2 x 4 düyməli RGB led pad
  • Scratch üçün 1 kodlayıcı

Addım 1: Bağımsız və ya Proqram

Əvvəlcə arduino ilə MIDI nəzarətçisinin fərqli dərsliklərini araşdırdım.

MIDI -də etdiklərinizi (etdiyim işləri) tərcümə edən bir proqramla bir MIDI nəzarətçi edə bilərsiniz

Sizə lazım olacaq:

  1. Midi məlumatlarını göndərmək/qəbul etmək üçün proqram https://projectgus.github.io/hairless-midiserial/ Arduino kodunuza uyğun olaraq "üstünlüklərdə" baud sürətini təyin etməyi unutmayın (mənim üçün 9600 çünki "Serial.begin" (9600); ")
  2. Virtual midi cihazı

Başqa bir nümunə:

www.instructables.com/id/Easy-3-Pot-Potentiometer-Arduino-Uno-Effects-Midi-/

_

Kompüterinizdə işləyən bir proqram olmadan MIDI nəzarətçisində nə etdiyinizi tərcümə etmək üçün kompüterinizə MIDI göndərən "real" bir MIDI nəzarətçi edə bilərsiniz

Bir arduino Uno və ya Mega ilə birlikdə midi göndərmək üçün arduino otağını və ya buna bənzər bir şeyi yandırmalısınız. Anladıqlarımdan bunu edirsinizsə, arduino -da göndərdiyiniz koddan əmin olmalısınız, çünki arduino flaş olduqda artıq kod göndərə bilməzsiniz (yenidən reflash lazımdır). Bir çox test kodu etdim, buna görə ikinci variantı seçdim, amma əmin olmaq üçün MIDI cihazını qoşub oynamaq daha yaxşıdır.

Daha irəli getmək üçün nümunə:

create.arduino.cc/projecthub/etiennedesportes/ableton-live-midi-controller-9182b3

MAJ 2018-02-28: https://www.arduino.cc/en/Reference/MIDIUSB "Yerli USB qabiliyyətli mikro nəzarətçi (atmega32u4 əsaslı lövhələr və ya ARM lövhələri)" varsa, ən sadə yol (arduino UNO üçün OK yoxdur)

Addım 2: Taxta və Kassa

Ağac və Kassa
Ağac və Kassa
Ağac və Kassa
Ağac və Kassa
Ağac və Kassa
Ağac və Kassa

Taxta qutu dizaynı: https://www.makercase.com/ bir kassa generatoru istifadə etdim, üstünü və üst üçün yuvanı sildim. Hündürlüyü təyin etmək üçün ən yüksək düymənin hündürlüyünü axtarıram və 2 sm əlavə edirəm.

Üst hissədə bir MDF lövhə və həkk olunmuş 3 mm kontrplak ağacı istifadə etdim.

Planlarla taxta lövhələri lazerlə kəsdi.

USB kabeli üçün bir delik kəsin.

Planlarıma qoşuldum, amma bu addımda şəxsi nəzarətçinizi etmək daha maraqlıdır.

Montaj:

Tərəflər üçün fərqli lövhələri yapışdırıb yığdım.

Üstü üçün 2 üst MDF -də 4 deşik qazdım. (vidamın diametri + 1 mm)

Bir bolt vidalayıram və qozu dörd dəfə bucağa yapışdırıram, sonra 2 üst taxta lövhəni yuxarıdan vidalayın.

Bu şəkildə bir qoz yapışdırılmış 4 açıya sahibəm, qozlu deliklər üst lövhələri düzəltmək üçün vintlər üçün açılan deliklərdir. Üst taxta lövhələri vidaladığımda, aşağıda göstərilən qoza girə bilmirəm.

Yan lövhələrdə (qutuda) deliklər qazdım, tərəflərə açıları düzəltdim (hər şeyi vintlə və yapışdırdıqdan sonra).

İki üst lövhəni qoyun və vidalayın.

Bu şəkildə görünən bir qoz yoxdur və üst lövhənin taxta sürtgənin düzəldilməsinə ehtiyac yoxdur, təəccüblü dərəcədə möhkəmdir, amma daha yaxşı bir yol var.

Polyak:

Çox yaxşı işləyən "Vernis bois brillant 125 ml Avel Louis XIII" (fransız cilası) istifadə etdim.

Bir neçə qat qoyduğum və hər biri arasında 24 saat gözlədiyim üçün bir az uzun idi.

Üst əla görünür və ağac qorunur. İlk dəfə idi ki, lazım olduğu qədər gözləmədim və ya bəzi hissələrinə çox lak qoydum, çünki cilası quruduqdan sonra da bərk olmadı, indi (2 aydan sonra) hər şey qaydasındadır.

Qrafika: Fornaseti sənət əsərlərinin montajı və şəxsi rəsm.

p.s: midi nəzarətçisini dizayn etmək üçün tövsiyələr, planımda iki RGB 4 düymə yastığı bir -birinə çox yaxındır

www.instructables.com/id/A-Framework-For-Making-Affordable-Stylish-Modula/

Addım 3: Elektron

Elektron
Elektron
Elektron
Elektron
Elektron
Elektron

Hər şeyi (layihəm üçün) Fritzing faylına qoydum.

Hər bir sensor növü üçün onun necə işlədiyini və ya arduinoya nə verdiyini öyrənməlisiniz.

Bunu etmək üçün, məsələn, təsirsiz olan dərsləri izləyin ("potensiometr arduino", …).

Mən istifadə etdim:

  • Potensialiometr
  • RGB pad (Sparkfun
  • Ultrasəs HC-SR04 (məsafə detektoru)
  • Kodlayıcı
  • Push düyməsi (arcade düyməsi)

Son montajınızı etmək istədikdə eyni vaxtda fritzing etmək üçün tövsiyə edirəm, çünki tonlarla kabelin olduğunu görmək çətindir.

Sifariş:

İstədiyimi və ya ən azından daha böyük hissəsini bildikdən sonra komponentlərimi sifariş etdim. Bu yolla daha az çatdırılma xərcləri əldə edə bilərsiniz.

Mən özüm üçün ən çox Conrad və ya RS (Fransadayam) və robot mağazasında RGB pad kimi daha spesifik parçalar sifariş verirəm.

Şəkillərdəki Conrad əmrimdən bir nümunə

Addım 4: Arduino Kodu

Arduino kodu
Arduino kodu

Arduino üçün kodum var. Fərqli bir nəzarətçi etsəniz, dəyişikliklərdən sonra Arduino IDE ilə USB vasitəsilə mikro nəzarətçinizə göndərməlisiniz (youtube -da dərslər var). Əlavə olaraq:

  • Sonuncu
  • Yalnız 6 rəngli 2 RGB Ped ilə işləmək mümkündür (RGB+mavi+gül+sarı).
  • Fərqli sensoru öyrənmək üçün yazdığım kodun köhnə hissələri

Bəzi hissələr mənim yazdığım hissələrdən alınmışdır.

Tampon üçün Keypad.h kimi arduino kitabxanalarını (xətaya və "daxil olun" a baxın) yükləməlisiniz.

Fərqli siniflər faylların sonunda yerləşir.

Qeyd edə bilərsiniz ki, serial məlumatlarını göndərmək üçün burda bir şey var.

void MIDImessage (bayt əmri, bayt data1, bayt data2) // --------- GEREKLİ, dəyərləri standart Midi Komutundan keçir

{Serial.write (əmr); Serial.write (data1); Serial.write (data2); }"

Addım 5: Təkmilləşdirmələr

Hər şey işləyir, amma prototipdir. Bəzi suallar və ya təkmilləşdirmə nöqtəsi var.

Enerji:

- Hər sensorla RGB pad istifadə edərkən RGB ledləri çox az parlayır. 5v arduino mənim layihəm üçün çox azdır? Onlardan yalnız istifadə edərkən heç bir problem yoxdur.

Kod:

- Kodlayıcının serialı var, amma MIDI -də necə işlədiyini bilmirəm. MIDI çıxışında istədiklərini nəzərdə tuturam. Enkoderi traktorda cızmağa necə quracağınızı bilirsinizsə mənimlə əlaqə saxlayın.

- Düymələr üçün yazdığım bəzi kodlar musiqi tətbiqi üçün yaxşı deyil. Ən sürətli məsuliyyətə ehtiyacımız var və gördüm ki, bəzi düymələr kodlarım bunu etmək üçün ən yaxşı şəkildə yazılmamışdır (Yaxşı xatırlayıramsa Play düyməsi).

Tövsiyə: