Mundarija:

Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik: 7 qadam
Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik: 7 qadam

Video: Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik: 7 qadam

Video: Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik: 7 qadam
Video: #14 OP320 HMI Связь Modbus | Внешний ПЛК Arduino 2024, Iyul
Anonim
Image
Image
Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik
Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik
Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik
Keling, Arduino Nano bilan SN76489 USB MIDI sintezini yarataylik

Siz hech qachon 80-yillardagi eski chip-qo'shiqlar asosida o'zingizning sintezatoringizni yaratishni xohlaganmisiz? Bu eski Sega Master System va Megadrive video o'yinlariga o'xshab ko'rinadigan oddiy polifonik kuylarni ijro eting.

Menda bor, shuning uchun men ebaydan bir nechta SN76489 chiplarini va midi -xost interfeysini buyurtma qildim va uni suratga oldim. Bu men uchun bog'da sayr qilish emas edi, lekin men har daqiqadan zavqlanardim.

Birinchidan, men SN76489 bilan to'g'ridan -to'g'ri bog'lanish va u bilan qandaydir shovqin qilishni o'rgandim. Bu erda ba'zi chalkash elementlar bor edi, lekin Oddbloke Geek Blog va boshqa bir qancha misollar yordamida chip spetsifikatsiyasi hujjati bilan birgalikda men oddiy arduino kutubxonasini ishlab chiqa oldim.

Keyin men USB -mini -xost qalqoni bilan midi klaviaturani qanday bog'lashni o'rganishim kerak edi. Bu juda qiyin emas edi, chunki ba'zi hujjatlar mavjud va yaxshi kutubxonalar aniq misollar bilan mavjud.

Men chipni qanday boshqarishni va USB -midi klaviaturasini qanday boshqarishni tushunganimdan so'ng, bularning barchasini birlashtiradigan va chipni boshqarish uchun klaviaturadan foydalanishga ruxsat beradigan kod yozish qoldi.

Yo'l davomida, men 0x2f midi yozuvlari uchun yaratmoqchi bo'lgan tovushlardan past chastotali tovushlar to'g'ri kelmasligini bilib oldim, shuning uchun men 0x28 va 0x2f oralig'idagi shovqin generatoriga shovqin yuborish uchun foydalanishga qaror qildim. shuningdek, midi 0x28 dan past bo'lgan har bir narsaga sharqiy arabcha tegish bilan yozuvlarni ijro etishga ruxsat bering.

Orqaga qarab, qurish juda qiziqarli va juda qiziqarli edi.

Umid qilamanki, siz buni men kabi qiziqarli va qiziqarli deb bilasiz va agar siz uni o'zingiz qurgan bo'lsangiz, uning rasmlarini baham ko'rishingiz mumkin.

Agar sizga bu loyiha yoqqan bo'lsa, iltimos, quyida unga ovoz bering va u ishtirok etayotgan tanlovda g'olib bo'lishga yordam bering

Ta'minotlar

Men ushbu loyiha uchun sotib olish mumkin bo'lgan materiallarga havolalar qo'shdim, lekin siz eski elektronikadan olib tashlashingiz mumkin bo'lgan ko'plab narsalarni topishingiz mumkin.

Bu havolalar sheriklik havolalaridir, shuning uchun agar siz ularni bosgandan keyin sotib olsangiz, men ozgina qismini (boylikni emas) olaman va siz ushbu loyihaga mos keladigan mahsulotni olasiz. Ularni ishlatishda hech qanday to'lov yoki qo'shimcha xarajatlar talab qilinmaydi, biroq shunga o'xshash narsalarni osongina almashtirish mumkin.

ebay.us/svA4z4 | 1 x ishlash paneli

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB mini qalqoni

ebay.to/2QrHl1C | 1 x SN76489 ovoz chipi

ebay.us/aaaj8p | 1 marta smenali 595

ebay.us/DSvTHO | 1 x 4MGts kristalli osilator

ebay.us/XQeM0Q | 1 x 5V kuchlanish regulyatori 7805

ebay.us/6R6Fpf | Voltaj regulyatori uchun 1 ta issiqlik qabul qilgich

ebay.us/xkLbn4 | 3 x 10 uF kondansatörler

ebay.us/pnm2BH | simlar

ebay.us/PMbUfY | Quvvat uchun 1 x qizil LED

ebay.us/zokHtc | LED oqimini cheklash uchun 1 x 220 ohmli qarshilik

ebay.us/qjbesJ | 12V quvvat manbai uchun 1 x quvvat ulagichi

ebay.us/cS0wwv | 1 marta yoqish/o'chirish tugmasi

mos quti (men o'z omborimda yillar davomida dam olayotgan eski tortmasidan qurganman)

1 -qadam: USB Mini Host qalqonini 5V Midi qurilmasini haydashga tayyorlash

USB Mini Host qalqonini 5V Midi qurilmasini haydashga tayyorlash
USB Mini Host qalqonini 5V Midi qurilmasini haydashga tayyorlash

USB mini -xost qalqoni 3.3V da ishlayotgani va men foydalanadigan USB -midi klaviaturalari 5V ni talab qiladi, shuning uchun biz USB -VC -ga o'tadigan 3.3V -liniyani kesib ekranning chiqish kuchlanishini sozlashimiz kerak, shuning uchun uni keyinroq ulashimiz mumkin. 5V ga qadar.

Buni qanday qilish bo'yicha ko'plab darsliklar bor va bu juda oddiy bo'lib chiqdi:

2k2 rezistor va Vcc chizig'i orasidagi chiziqni kesib oling (ilova qilingan rasmga qarang). Men bu chiziqni chizish uchun tornavida ishlatardim va u uzluksizlik o'lchagich bilan ishlaganligini sinab ko'rdim.

2 -qadam: USB Mini qalqonini Arduino Nano -ga ulang

USB Mini qalqonni Arduino Nano -ga ulang
USB Mini qalqonni Arduino Nano -ga ulang
USB Mini qalqonni Arduino Nano -ga ulang
USB Mini qalqonni Arduino Nano -ga ulang

Yaxshiyamki, buni qanday qilish kerakligi haqida juda ko'p ma'lumotlar bor, shuning uchun "Arduino Nano va mini USB xost qalqoni" uchun googling yordamida men bu mavzuga kirdim

U USB mini v2.0 qalqonini qanday ulashni tasvirlab berdi va uni ta'qib qilgandan so'ng, men USB midi misollarini sinab ko'rish uchun oldinga bordim.

Ulanish:

Arduino xost qalqoni

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V -------------- 1

3.3V ------------ 9

GND ----------- 3

RST ------------ 4

Shuningdek, ular 3.3V kuchlanishli simni kesishgani, USB VBUSdan 5V olishlari haqida ham aytilgan.

Bu tavsif va yopiq rasmlar shu mavzudan olingan.

BTW, bu taxtada chop etishda xato bor, shuning uchun bu biroz chalkash edi, lekin siz mening bu haqidagi fikrimni ko'rishingiz mumkin (tyrkelko) va men uni qaerdan o'rgandim.

3 -qadam: chiplar bormi? SN76489 4 MGts chastotali Osk bilan qo'shiladi. va 595 Shift reestri

Chipslar bormi? 4 MGts chastotali SN76489 qo'shilishi. va 595 Shift reestri
Chipslar bormi? 4 MGts chastotali SN76489 qo'shilishi. va 595 Shift reestri

Endi bu ajoyib ovoz chiqaradigan chipni qo'shish vaqti keldi.

Men allaqachon bu chip bilan arduino interfeysi uchun kutubxona ishlab chiqdim va faqat mening ko'rsatmalarimga amal qilishim kerak edi.

Kutubxona GPLv3 ostida github -da chiqariladi (mening birinchi ochiq manba versiyam).

github.com/tyrkelko/sn76489

76489 va 595 ulanishlari kutubxonaning readme.txt faylidan olingan rasmdagi kabi edi.

76489 yildagi yozishni yoqish (NotWE) nanoning 3 -piniga ulangan va uni kodda o'zgartirish mumkin.

#PIN_NotWE ni belgilang 3

595 nano -ga quyidagicha ulangan va pin raqamlarini tahrirlash orqali ham sozlanishi mumkin:

#PIN_SER 7 ni belgilang

#PIN_LATCHni belgilang 6

#PIN_CLK belgilang 5

Men foydalangan osilator 4 MGtsli 4 ta oyoqli kristalli osilator edi.

U kodda quyidagicha tuzilgan va siz uning qiymatini 500 kHz dan 4 MGts gacha bo'lgan har qanday osilator chastotasiga sozlashingiz mumkin:

#FREQUENCY 4000000.0 ni aniqlang

Men foydalangan osilatorni ulash quyidagicha edi:

pin 1 - ulanmagan

pin 7 - tuproq

8 -pin - 76489 -pinli 14 -soatli osga ulangan

4 -qadam: Kodni qo'shish - kutubxonalarni qo'shish, kodni kompilyatsiya qilish va yuklash

Ushbu loyihada ishlatiladigan kutubxonalar Arduino IDE -ga quyidagicha qo'shilishi kerak:

Arduino IDE -ni oching

Quyidagi kutubxonalarni IDE kutubxona papkasiga yuklab oling (umid qilamanki, ularni yaqinda IDE "Asboblar" menyusidagi "Kutubxonalarni boshqarish …" menyusida ko'rasiz):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Kodni quyidagi github loyihasidan foydalaning:

github.com/tyrkelko/usb_midi_tone

Usb_midi_tone.ino -ni yuklab oling, kompilyatsiya qiling va Arduino nano -ga yuklang.

5 -qadam: Kuchaytirgich va karnayni ulang, USB Midi klaviaturasini ulang va sinovdan o'tkazing

Endi hamma narsa ishlayotganini tekshirish vaqti keldi.

Buning uchun bizga kerak:

1. Kuchaytirgich va karnay

2. USB midi klaviaturasi

SN76489 pin 7, ovoz chiqishi, ovoz kuchaytirgichiga ulang.

Kuchaytirgichni yoqing va keyin arduino nanosini yoqing. Endi siz bir soniya ichida quvvatni tekshirish ovozini eshitishingiz kerak.

USB midi klaviaturasini ulang va sinab ko'ring.

Agar hamma narsa to'g'ri ishlayotgan bo'lsa, siz bir vaqtning o'zida 3 ta ohangni, shuningdek, 8 turdagi shovqinni va hatto 24 EDO-Scale-ning chorak ohangini ijro etishingiz kerak.

Agar u ishlamasa, nima xato bo'lganini bilish uchun qadamlarni o'ting.

Agar siz buni noaniq ko'rsatmalardan kelib chiqqan deb hisoblasangiz, iltimos, menga eslatma qoldiring, shuning uchun men uni tuzatish uchun ko'rsatmalarni yangilayman.

6 -qadam: 5V kuchlanish regulyatori, 12V ulagichi, quvvatni yoqish/o'chirish tugmasi va quvvat LED bilan sxemani to'ldiring

Ushbu bosqichda siz sinovdan o'tkazilgandan so'ng uning to'g'ri ishlashini o'rashingiz kerak.

1. LM7805 va ikkita 10uF kondansatkichli va 0,1uF quvvat regulyatorini qo'shing. Bu borada ko'plab darsliklar mavjud, buning uchun siz quyidagi ko'rsatmalarni ishlatishingiz mumkin-https://www.instructables.com/id/7805-Regulator-5V…

2. VKni yoqish/o'chirish tugmasi orqali o'tadigan 12V quvvat ulagichini qo'shing

3. Quvvat qachon yoqilganligini ko'rsatish uchun oqim qarshiligi cheklangan LEDni qo'shing.

7 -qadam: qutiga joylashtiring, bo'yang va yangi sintezdan zavqlaning

O'chirish sxemasi sinovdan o'tkazilgach va sizning xohishingizga ko'ra ishlay oladigan bo'lsang, yaxshi korpus qurishdan tashqari, uni ajoyib ranglar bilan bo'yab, musiqa chal.

Umid qilamanki, sizga ushbu ko'rsatmalarni o'qish yoqdi va bu sizga o'z sinxronizatsiyangizni yaratishga yoki siz ishlayotgan boshqa loyihani boshlashingizga ilhom berdi.

Iltimos, quyida biron bir savolingiz bo'lsa, sharh qoldiring va agar siz ushbu qo'llanma asosida shunga o'xshash narsalarni qurgan bo'lsangiz, "Men buni qildim!" maydon yoki teskari aloqa bo'limida.

Tavsiya: