Мазмуну:

Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы: 7 кадам
Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы: 7 кадам

Video: Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы: 7 кадам

Video: Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы: 7 кадам
Video: Урок 1. Знакомство с Arduino Nano и со средой Arduino IDE (Интерфейс, возможности, настройка) 2024, Июль
Anonim
Image
Image
Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы
Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы
Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы
Келгиле, Arduino Nano менен SN76489 USB MIDI Synth куралы

Сиз 80-жылдардагы эски чиптердин негизинде жеке синтезаторуңузду түзүүнү кааладыңыз беле? Бул эски Sega Master System жана Megadrive видео оюндары сыяктуу угулган жөнөкөй полифониялык обондорду ойнотуңуз?

Менде бар, андыктан мен eBayден жана midi хост интерфейсинен бир нече SN76489 чиптерин заказ кылдым жана аны бердим. Ооба, бул мен үчүн паркта сейилдөө эмес, бирок, мен ар бир көз ирмемден ырахат алчумун.

Биринчиден, SN76489 менен түздөн -түз интерфейс түзүүнү жана аны менен бир аз ызы -чуу кылууну үйрөндүм. Мунун кээ бир түшүнүксүз элементтери бар эле, бирок Oddbloke Geek Blogдун жардамы жана башка бир нече мисалдар менен бирге чиптин спецификациялык документи менен бирге мен жөнөкөй arduino китепканасын өнүктүрө алдым.

Андан кийин, мен midi клавиатураны USB мини хост калканы менен кантип интерфейс кылууну үйрөнүшүм керек болчу. Бул абдан кыйын болгон жок, анткени кээ бир документтер бар жана жакшы китепканалар ачык мисалдар менен бар.

Мен чипти кантип башкарууну жана USB midi клавиатурамды кантип интерфейс кылууну түшүнгөндөн кийин, мунун бардыгын ороп кое турган кодду жазуу жана чипти башкарууга клавиатураны колдонууга уруксат берүү гана калды.

Жолдо мен 0x2f midi ноталары үчүн чыгарганга караганда жыштыктары төмөн болгон үндөр туура келбегенин билдим, ошондуктан мен 0x28 менен 0x2f ортосундагы ар кандай миди ноталары үчүн ызы -чуу генераторуна ызы -чуу жиберүү үчүн муну колдонууну чечтим. ошондой эле midi 0x28тен төмөн болгон нерселер үчүн чыгыш арабын тийүү менен ноталарды ойнотууга уруксат бериңиз.

Артка кылчайып карасак, куруу абдан кызыктуу жана абдан кызыктуу болгон.

Мен муну мен сыяктуу кызыктуу жана кызыктуу деп үмүттөнөм, эгер сиз аны өзүңүз курсаңыз, анда анын кээ бир сүрөттөрүн бөлүшө аласыз.

Эгер сизге бул долбоор жакса, анда төмөндө добуш берип, ал катышкан сынакта жеңип чыгууга жардам бериңиз

Жабдуулар

Мен бул долбоор үчүн сатып ала турган материалдарга шилтемелерди коштум, бирок сиз эски электроникадан кырып ала турган көптөгөн нерселерди таба аласыз.

Бул шилтемелер өнөктөш шилтемелер, андыктан, эгер сиз аларды чыкылдатып сатып алгандан кийин, мен кичинекей бир бөлүгүн алам (байлык эмес) жана сиз бул долбоорго ылайыктуу продуктту аласыз. Буларды колдонууда эч кандай акы же кошумча чыгым жок, бирок сиз аларды оңой алмаштыра турган окшош нерселерди таба аласыз.

ebay.us/svA4z4 | 1 x аткаруу тактасы

ebay.us/ZyEFNp | 1 x arduino нано

ebay.us/t1zy0v | 1 x USB мини калкан

ebay.to/2QrHl1C | 1 x SN76489 үн чипи

ebay.us/aaaj8p | 595

ebay.us/DSvTHO | 1 x 4MHz кристалл осциллятору

ebay.us/XQeM0Q | 1 x 5V чыңалуу жөндөгүчү 7805

ebay.us/6R6Fpf | Чыңалуу жөндөгүчү үчүн 1 х жылыткыч

ebay.us/xkLbn4 | 3 x 10uF конденсаторлор

ebay.us/pnm2BH | зымдар

ebay.us/PMbUfY | 1 х бийлик үчүн кызыл LED

ebay.us/zokHtc | LED агымын чектөө үчүн 1 х 220 ом каршылыгы

ebay.us/qjbesJ | 12v электр менен камсыздоо үчүн 1 х электр туташтыргычы

ebay.us/cS0wwv | 1 x күйгүзүү/өчүрүү

ылайыктуу куту (мен шахтаны жылдар бою кампамда эс алып жүргөн эски суурмадан кургам)

1 -кадам: 5V Midi түзмөгүн айдоого USB Mini Host Shield даярдоо

USB Mini Host Shieldди 5V Midi түзмөгүн айдоо үчүн даярдоо
USB Mini Host Shieldди 5V Midi түзмөгүн айдоо үчүн даярдоо

USB мини хост калканы 3.3Vда иштегендиктен жана мен колдонгон USB midi баскычтопторунда 5В талап кылынат, USB 3. VCге кетүүчү 3.3V линиясын кесип калкан чыгаруу чыңалуусун тууралоо талап кылынат, андыктан аны кийинчерээк туташтыра алабыз. 5В чейин.

Муну кантип жасоо боюнча көптөгөн үйрөткүчтөр бар жана бул абдан жөнөкөй болуп чыкты:

Жөн гана 2k2 каршылыгы менен Vcc линиясынын ортосундагы чекти кесип алыңыз (тиркелген сүрөттү караңыз). Мен бул сызыкты чийүү үчүн бурагычты колдондум жана үзгүлтүксүздүк өлчөгүч менен иштегенин текшердим.

2 -кадам: USB Mini Shieldди Arduino Nano менен туташтырыңыз

USB Mini Shieldди Arduino Nano менен туташтырыңыз
USB Mini Shieldди Arduino Nano менен туташтырыңыз
USB Mini Shieldди Arduino Nano менен туташтырыңыз
USB Mini Shieldди Arduino Nano менен туташтырыңыз

Бактыга жараша, муну кантип жасоо керектиги жөнүндө көптөгөн маалыматтар бар, ошондуктан "Arduino Nano жана mini USB host shield" үчүн googling аркылуу мен бул темага түштүм

Бул USB mini v2.0 калканчын кантип туташтыруу керектигин сүрөттөдү жана аны аткаргандан кийин мен түз эле USB midi мисалдарын сынап көрдүм.

Өткөрүү:

Arduino Host калканы

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

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

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

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

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

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

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

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

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

Бул темада, алар 3.3V коргошун кескени айтылды, ошондуктан USB VBUSтан 5В алат.

Бул сүрөттөмө жана тиркелген сүрөттөр ушул темадан алынган.

BTW, бул тактада басууда ката бар, андыктан бул бир аз түшүнүксүз болду, бирок сиз менин пикиримди (тиркелко) жана аны кайдан үйрөнгөнүмдү көрө аласыз.

3 -кадам: Чиптер барбы? 4MHz Осц менен SN76489 кошуу. жана 595 Shift Register

Чиптер барбы? 4MHz Оск менен SN76489 кошуу. жана 595 Shift Register
Чиптер барбы? 4MHz Оск менен SN76489 кошуу. жана 595 Shift Register

Эми бул укмуштуудай үн чыгарган чипти кошууга убакыт келди.

Мен бул чип менен arduino интерфейси үчүн китепкананы иштеп чыккам жана менин көрсөтмөлөрүмдү аткарышым керек болчу.

Китепкана GPLv3 (менин биринчи ачык булак чыгаруу) астында github түрүндө чыгарылган.

github.com/tyrkelko/sn76489

76489 жана 595 байланышы китепканадагы readme.txt файлынан алынган тиркелген сүрөттөгүдөй болгон.

76489 -жылдын жазуусун иштетүү (NotWE) нанонун 3 -пини менен байланышта болгон жана аны коддон өзгөртүүгө болот.

#PIN_NotWE аныктоо 3

595 наного төмөнкүчө туташкан жана пин номерлерин түзөтүү менен жөнгө салынышы мүмкүн:

#PIN_SER аныктоо 7

#PIN_LATCH аныктоо 6

#PIN_CLK аныктоо 5

Мен колдонгон осциллятор 4 МГц кристаллдуу 4 буту бар осциллятор болчу.

Ал коддо төмөнкүчө конфигурацияланган жана анын маанисин 500 кГцтен 4 МГцке чейинки ар кандай осциллятор жыштыгына туураласа болот:

#аныктоо ЖЫЛДЫК 4000000.0

Мен колдонгон осцилляторду туташтыруу төмөнкүдөй болду:

пин 1 - туташкан эмес

пин 7 - жер

пин 8 - 76489 пин 14кө туташкан - саат оск

4 -кадам: Жөн эле кодду кошуу - Китепканаларды кошуу, Кодду түзүү жана жүктөө

Бул долбоордо колдонулган китепканалар Arduino IDEге төмөнкүчө кошулушу керек:

Arduino IDE ачыңыз

Төмөнкү китепканаларды IDEнин китепкана папкасына жүктөп алыңыз (буларды жакын арада IDE "Куралдар" менюсунда "Китепканаларды башкаруу…" менюсунда көрүүгө үмүттөнөбүз):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Төмөнкү github долбоорунун кодун колдонуңуз:

github.com/tyrkelko/usb_midi_tone

Usb_midi_tone.ino жүктөп алыңыз, компиляциялап Arduino наноңузга жүктөңүз.

5 -кадам: Күчөткүчтү жана Динамикти туташтырыңыз, USB Midi баскычтобуңузду туташтырып, сынаңыз

Эми баары иштей тургандыгын текшерүүгө убакыт келди.

Ал үчүн бизге керек:

1. Күчөткүч жана динамик

2. USB midi клавиатурасы

SN76489 пин 7, аудио чыгууну күчөткүч аудиого туташтырыңыз.

Күчөткүчтү жандырыңыз, андан кийин arduino наносун кубаттаңыз. Сиз азыр секундага чейин сыноо үнүн угушуңуз керек.

USB midi клавиатурасын туташтырып, сынап көрүңүз.

Эгерде баары туура иштесе, сиз бир эле убакта 3 обонду ойной алышыңыз керек, ошондой эле ызы-чуунун 8 түрүн, ал тургай 24 EDO-Scaleнын чейрек тонусун ойношуңуз керек.

Эгер ал иштебей жатса, эмне болгонун билүү үчүн кадамдарды басып өтүңүз.

Эгер сиз түшүнүксүз көрсөтмөлөрдүн натыйжасын сезип жатсаңыз, мага эскертүү калтырыңыз, андыктан мен аны оңдоо үчүн көрсөтмөлөрдү жаңыртам.

6 -кадам: 5V Voltage Regulator, 12V Connector, Power On/Off Switch жана Power LED менен микросхеманы толуктаңыз

Бул кадамда сиз туура иштеп жаткандыгын текшергенден кийин схеманы ороп алышыңыз керек.

1. LM7805 жана эки 10uF конденсаторлору жана 0.1uF менен кубат жөндөгүчтү кошуңуз. Бул боюнча көптөгөн үйрөткүчтөр бар, сиз муну аткаруу үчүн төмөндөгү көрсөтмөлөрдү колдоно аласыз-https://www.instructables.com/id/7805-Regulator-5V…

2. 12V электр туташтыргычын кошуу/күйгүзүү аркылуу өтүүчү Vcc

3. Электр энергиясы качан күйгүзүлгөнүн көрсөтүү үчүн чектөөчү ток каршылыгы бар LEDди кошуңуз.

7 -кадам: кутучага салып, боёп, жаңы синтезден ырахат алыңыз

Электр схемасы текшерилип, сиздин каалооңуз боюнча иштегенден кийин, жакшы корпус куруудан башка эч нерсе калган жок, аны укмуш түстөр менен боеп, музыканы ойнотуңуз.

Бул нускаманы окуу сизге жакты деп үмүттөнөм жана бул сизди өзүңүздүн синтезиңизди курууга же сиз иштеп жаткан башка долбоор менен иштөөгө шыктандырды.

Сураныч, төмөндө кандайдыр бир суроолор менен комментарий бериңиз жана эгер сиз ушул үйрөткүчкө негизделген окшош нерселерди курган болсоңуз, анда "Мен муну жасадым!" аймакта же кайтарым байланыш бөлүмүндө.

Сунушталууда: