INHOUDSOPGAWE:
- Voorrade
- Stap 1: Berei die USB Mini Host Shield voor om 'n 5V Midi -toestel te bestuur
- Stap 2: Koppel die USB Mini Shield met u Arduino Nano
- Stap 3: Skyfies iemand? Voeg SN76489 by met 4MHz Osc. en 595 Skofregister
- Stap 4: Voeg net kode by - voeg die biblioteke by, stel die kode op en laai dit op
- Stap 5: Koppel 'n versterker en luidspreker, koppel u USB Midi -sleutelbord en toets
- Stap 6: Voltooi die stroombaan met 'n 5V spanningsreguleerder, 12V -aansluiting, aan/uit -skakelaar en krag -LED
- Stap 7: Sluit in 'n boks, verf en geniet u nuwe sintese
Video: Kom ons bou 'n SN76489 USB MIDI Synth met Arduino Nano: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
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
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
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
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:
Kom ons bou (analoog sintese): 5 stappe
Kom ons bou (analoog sintese): in hierdie reeks sal ek u wys hoe u 'n basiese modulêre analoog sintetiseerder kan bou met analoog en digitaal komponente. Skakel na skematiese en komponente: https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Duimwielklok - Kom ons raai die tyd: 5 stappe (met foto's)
Duimwielklok - Kom ons raai die tyd: Hallo almal, hier is my eerste instruksies, so ek hoop dat dit goed sal wees. Boonop is my Engelse vlak redelik swak, so ek hoop dat ek nie te veel foute sal begaan nie! Die doel van hierdie projek is om 'n paar " Thumbwheels " uit 'n ou laboratorium gered
Kom ons maak 'n mini -menger met herwinbare materiale: 6 stappe
Kom ons maak 'n mini -menger met herwinbare materiale: Hallo, ek is Hilal, in hierdie projek maak ons ons menger met herwinde materiaal. U kan maklik eier, melk, jogurt en al die vloeistowwe wat by u opkom, klop. U kan selfs u koek met u eie menger maak! :) Ons het jogurt met vrugtige in die video gemaak:
Kom ons maak 'n looprobot met 'n Coca-Cola-blik tuis: 6 stappe (met foto's)
Kom ons maak 'n looprobot met 'n Coca-Cola-blik by die huis: Hallo almal, ek is Merve! Ons gaan hierdie week 'n robot maak wat met 'n Coca-Cola-blik loop. *_*Kom ons begin! ** STEM ASSEBLIEF VIR HIERDIE PROJEK IN DIE BETROKKING
Kom ons maak 'n magiese kristalbal met towerkuns! ~ Arduino ~: 9 stappe
Kom ons maak 'n magiese kristalbal met towerkuns! ~ Arduino ~: Hierin maak ons 'n Magic Ball wat 'n bewegingsensor en 'n RFID -skandeerder gebruik om die animasies van die LED -ligte binne te beheer