Mundarija:

Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun): 5 qadam (rasmlar bilan)
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun): 5 qadam (rasmlar bilan)

Video: Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun): 5 qadam (rasmlar bilan)

Video: Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun): 5 qadam (rasmlar bilan)
Video: Touhou on Arduino Robot Zither: U. N. Owen Was Her? 2024, Noyabr
Anonim
Image
Image
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun)
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun)
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun)
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun)
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun)
Lune - Arduino bilan MIDI boshqaruvchisi (DJ yoki musiqachi uchun)

Bu mening birinchi arduino (mikrokontroller) loyiha nomi Lune. Men arduino -ni foydali va katta loyiha bilan o'rganishni xohlardim, shuning uchun men aralashish uchun mustaqil bo'lishi kerak bo'lgan barcha funktsiyalarni o'z ichiga olgan midi DJ kontrollerini yaratishga qaror qildim.

Har qanday sensorni (potentsiometr, tugma, …) mustaqil o'rganish mumkin va menimcha, eng yaxshi usul - bu har qanday sensor uchun "qanday ishlashini" va "qanday ulanganligini" bosqichma -bosqich o'rganishdir.

Hammasi shunday ishlaydi:

  1. Arduino -ga ulangan sensor o'zgarishni aniqlaydi
  2. Arduino bu o'zgarishni kompyuterga yuboradi
  3. Kompyuterda o'rnatilgan dasturiy ta'minot MIDI -dagi ketma -ket (arduino) ma'lumotni o'zgartiradi, siz uni abletonda ishlatishingiz mumkin.

Mening nazoratchim bor

  • EQ uchun eksenel 6 ta potientometr
  • Effektlar uchun eksenel 3 ta potientometr
  • Ovoz balandligi uchun 6 ta potientometr
  • O'ynash uchun 2 ta tugma
  • 2 Ultrasonik sensori (SR04) qo'llarim masofasidagi effektlar uchun
  • Cue uchun 2 ta tugmani bosing
  • 2 x 4 tugmachali RGB LED pad
  • Scratch uchun 1 ta kodlovchi

1 -qadam: Mustaqil yoki dasturiy ta'minot

Birinchidan, men MIDI kontrollerining turli xil qo'llanmalarini arduino bilan o'rganib chiqdim.

Siz MIDI -da nima qilayotganingizni (men qilgan narsani) tarjima qiladigan dasturiy ta'minot bilan MIDI boshqaruvchisini qilishingiz mumkin

Sizga kerak bo'ladi:

  1. Midi ma'lumotlarini yuborish/qabul qilish uchun dasturiy ta'minot https://projectgus.github.io/hairless-midiserial/ Arduino kodingizdagiga muvofiq "imtiyozlar" da yuklanish tezligini o'rnatishni unutmang (men uchun 9600 chunki "Serial.begin" (9600); ")
  2. Virtual midi qurilmasi

Yana bir misol:

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

_

Siz "haqiqiy" MIDI boshqaruvchisini qilishingiz mumkin, bu sizning kompyuteringizda dasturiy ta'minotsiz MIDI -dagi boshqaruvchida nima qilayotganingizni tarjima qilish uchun MIDI -ni kompyuterga yuboradi

Hozirda arduino Uno yoki Mega -da siz midi -ni to'g'ridan -to'g'ri yuborish uchun arduino xonasini yoki shunga o'xshash narsani yoqishingiz kerak. Men tushunganimdek, agar siz buni qilgan bo'lsangiz, siz arduino -da yuborgan kodingizga ishonch hosil qilishingiz kerak, chunki arduino yonib turganda siz boshqa kodni jo'natolmaysiz (sizga yana reflash kerak). Men juda ko'p sinov kodlarini bajarganman, shuning uchun men ikkinchi variantni tanladim, lekin ishonch hosil qilish uchun MIDI qurilmasini ulash va o'ynash yaxshiroqdir.

Yana borish uchun misol:

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

MAJ 2018-02-28: https://www.arduino.cc/en/Reference/MIDIUSB Agar sizda "mahalliy USB imkoniyatlariga ega mikrokontroller (atmega32u4 asosidagi taxtalar yoki ARM platalari)" bo'lsa, eng oddiy usul (arduino UNO uchun OK yo'q)

2 -qadam: Yog'och va sumka

Yog'och va sumka
Yog'och va sumka
Yog'och va sumka
Yog'och va sumka
Yog'och va sumka
Yog'och va sumka

Yog'ochdan yasalgan korpus dizayni: Men korpus generatoridan foydalandim https://www.makercase.com/, yuqori qismini va tepa uchun uyani o'chirib tashladim. Balandlikni aniqlash uchun men eng baland tugmani balandligini qidiraman va 2 sm qo'shaman.

Yuqorida men bitta MDF taxtasi va bitta o'yilgan 3 mm kontrplak terakidan foydalanardim.

Yog'och taxtalarni rejalar bilan lazer kesadi.

USB kabeli uchun teshikni kesib/burg'ulash.

Men o'z rejalarimga qo'shildim, lekin bu qadamda sizning shaxsiy nazoratchingizni qilish ancha qiziqroq.

Yig'ish:

Yonlari uchun men har xil yon panellarni yopishtirdim va yig'dim.

Yuqori qismi uchun men 2 ta yuqori MDFda 4 teshik ochdim. (vintim diametri + 1 mm)

Men murvatni burab, yong'oqni to'rt marta burchakka yopishtiraman, shundan keyin 2 ta yuqori yog'och taxtani tepadan burab qo'yaman.

Shunday qilib, menda bitta yong'oq yopishtirilgan 4 burchak bor, yong'oq bilan teshiklar - bu yuqori taxtalarni mahkamlash uchun vintlar uchun teshiklar. Yog'ochdan yasalgan taxtalarni burab qo'ysam, pastdagi yong'oqqa kira olmayman.

Men yon taxtalarda (quti) teshiklarni burab qo'ydim, burchaklarni yon tomonlarga mahkamladim (vint va hamma narsani yopishtirgandan keyin).

Ikkita yuqori taxtani joylashtiring va ularni burab qo'ying.

Shunday qilib, ko'rinadigan yong'oq yo'q va yuqori taxtani yog'och tayoqchasini mahkamlashning hojati yo'q, u hayratlanarli darajada mustahkam, lekin yaxshiroq yo'l bor.

Polyak:

Men juda yaxshi ishlaydigan "Vernis bois brillant 125 ml Avel Louis XIII" (frantsuz jilosi) dan foydalandim.

Bu biroz uzun edi, chunki men bir necha qatlamlarni qo'ydim va har biri o'rtasida 24 soat kutdim.

Ustki ajoyib ko'rinadi va yog'och himoyalangan. Bu men birinchi marta edi, shuning uchun kerak bo'lganda kutmadim yoki ba'zi qismlarga juda ko'p vernik qo'ydim, chunki lak quriganidan keyin ham qattiq emas edi, hozir (2 oydan keyin) hammasi yaxshi.

Grafika: Fornaseti san'at asarlari va shaxsiy rasmlarning montaji.

p.s: midi tekshirgichni loyihalash bo'yicha maslahatlar, mening rejam bo'yicha ikkita RGB 4 tugmachasi bir -biriga juda yaqin

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

3 -qadam: elektron

Elektron
Elektron
Elektron
Elektron
Elektron
Elektron

Men hamma narsani (loyiham uchun) Fritzing fayliga qo'ydim.

Sensorning har bir turi uchun siz uning qanday ishlashini yoki arduinoga nima berganini bilib olishingiz kerak.

Buni amalga oshirish uchun, masalan, tushunib bo'lmaydigan darslarni tomosha qiling ("potentsiometr arduino", …).

Men ishlatganman:

  • Potentsiometr
  • RGB pad (Sparkfun
  • Ultratovushli HC-SR04 (masofa detektori)
  • Kodlovchi
  • Bosish tugmasi (arja tugmasi)

Qachonki siz oxirgi montajni qilmoqchi bo'lsangiz, buni bir vaqtning o'zida fritzingda qilishingizni maslahat beraman, chunki tonna kabellar borligini ko'rish qiyin.

Buyurtma:

Men xohlagan narsani yoki hech bo'lmaganda katta qismini bilganimdan so'ng, men o'z komponentlarimga buyurtma berdim. Shunday qilib, siz yuk tashish xarajatlarini kamaytirasiz.

O'z navbatida, men eng ko'p Conrad yoki RS (men Frantsiyadaman) va robot do'konidagi RGB pad kabi o'ziga xos buyumlarga buyurtma beraman.

Tasvirlardagi Conrad buyrug'imning bir misoli

4 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

Arduino uchun mening kodim bor. O'zgartirishlaringizdan so'ng, agar siz boshqacha boshqaruvchi qilsangiz, Arduino IDE yordamida mikrokontrolleringizga USB orqali yuborishingiz kerak (youtube -da darsliklar mavjud). Qo'shimchalarda:

  • Oxirgi
  • Faqat bitta ikkita RGB yostiqchasini 6 ta rang bilan ishlatish mumkin (RGB+ko'k+pushti+sariq).
  • Turli xil sensorni o'rganish uchun kodning eski qismlari yozilgan

Ba'zi qismlar men yozgan qismlardan iborat.

Tampon uchun Keypad.h kabi arduino kutubxonalarini (xato va "o'z ichiga" qarang) o'rnatishingiz kerak.

Turli sinflar fayllar oxirida joylashgan.

Shuni ta'kidlash mumkinki, ketma -ket ma'lumotni yuborish uchun bitta yopiq joy bor.

vid MIDImessage (bayt buyrug'i, bayt ma'lumotlari 1, bayt ma'lumotlari 2) // --------- KERAK, standart Midi buyrug'i orqali qiymatlarni uzatadi.

{Serial.write (buyruq); Serial.write (ma'lumotlar1); Serial.write (ma'lumotlar2); }"

5 -qadam: yaxshilanishlar

Hammasi ishlaydi, lekin bu prototip. Ba'zi savollar yoki yaxshilanish nuqtasi bor.

Energiya:

- Men har bir sensor bilan RGB padini ishlatganimda, RGB chiroqlari juda kam porlaydi. 5v arduino ular mening loyiham uchun juda kammi? Men ularni faqat ishlatganimda, muammo bo'lmaydi.

Kod:

- Menda kodlovchi seriali bor, lekin u MIDIda qanday ishlashini bilmayman. Men MIDI chiqishda ular xohlagan narsani nazarda tutyapman. Agar siz enkoderni traktorda tirnalishni qanday sozlashni bilsangiz, men bilan bog'laning.

- Ba'zi tugmalar kodlarim musiqiy dastur uchun yaxshi emas. Bizga eng tezkor javobgarlik kerak va men ko'rdimki, mening ba'zi tugma kodlarim eng yaxshi tarzda yozilmagan (agar men yaxshi eslayman, ijro etish tugmasi).

Tavsiya: