INHOUDSOPGAWE:
- Stap 1: Die opstel van die Arduino
- Stap 2: Voeg die kontroles by
- Stap 3: Voeg uitsette by
- Stap 4: Laai die kode op
- Stap 5: Rommel rond
- Stap 6: Aanpassing
Video: Arpeggiating Synthesizer (Mosquito I): 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Mosquito I is 'n klein arpeggiating sintetiseerder wat 'n Arduino Nano en die Mozzi klanksintese biblioteek gebruik. Dit kan meer as twintig rye van 8 stappe speel, maar u kan soveel aangepaste rye byvoeg as wat u wil. Dit is relatief eenvoudig om op te stel en benodig nie baie onderdele nie.
Benodighede:
- Arduino Nano (of enige Arduino moet regtig werk)
- 5 potensiometers (10K lineêr)
- 2 drukknoppies
- 1 LED
- 1 weerstand (330 ohm)
- 2 weerstand (1K)
- 1 weerstand (2K)
- 1 stuk elektrolitiese kondensator (100 uF)
- 1 keramiek kondensator (33 nF)
- 1 ea Stereo Jack
- Aansluitdraad
- Broodbord
Stap 1: Die opstel van die Arduino
Laat ons eers die Nano op die broodbord kry en ons krag instel:
- Plaas die Nano op die broodbord. Plaas soos in die prent hierbo getoon. Dit moet oor die middelste kanaal van die broodbord lê. U sal dit aan die een kant van die broodbord wil hê, met die USB -poort na die kant toe. Op hierdie manier kan die kabel nie in die pad kom as ons dit aansluit nie. As u 'n groter Arduino soos die Uno of Mega gebruik, sal u dit natuurlik nie op die broodbord monteer nie.
- Koppel kragrails aan op Arduino. Koppel een van die positiewe (rooi) relings van u broodbord aan die Arduino se 5V -pen met behulp van draad- of springdrade. Koppel dan een van die negatiewe (blou) relings aan een van die Nano se GND -penne.
- Koppel kragrails aan mekaar. Om krag langs die relings aan beide kante van die broodbord te kry, koppel die relings aan weerskante van die broodbord aan mekaar deur 'n draad van die positiewe spoor aan die een kant na die positiewe spoor aan die ander kant te dra. Herhaal dit met die negatiewe relings.
Stap 2: Voeg die kontroles by
Mosquito I gebruik vyf potensiometers en twee knoppies vir kontroles.
Potensiometers:
- Plaas die potte op die broodbord. Plaas die potte sodat elke pen op sy eie ry is.
- Koppel potte aan kragrails. Verbind die pen aan die linkerkant van elke pot (as u na die knop se kant kyk) aan een van die negatiewe relings op die broodbord. Verbind die pen aan die regterkant van elke pot met een van die positiewe relings van die broodbord.
- Koppel potte aan Arduino. Koppel die middelste pen van elke pot aan een van die analoog penne op die Arduino. Die middelste pen van die eerste pot maak verbinding met A0, die tweede pot met A1 en so aan, terwyl die laaste pot met A4 verbind word.
Drukknoppies:
- Plaas knoppies op die broodbord. Plaas die twee drukknoppies op die broodbord sodat dit oor die middelste kanaal lê.
- Verbind positiewe kante. Koppel een van die drukknoppies se penne aan die een kant van die broodbord aan die positiewe reling.
- Verbind negatiewe kante. Plaas een van die 1K -weerstande op die broodbord sodat die een kant aan die ongebruikte pen van die drukknop gekoppel is en die ander kant van die weerstand aansluit by die negatiewe spoor.
- Koppel die knoppie met Arduino. Draai 'n draad in die ry wat die knoppie verbind met die negatiewe reling met die D2 -pen. Doen dieselfde met die ander knoppie, maar koppel dit aan D3.
Stap 3: Voeg uitsette by
Ons gee klank uit pen 9, sowel as 'n LED op die eerste stap van elke reeks. Hier is hoe u die hardeware daarvoor kan opstel.
LED
- Plaas 'n LED in 'n leë ruimte op die broodbord.
- Verbind die negatiewe (kort) been van die LED met die negatiewe reling.
- Plaas stroombeperkende weerstand. Koppel die een kant van 'n weerstand van 330 ohm aan die positiewe (lang) been van die LED. Verbind die ander kant van die weerstand met pen D4 van die Arduino.
Klankuitset
- Plaas die RC -netwerk. Die uitsetsein van die Arduino kom van pen 9, maar die sein kan 'n bietjie warmer wees as wat sommige luidsprekers kan hanteer. Om dit tot iets nader aan lynvlak te bring, het ek 'n RC -netwerk bygevoeg (gebaseer op 'n ontwerp van Notes & Volts). Plaas die 33nF- en 100uF -kapasitors, saam met die 2K -weerstand, soos in die prentjie/skema getoon. Maak seker dat die elektrolitiese 100uF -kapasitor met die regte polariteit verbind is (die positiewe/lang been gaan na pen 9 op die Arduino en die negatiewe/kort been wat aan die domkrag gekoppel is).
- Koppel die negatiewe kant van die klankaansluiting aan die grond. Die aansluitings van die klankaansluiting sal effens wissel, afhangende van die tipe wat u gebruik, maar hulle werk gewoonlik almal dieselfde. Ons moet die mou van die domkrag met die grond verbind. Dit word soms gemerk met 'n minussimbool of aangedui as "mou", "ring" of "gnd". As daar geen etikette op u klankaansluiting is nie, moet u die datablad raadpleeg of die domkrag noukeurig ondersoek en kyk of u kan vasstel watter pen aan die mou of buitenste ring van die domkrag gekoppel is.
- Koppel die positiewe kant van die klankaansluiting aan die negatiewe kant van die 100uF -kapasitor. Ons klanksein vloei nou uit pen 9 van die Arduino deur die RC -netwerk en kom uit die negatiewe kant van die 100uF -kondensator. Ons koppel dit aan die positiewe kant van ons klankaansluiting. Dit word gewoonlik met 'n plus -simbool gemerk of kan as 'tip' aangedui word. Weereens, as dit nie op die etiket gemerk is nie, moet u dit moontlik ondersoek om uit te vind watter pen aan die punt van die domkrag sal koppel. As u ook 'n stereo -aansluiting gebruik, is daar moontlik 'n L -punt en R -puntverbinding. Aangesien ons 'n monosignaal uitstuur, kan u net met een van die puntverbindings koppel.
Belangrik: as u agterkom dat die klank te stil is, kan u die RC -netwerk in stap 1 uitskakel en direk met die klank verbind vanaf pen 9 van die Arduino. Dit behoort goed te wees as u die klank aansluit op iets met 'n voorversterker, soos eksterne rekenaarluidsprekers waar u 'n volumeknop het, maar ek sal dit nie aanbeveel vir koptelefoon, koptelefoon of 'n direkte verbinding met 'n luidspreker nie. As u besluit om die RC -netwerk uit te skakel, stel ek voor dat u die luidspreker heeltemal afskakel voordat u die Arduino aanskakel en die volume geleidelik verhoog om te voorkom dat u luidsprekers uitblaas.
Nadat u alles opgestel het, moet u seker maak dat al die verbindings korrek lyk en ooreenstem met die prentjie en die skema hierbo
Stap 4: Laai die kode op
Noudat die hardeware klaar is, is ons gereed om die sagtewarekant aan te pak:
- Begin die Arduino IDE. Begin die Arduino IDE op u rekenaar (as u dit nie het nie, kan u dit aflaai van
- Laai die Mozzi -biblioteek af. Die Mozzi -biblioteek stel ons in staat om ons Arduino as 'n sintetiseerder te gebruik. Om hierdie biblioteek in u IDE te kry, gaan na die Mozzi github -bladsy https://sensorium.github.io/Mozzi/download/. Klik op die groen "Kode" knoppie en kies Aflaai zip.
- Installeer die Mozzi -biblioteek vanuit die zip -lêer. Gaan in die Arduino IDE na Skets-> Sluit biblioteek in-> Voeg. ZIP-biblioteek by … Navigeer na die zip-lêer wat u afgelaai het om dit by te voeg. U moet nou sien dat Mozzi onder die Sketch-> Include Library-afdeling verskyn.
- Laai die Mosquito I Arduino -kode af. U kan dit op my github -webwerf https://github.com/analogsketchbook/mosquito_one kry. (Let daarop dat die skemas ook daar beskikbaar is as u dit benodig vir bedrading.
- Koppel die Arduino aan die rekenaar en laai die kode op.
Stap 5: Rommel rond
Dis dit. U behoort u luidsprekers aan te sluit op die klankaansluiting en die soet geluid van 'n ingeboude sintese te hoor vanaf die ittybitty Nano! As u eers niks hoor nie, probeer om die knoppe op al die potte te sentreer om seker te maak dat u 'n goeie beginwaarde kry.
Dit is wat die kontroles doen:
Potte:
Rate: Dit bepaal hoe vinnig die sequencer speel. As u dit afskakel, speel diskrete note in volgorde. As u dit verder draai, word die note aanmekaar gesmeer om heeltemal nuwe golfvorms te skep.
Legato: Die tweede pot beheer die lengte van die legato of noot. As u dit meer na links draai, word kort, sticatto -note aangeteken, terwyl u dit na regs draai, maak langer note.
Toonhoogte: Dit bepaal die basishoogte vir die ry. Die toonhoogtebeheer stel MIDI -waardes in, dus dit verhoog/verlaag die toonhoogte in halfonheid eerder as 'n deurlopende toonhoogteverskuiwing.
Fase: Deur hierdie knop na regs te draai, word 'n subtiele fase -effek ingebring. Tegnies gesproke veroorsaak dit dat die twee ossillators in Mosquito I effens ontwrig word, wat die fase -indringing veroorsaak. Dit volg egter nie met die toonhoogte nie, so die fase -effek is waarskynlik meer opvallend op note met 'n laer toonhoogte.
Filter: Hierdie knop beheer die afsnyfrekwensie van 'n Laagpasfilter. As u dit na links draai, word die hoë frekwensies afgesny wat 'n meer gedempte geluid produseer, terwyl dit na regs draai, 'n helderder geluid lewer.
Knoppies:
Mosquito het meer as twintig verskillende rye wat dit standaard kan speel. Met die drukknoppies kan u kies watter volgorde u wil speel. Met die een knoppie word u in die reeks rye opgetel en die ander in die lys.
Stap 6: Aanpassing
Ek het 'n klomp standaardvolgorde bygevoeg, meestal verskillende skale, maar u kan die kode redelik maklik aanpas om die volgorde van note wat gespeel word, te verander, nuwes by te voeg of die aantal note in 'n ry te verander. Hieronder is die besonderhede van hoe dit gedoen word as u dit wil aanpas.
Notas verander in bestaande volgorde
Die rye word gestoor in 'n verskeidenheid skikkings genaamd NOTAS. Elke noot word as 'n MIDI -nootwaarde gestoor, dus as u notas in 'n spesifieke volgorde wil verander, verander net die MIDI -nootnommers vir die volgorde. Die standaardinstelling is om 8 stappe per ry te speel, sodat u slegs 8 MIDI -waardes in 'n ry kan hê (sien hieronder as u verskillende volgorde -lengtes wil hê).
Een ding om op te let, die toonhoogteknop voeg 'n nootverlaging by die MIDI -waardes wat in die NOTAS -skikking gespesifiseer word. As die knop gesentreer is, speel dit die MIDI-note wat in die skikking aangedui word, maar as u die toonhoogteknop draai, voeg dit 'n halftoon by of aftrek by die note wat gespeel word.
Voeg nuwe rye by
U kan nuwe rye by die NOTAS-skikking voeg deur eenvoudig 'n nuwe skikking van 8 note aan die einde van die lys by te voeg. As u dit egter doen, moet u ook die waarde van die veranderlike numSequences verander om by die nuwe aantal rye te pas. Byvoorbeeld, die NOTES -skikking het standaard 21 rye, sodat die veranderlike numSequences op 21. As u 'n nuwe reeks byvoeg, moet u die veranderlike numSequences na 22 verander.
U kan soveel nuwe rye byvoeg as wat u wil.
Verander rye lengte
As u die lengte van u rye wil verander (as u 'n 4-stap of 16-stap-reeks wil sê), kan u dit doen, maar die enigste voorbehoud is dat alle rye dieselfde lengte moet hê. U moet ook die veranderlike numNotes stel om by die lengte van u rye te pas.
Ander veranderinge
Daar is 'n aantal ander aanpassings wat moontlik is, soos die omskakeling van golfvormtipes, filterinstellings/waardes wat buite die omvang van hierdie tutoriaal val. Dit kan aanvanklik 'n bietjie uitdagend wees om die Mozzi -kode uit te vind, maar ek het probeer om die kode soveel as moontlik te dokumenteer om te wys wat die verskillende dele van die kode doen.
Daar is 'n paar hoofdele van die kode vir Mozzi wat redelik spesifieke gebruike het, en ek het dit hieronder gelys om u 'n idee te gee van waarvoor dit gebruik word:
- setup () - As u vir Arduinos geprogrammeer het voordat u vertroud was met hierdie funksie en dit amper dieselfde gebruik word in Mozzi. Ons gebruik dit meestal om standaardinstellings vir ossillators, filters, ens.
- updateControl () - Dit is waar die grootste deel van die Mozzi -kode werk. Dit is waar ons pot- en knoppiewaardes lees, die waardes in kaart bring en omskakel in die sintetiseerder, en waar die volgorde gedoen word.
- updateAudio () - Dit is die finale uitset uit die Mozzi -biblioteek. Gewoonlik word die kode hier baie klein en skraal gehou, omdat hierdie funksie deur Mozzi gebruik word om al die kloksiklusse wat dit kan, te maksimeer. Soos u in die muskietkode kan sien, kan dit 'n bietjie kripties wees, maar alles wat ons doen, is om ons verskillende golfvorms te kombineer/vermenigvuldig en dan te skuif om dit in 'n spesifieke getalreeks te pas. Dit is die beste om hierdie funksie baie lig te hou (nie seriële oproepe of leespenne nie) en plaas die meeste dinge in die controlUpdate () -funksie. Die Mozzi -dokumentasie gee meer inligting hieroor.
Aanbeveel:
Oh Christmas Tree (Oh Tannenbaum) With MakeyMakey on the Water Synthesizer: 7 Stappe
Oh Christmas Tree (Oh Tannenbaum) With MakeyMakey on the Water Synthesizer: Hierdie kersliedjie is goed om te speel met die makeymakey op die watersynthesizer. Jy kan dit met nege kleure speel. Vir die atmosfeer is dit lekker om 'n bietjie kerslig te hê :-) Geniet dit
Eurorack Synthesizer Kragtoevoer: 8 stappe
Eurorack Synthesizer Power Supply: Welkom by my Instructable oor hoe om 'n DIY kragbron vir 'n Eurorack synthesizer te maak. Let asseblief daarop dat my kennis van die ontwerp van kragtoevoer en Eurorack synthesizer ongeëwenaard is. Neem my advies versigtig. Ek sal nie verantwoordelik gehou word vir
Arduino MIDI Chiptune Synthesizer: 7 stappe (met foto's)
Arduino MIDI Chiptune Synthesizer: Herleef die plesier van vroeë rekenaarspeletjies met 'n outentieke 8-bis chiptune-sintetiseerder, wat u vanuit die gemak van enige moderne DAW-sagteware oor MIDI kan beheer. Hierdie eenvoudige kring gebruik 'n Arduino om 'n AY-3- te bestuur 8910 programmeerbare klankgenera
Basys3 FPGA Digital Audio Synthesizer: 5 stappe
Basys3 FPGA Digital Audio Synthesizer: Hierdie digitale sinusgolf -sleutelbord -sintetiseerder sal gebruikers se insette neem via 'n reeks kortstondige skakelaars soos 'n sleutelbord en 'n klankgolf deur 'n luidspreker lewer. Op grond van gebruikersinvoer, sal die toestel sinusgolwe van verskillende frekwensies genereer
Micro Midi Synthesizer: 5 stappe (met foto's)
Micro Midi Synthesizer: Hierdie instruksies demonstreer die gebruik van die VLSI VS1053b Audio en Midi DSP-chip in sy intydse Midi-modus. In hierdie modus funksioneer dit as 'n 64 -stem polifoniese GM (General Midi) Midi -sintetiseerder. 'N Onafhanklike Arduino Uno -mikro beheer 'n OLED -skerm