INHOUDSOPGAWE:

Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano: 7 stappe
Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano: 7 stappe

Video: Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano: 7 stappe

Video: Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano: 7 stappe
Video: Еще один барабанный секвенсор Arduino с минимальным аппаратным обеспечением drumseq81212 2024, November
Anonim
Image
Image
Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano
Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano
Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano
Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano

Ooit wou u u eie sintetiseerder bou op grond van ou chip-tunes uit die 80's? Speel eenvoudige polifoniese deuntjies wat klink soos hierdie ou Sega Master System en Megadrive -videospeletjies?

Ek het dus 'n paar SN76489 -skyfies by ebay en 'n midi -gasheer -koppelvlak bestel en dit probeer. Dit was nie vir my 'n wandeling in die park nie, maar ek het elke oomblik geniet.

Eerstens het ek geleer hoe om die SN76489 direk te koppel en daarmee 'n bietjie geraas te maak. Daar was 'n paar verwarrende elemente hierin, maar met behulp van The Oddbloke Geek Blog en 'n paar ander voorbeelde kon ek saam met die chipspesifikasie -dokument 'n eenvoudige arduino -biblioteek ontwikkel.

Vervolgens moes ek leer hoe om 'n midi -sleutelbord met 'n USB mini -gasheerskerm te koppel. Dit was nie so moeilik nie, aangesien daar dokumentasie beskikbaar is, en goeie biblioteke bestaan met duidelike voorbeelde.

Toe ek eers verstaan hoe ek die chip kan beheer en hoe ek my USB -midi -sleutelbord kan koppel, is die enigste ding wat ek hoef te doen, om 'n kode te skryf wat dit alles kan toevou en die toetsbord kan gebruik om die chip te beheer.

Onderweg het ek geleer dat klanke met 'n laer frekwensie as dié wat ek vir 0x2f midi -note probeer genereer het, nie reg klink nie, so ek het besluit om dit te gebruik om ruis na die geraasgenerator te stuur vir midi -note tussen 0x28 en 0x2f en laat ook speelnotas met 'n oosterse Arabiese aanraking toe vir alles wat laer is as midi 0x28.

As ek agteruit kyk, was dit baie pret en baie interessant om te bou.

Ek hoop jy vind dit net so lekker en interessant soos ek, en as jy self een bou, sal jy vriendelik genoeg wees om 'n paar foto's daarvan te deel.

As u van hierdie projek gehou het, stem dan hieronder om dit te help wen in die kompetisie waaraan dit deelneem

Voorrade

Ek het skakels bygevoeg na materiaal wat u vir hierdie projek kan koop, maar u kan baie beskikbare items vind wat u van ou elektronika kan verwyder.

Hierdie skakels is aangeslote skakels, dus as u koop nadat u daarop geklik het, kry ek 'n klein gedeelte (nie fortuin nie) en kry u 'n produk wat by hierdie projek pas. Daar is geen ekstra koste vir die gebruik daarvan nie, maar u kan soortgelyke items vind wat dit maklik kan vervang.

ebay.us/svA4z4 | 1 x prestasiebord

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x USB mini -skerm

ebay.to/2QrHl1C | 1 x SN76489 klankskyf

ebay.us/aaaj8p | 1 x skofregister 595

ebay.us/DSvTHO | 1 x kristal ossillator van 4MHz

ebay.us/XQeM0Q | 1 x 5V spanningsreguleerder 7805

ebay.us/6R6Fpf | 1 x heatsink vir die spanningsreguleerder

ebay.us/xkLbn4 | 3 x 10uF kapasitors

ebay.us/pnm2BH | drade

ebay.us/PMbUfY | 1 x rooi LED vir krag

ebay.us/zokHtc | 1 x 220 ohm weerstand om die LED -stroomvloei te beperk

ebay.us/qjbesJ | 1 x kragaansluiting vir 12V kragtoevoer

ebay.us/cS0wwv | 1 x aan/uit -skakelaar

'n geskikte boks (ek het myne gebou uit 'n ou laai wat al jare in my stoor rus)

Stap 1: Berei die USB Mini Host Shield voor om 'n 5V Midi -toestel te bestuur

Berei die USB Mini Host Shield voor om 'n 5V Midi -toestel te bestuur
Berei die USB Mini Host Shield voor om 'n 5V Midi -toestel te bestuur

Aangesien die USB -mini -gasheerskerm op 3.3V werk en die USB -midi -sleutelborde wat ek gebruik, 5V benodig, moet die uitgangsspanning van die skerm aangepas word deur die 3.3V -lyn wat na die USB -uitgang Vcc gaan, te sny, sodat ons dit later kan koppel tot 5V.

Daar is baie tutoriale oor hoe om dit te doen, en dit was redelik eenvoudig:

Sny net die lyn tussen die 2k2 -weerstand en die Vcc -lyn (sien die ingeslote prent). Ek het 'n skroewedraaier gebruik om hierdie lyn te krap en getoets of dit met 'n kontinuïteitsmeter werk.

Stap 2: Koppel die USB Mini Shield met u Arduino Nano

Koppel die USB Mini Shield met u Arduino Nano
Koppel die USB Mini Shield met u Arduino Nano
Koppel die USB Mini Shield met u Arduino Nano
Koppel die USB Mini Shield met u Arduino Nano

Gelukkig is daar baie inligting oor hoe om dit te doen, en ek het op hierdie draad https://forum.arduino.cc/index.php?topic=603476.0 gaan beland op hierdie draad

Dit het beskryf hoe om die USB mini v2.0 -skild aan te sluit, en nadat ek dit gevolg het, het ek dadelik 'n paar USB -midi -voorbeelde gaan toets.

Bedrading:

Arduino gasheer skild

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

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

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

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

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

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

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

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

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

In hierdie draad is ook genoem dat hulle die 3.3V -snoer gesny het sodat die USB 5V van VBUS kan kry.

Hierdie beskrywing en ingeslote beelde kom uit hierdie draad.

BTW, daar is 'n fout op die prent op hierdie bord, so dit was 'n bietjie verwarrend, maar u kan my terugvoer daaroor sien (tyrkelko) en waar ek dit van geleer het.

Stap 3: Skyfies iemand? Voeg SN76489 by met 4MHz Osc. en 595 Skofregister

Chips Enigiemand? Voeg SN76489 by met 4MHz Osc. en 595 Skofregister
Chips Enigiemand? Voeg SN76489 by met 4MHz Osc. en 595 Skofregister

Nou was dit tyd om die chip by te voeg wat hierdie wonderlike geluid maak.

Ek het al 'n biblioteek ontwikkel om arduino met hierdie chip te koppel en moes net my instruksies volg.

Die biblioteek word vrygestel in github onder GPLv3 (my eerste open source -vrystelling).

github.com/tyrkelko/sn76489

Die verbinding van 76489 en 595 was soos in die meegaande prentjie wat uit die biblioteek readme.txt -lêer geneem is

Die Write Enable on Low (NotWE) van 76489 is verbind met pen 3 van die nano en kan in die kode verander word.

#definieer PIN_NotWE 3

Die 595 is soos volg aan die nano gekoppel en kan ook aangepas word deur die speldnommers te wysig:

#definieer PIN_SER 7

#definieer PIN_LATCH 6

#definieer PIN_CLK 5

Die ossillator wat ek gebruik het, was 'n 4MHz kristal ossillator met 4 bene.

Dit is soos volg in die kode opgestel en u kan die waarde daarvan aanpas by enige ossillatorfrekwensie tussen 500kHz en 4MHz:

#define FREQUENCY 4000000.0

Die aansluiting van die ossillator wat ek gebruik het, was soos volg:

pen 1 - nie gekoppel nie

pen 7 - gemaal

pen 8 - gekoppel aan 76489 pen 14 - klok os

Stap 4: Voeg net kode by - voeg die biblioteke by, stel die kode op en laai dit op

Biblioteke wat in hierdie projek gebruik word, moet soos volg by die Arduino IDE gevoeg word:

Maak die Arduino IDE oop

Laai die volgende biblioteke af in die biblioteekmap van u IDE (hoop om dit binnekort te sien onder die "Bestuur biblioteke …" in die IDE "Tools" -kieslys):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Gebruik die kode van die volgende github -projek:

github.com/tyrkelko/usb_midi_tone

Laai usb_midi_tone.ino af, stel dit op en laai dit op na u Arduino nano.

Stap 5: Koppel 'n versterker en luidspreker, koppel u USB Midi -sleutelbord en toets

Nou is dit tyd om te toets of alles werk.

Om dit te kan doen, benodig ons:

1. 'n Versterker en luidspreker

2. 'n USB -midi -sleutelbord

Koppel SN76489 pen 7, klank uit, aan die versterker se klank in.

Skakel die versterker aan en skakel dan die arduino nano aan. U behoort nou 'n sekonde 'n paar sekondes lank die aanvangstoetsgeluid te hoor.

Koppel die USB -midi -sleutelbord en toets.

As alles reg werk, moet u 3 klanke gelyktydig kan speel, en ook 8 soorte geraas en selfs 'n kwart toon van 24 EDO-skaal kan speel.

As dit nie werk nie, gaan na die stappe om te sien wat moontlik verkeerd gegaan het.

As u voel dat dit die gevolg is van onduidelike instruksies, stuur 'n nota, sodat ek die instruksies opdateer om dit reg te stel.

Stap 6: Voltooi die stroombaan met 'n 5V spanningsreguleerder, 12V -aansluiting, aan/uit -skakelaar en krag -LED

In hierdie stap moet u die kring kan afsluit nadat u dit getoets het om korrek te werk.

1. Voeg 'n kragreguleerder by met LM7805 en twee 10uF kapasitors en 0.1uF. Daar is baie tutoriale hieroor; u kan die volgende instruksies hiervoor gebruik-https://www.instructables.com/id/7805-Regulator-5V…

2. Voeg 'n 12V -aansluiting by terwyl die Vcc via 'n aan/uit -skakelaar gaan

3. Voeg 'n LED met 'n beperkende stroomweerstand by om aan te dui wanneer die krag aan is.

Stap 7: Sluit in 'n boks, verf en geniet u nuwe sintese

Sodra die stroombane getoets is en na u smaak werk, hoef u nie veel te doen nie, behalwe om 'n mooi omhulsel te bou, verf dit met wonderlike kleure en speel musiek.

Ek hoop dat u dit geniet het om hierdie instruksies te lees, en dat dit u geïnspireer het om u eie synth te bou of aan die gang te kom met 'n ander projek waaraan u werk.

Lewer kommentaar hieronder met enige vrae, en as u iets soortgelyks op grond van hierdie tutoriaal gebou het, sal dit wonderlik wees as u dit wat u gemaak het in die 'Ek het dit gemaak' deel. gebied of in die terugvoerafdeling.

Aanbeveel: