» Musikinstrumenter »Rumlig synthesizer fra Kravox på Arduino

Kravox rumlig synthesizer på Arduino



Mesteren opfandt Kravox under et forskningsprojekt på Lund University (Sverige), hvis mål var at give digitale musikinstrumentkontrollere fornemmelsen af ​​traditionelle mekaniske instrumenter. Nu vil mesteren gøre Kravox tilgængelig for alle som en musikplatform til eksperimentering. Det var for dette, han oprettede denne detaljerede briefing, der giver så mange mennesker som muligt mulighed for at bruge dette nye interessante musikinstrument.

At spille Kravox er ret simpelt. Forestil dig, at du spiller med et almindeligt objekt, såsom en kost, og hvordan du rører ved det og flytter det i rummet styrer, hvordan lyden genereres. Du kan se og høre, hvordan man spiller Kravox såvel som processen med at fremstille instrumentet i slutningen af ​​artiklen i videoerne.

Værktøjer og materialer:
- brødbræt 50 * 24 huller -1 stk;
-40-pins hanstik 5-stykke;
-40-polet stik - 5 stk;
- Potentiometre 10 kOhm og håndtag til dem - 5 stk;
-Blå 5 mm standard-LED'er - 3 stk;
- Modstande 150 ohm - 3 stk;
- Kondensator 10 uF - 2 stk;
- Kondensator 100 nF - 2 stk;
-Radio-modul NRF24L01 - 2 stk;
-Arduino nano -2 stk;
-Resistorer 220 Ohm -3 stk;
- Bræt med sensorsensorer MPR121 - 2 stk;
- Digital gyro GY-521 MPU 6050 - 1 pc;
- USB-A til USB-C kabler;
-4 meter (minimum) kobber tape 1 cm bred;
-Poverbank;
-7 meter (minimum) ledninger i forskellige farver;
-0,2 meter, varmekrympningsrør ø = 3 mm;
-Lodning tilbehør;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Tænger;
-Karton;
-Limpistol;
-Skotch;
-Kley;
-Kontoregummi;
-Zazhimy;




Trin 1: Teori
Kravox er et open source tværplatform digitalt musikinstrument, der består af tre komponenter - en controller / controllere, en modtager og software.

Du kan tilslutte op til tre trådløse controllere. Hver controller behandler orienterings- og accelerationsdata fra MPU-6050 digitalt gyroskop og berøringsdata fra to MPR121 sensorsensorkort, der er forbundet til Arduino Nano. Controlleren sender data til modtageren ved hjælp af nRF24L01 radiosender. Hvis det er nødvendigt at bruge mere end en controller, skal den anden og tredje controller tildeles individuelle adresser.

Modtageren transmitterer data modtaget fra controlleren (e) til den tilsluttede computer sammen med data indsamlet fra flere potentiometre.Den medfølgende modtager kode giver dig mulighed for at etablere kommunikation med tre controllere, men den fungerer også kun med en eller to uden indstillinger.

Data fra modtageren behandles i et program, der er skrevet i, at der udsendes lyd.
Det smukke ved Kravox er, at dens form, hvordan det lyder og hvordan man spiller det, kan justeres. Dette gav guiden muligheden for at udvikle en let-at-kopiere version af Kravox til denne lektion.


Trin to: oprett et kontrolkort
Dernæst forklarer guiden, hvordan man gør det elektronik controller trin for trin fra ovenstående detaljer.
Hvis du er usikker på, hvor kablet skal loddes, kan du altid vende tilbage til kredsløbsdiagrammet og kontrollere, om komponenterne er tilsluttet korrekt.


Det første skridt er at skære brødbræt og stik og samle dem sammen med en lille og en stor kondensator, hvilket hjælper med at øge pålideligheden af ​​radiosenderen.

Klip brættet med en hjælpekniv
Klip stikene med en båndsav (skibsføreren lægger dem på bogen for at justere dem fra bordet)
Installer stikkene på brødbrættet og loddemetoden. Du kan allerede forbinde hvert par kontakter af to
lange stik, der støder op til hinanden. For resten er det nok at blot fastgøre dem med et lille lodde - fortrinsvis kontakter, der i overensstemmelse med kredsløbsdiagrammet ikke vil blive tilsluttet senere. Ved lodning af kondensatorer skal du være opmærksom på polariteten i den elektrolytiske kondensator på 10 mikrofarader (den største af de to). Den ene side har en strimmel og som regel et kortere ben. Denne side skal tilsluttes jorden. Den mindre 100 nanofarad-kondensator er ikke polariseret og kan loddes på nogen måde.





Endvidere er LED-modstandene loddet. Vær opmærksom på LED-polariteten: den ene side har normalt et kortere ben. Denne side skal forbindes til jorden i næste trin. En blå ledning loddes til det andet ben. Den anden ende af ledningen er loddet til det stik, hvor Arduino-stiften D3 vil være forbundet.


Dernæst er alle røde og blå strømkabler monteret. Rød for 3,3 volt og blå til jord (GND).


Tre sensorkort kommunikerer via I2C-protokol (integreret kredsløb). Dette betyder, at de alle kan forbindes til de samme to Arduino-stifter, så vi lodder de gule og grønne ledninger til sensorerne og Arduino A4- og A5-stifter. Du skal også montere et hvidt kabel for at forbinde gyroens afbryderkontakter.


Radiosenderen kommunikerer via SPI-protokollen (seriel
perifer interface), som kræver flere forbindelser end I2C, guiden tilføjer sorte, grå, brune, lilla og orange ledninger.


Nu er det tid til at klargøre komponenterne. Udover lodning på stiftstik, hvis ikke
loddet, skal du være særlig opmærksom på sensortavlen! For billige modeller fra Kina er adressetappen stift jordet uden en mellemmodstand, så du er nødt til fysisk at skære denne forbindelse nederst på tavlen med en kniv. Skær mellem to puder nær det sted, hvor ADD er skrevet. Guiden anbefaler, at du ringer med et multimeter for at sikre dig, at kontakterne ikke er tilsluttet.


Når alle dele har loddet stik, og sensorkortene er forberedt, kan du forbinde Arduino Nano, et gyroskop, to sensorkort og et radiomodul til kontrolkortet.


Trin tre: Download kode
Efter en dobbeltkontrol, hvis alt er tilsluttet korrekt, er det næste trin at downloade den medfølgende Arduino nano, men inden du kan gøre dette, skal du installere bibliotekerne til gyroskopet, sensorsensortavler og radiosender. Hvis du er ny på Arduino-biblioteker, kan du lære, hvordan du installerer dem.
MPU6050-gyroen kræver I2Cdev.h- og MPU6050_6Axis_MotionApps20.h-bibliotekerne, som kan downloades.
For MPR121-berøringsplader kræves Bare Conductive-biblioteket MPR121.h, som kan findes. Der er mindst to versioner af biblioteket. Sørg for at installere den version, der er udviklet af Bare Conductive, ikke den version, der er udviklet af Adafruit.
NRF24L01 radiosenderbord kræver nRF24L01.h og RF24.h TMRh20-bibliotekerne, som kan downloades. Bemærk: der er også mindst to versioner af disse biblioteker med samme navn. Sørg for at installere den udviklede TMRh20, ikke maniacbug.
Når bibliotekerne er installeret, kan du downloade Kravox-Controller-koden.

For at kontrollere, om controlleren fungerer, kan du aktivere den til at sende data fra berøringssensorer og et gyroskop gennem en seriel skærm. For at gøre dette skal du redigere det sidste afsnit af modtagerkoden før download: ved at fjerne kommentarmærket i begyndelsen (/ *) og i slutningen (* /) af det (se. Foto)

Når du har downloadet koden med denne indstilling, skal du åbne Serial Monitor og indstille baudhastigheden (datahastighed) for den til 115200. Nu kan du se dataene fra sensorerne, der ændres, når kontrolkortet flyttes og kontakterne berøres, fra MPR121-kort, der er markeret fra 0 til 11.

Hvis intet fungerer, eller kun opnås nuller, skal du nøje kontrollere ledningsføringen og sammenligne den med ovenstående diagram. Hvis du modtager det forkerte signal fra Serial Monitor, skal du kontrollere, om dataoverførselshastighederne er indstillet korrekt.


Trin fire: Board Power

For strøm skal du tilslutte controllerkortet til banken.
Hvis banken ikke slukker automatisk efter et stykke tid, er controllerkortet færdig, og du kan gå til modtagerkortet. Ellers skal du følge næste trin.

Trin fem: Løs strømproblemet
I princippet er controllerkortet klar, men nogle banker slukker automatisk efter nogle få sekunder, når de er tilsluttet controllerkortet, fordi det bruger lidt strøm. Som en løsning kan du blot tilføje tre 220 Ohm-modstande parallelt mellem 5V- og GND-stifterne på Arduino.


Efter tilslutning af komponenterne (definitivt) ser det færdige styrekort således ud.


Trin seks: Opret et modtagerbord
I dette trin viser guiden dig, hvordan du opretter modtagertavlen. Processen ligner meget at fremstille et controller-kort.


Først skal du trimme brødbræt og stik. Installer derefter kondensatorerne. Du kan sammenligne dette trin med det første trin i oprettelse af et kontrolkort for mere information.


Dernæst skal du tilføje alle de røde og blå ledninger. Rød for 3,3 volt og blå til jord (GND).


Ledninger til kommunikation SPI.


Modtagerkortet er klar, men inden du uploader Kravox-modtager-koden til Arduino Nano, skal du først oprette en grænseflade til modtageren.


Derefter viser guiden, hvordan man opretter en grænseflade med 4 potentiometre og en LED til modtageren. Grænsefladen er tilsluttet, som i den første figur, og vil blive forbundet til modtagerkortet, som det ses i den anden figur.


Proceduren er som følger, først skal du tage et bundt med 8 kabler og lodde 5 af dem til de midterste kontakter på potentiometrene. Det anbefales at bruge de samme farver som i diagrammet for ikke at blive forvirret.

Derefter skal du klippe brødbrættet 2 rækker med 17 huller og et 17-polet hanstik. Sæt kabler og stik på tavlen. Vær opmærksom på diagrammet ovenfor for at sikre dig, at du tilslutter kablerne på de rigtige steder.


Nu skal du lodde blå ledninger (jord) til en af ​​kontakterne fra alle potentiometre. Lodde en blå LED med en strømbegrænsende modstand på 150 ohm.

Lodde grønne ledninger.

Den færdige grænseflade skal se sådan ud (foto 1) og kan tilsluttes receiverkortet som dette (foto 2).

Syvende trin: kode
Nu tilgængelig til download til Arduino Nano-modtager.
For at kontrollere skal du foretage en lille justering af koden igen, før du downloader. Som standard viser modtageren sine data i et format, der kan fortolkes som rene data, men viser ikke nyttige oplysninger på en seriel skærm. Du kan dog ændre denne opførsel i din kode ved at redigere (tilføje // før) linjen #definere WRITE_AS_BYTES og (fjerne // før) linjen // #define PRINT_VIA_SERIAL_MONITOR.


Trin otte: sag
Længere ud af kobberstrimlen skaber masteren en sensor.


For at gøre sagen bruger masteren tomme bokse.

Skibsføreren tegner pap. Skærer 24 kobberstrimler og fastgøres på en pap.



Yderligere skærer masteren karton 2 * 24 huller bred og den 24-polede hanstik på størrelse og sælger 24 ledninger til den. Ledningerne i midten skal være mindst 10 cm lange. Når du bevæger dig væk fra midten, øges ledningenes længde. Hvis du f.eks. Bruger et kobberbånd 1 cm bredt og afstanden mellem elektroderne 3 mm, skal trådens længde stige med 1,3 cm, som vist nedenfor: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Nu kan du lodde de anden ender af ledningerne til kobberstrimlerne og forsegle strimlerne med tape.



Limer sensoren ind i kroppen og limer derefter en anden krop på den (til verifikation).


Dækker bagsiden af ​​kontrolkortet med pap.

Installerer lysdioder og strømbank. Du skal arrangere strømbanken, så du kan tilslutte og frakoble USB-kablet, fordi det er sådan, at controlleren tænder og slukker. Tilslut også berøringsgrænsefladen til kontrolkortet, og sæt det i boksen.

Gør en udskæring til USB-A-USB-C-kablet i krydset mellem de to kasser, holder det ud og tilslutter det til Arduino Nano.

Nu er controlleren klar.

Skibsføreren løser sagen ved hjælp af brevpapir tyggegummi. Hvis der efterfølgende opstår problemer med sensorer, der registrerer berøring, når de ikke er til stede, skal du placere isolerende materiale, såsom film eller lignende mellem det berøringsfølsomme hus, printkortet og ledningerne. Tilslut strømmen uden at berøre sensorerne.


Trin ni: Oprettelse af en modtager-sag
Nu skal du oprette et hus til modtageren. Guiden skærer flere runde huller til potentiometre og LED'er.


Det limer modtagerkortet, LED, skruepotentiometre. Indstiller håndtagene.




Trin ti: Komplet
Nu hvor alt udstyr er monteret, er det tid til at spille musik! For at gøre dette har du brug for software, som du kan tilslutte udstyr til. For Kravox er dette Pure Data Vanilla-software, som du kan downloade gratis.

Efter installation af rene data på computeren skal du køre dem og åbne filen Kravox.pd. Bemærk, at det skal gemmes på din computer i den samme mappe som den trommesamplemappe, som den leveres med - ellers vil Pure Data ikke kunne finde filerne.
Så snart Kravox.pd-programgrænsefladen åbnes, skal du åbne vinduet som på billedet og installere de fire såkaldte eksterne enheder, der er anført i dette vindue. Det er enkelt at installere dem, bare klik på "hjælp" i menuen "Rengør data", vælg "Find flere objekter på internettet" (det kan være lidt anderledes), find "komport", "zexy", "freverb" og "arraysize". "en efter en og installer den nyeste version. Nu skal de fire objekter, der er markeret som comport, ompakke, freeverb og arraysize, have en solid oversigt, som i figuren nedenfor. Du skal muligvis genstarte Pure Data for dette.

Efter installation af eksterne enheder kan du tilslutte modtageren via USB. Hvis du ændrede koden i del 4 for at bruge modtageren med Arduino Serial Monitor, skal du først fortryde denne ændring og indlæse kildekoden i Arduino Nano-modtageren, før du tilslutter og lukker Arduino Serial Monitor.

Se nu på vinduet Pure Data. Hvis du ser en hurtigt opdateret datastrøm, er dette godt, men sandsynligvis viser det dig en rød meddelelse i stedet for den i det første billede, der opdateres hvert andet sekund.

Den røde tekst er muligvis lidt anderledes, men alligevel betyder det, at Pure Data endnu ikke har været i stand til at oprette forbindelse til din modtager. Dette skyldes, at programmet skal specificere, hvilken USB-port der skal tilsluttes. USB-porte kan mærkes forskelligt på forskellige enheder; I MacBook Pro 2014 genkender Pure Data begge USB-porte som seriel port 3, uanset hvilken modtager du opretter forbindelse. Derefter brugte guiden Kravox med Lenovo Yoga Pad med kun en fungerende USB-port, der blev udpeget som seriel port 6. På Windows er portene udpeget til 8 og 9. Guiden rådgiver bare for at prøve at finde ud af hvilket nummer USB-porten fungerer på din enhed . Han oprettede en dialog som en del af Kravox.pd-interface (andet foto), hvor du blot kan klikke på numrene, indtil enheden fungerer. Du kan også prøve "Vis tilgængelige porte" og knapperne "Vis tilsluttede USB-enheder".
Kravox rumlig synthesizer på Arduino


Derefter skal du klikke på "Gem", så Pure Data forsøger at oprette forbindelse til denne port automatisk næste gang.
Hvis controllerkoden blev redigeret, skal du indlæse koden igen.

Det gjenstår at tilslutte controllerkortet til strømforsyningen. Når du gør dette, skal berøringsgrænsefladeskabet omkring brættet være lukket, og berøringsdelen af ​​kabinettet bør ikke røre dine hænder eller noget andet.

Alt er klar, yderligere oplysninger kan ses på videoen.


5.5
5.5
5.5

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt

Vi råder dig til at læse:

Giv den til smartphonen ...