» Musikkinstrumenter »Spatial synthesizer fra Kravox på Arduino

Kravox romlig synthesizer på Arduino



Mesteren oppfant Kravox under et forskningsprosjekt ved Lund University (Sverige), hvis mål var å gi digitale musikkinstrumentkontrollere følelsen av tradisjonelle mekaniske instrumenter. Nå ønsker mesteren å gjøre Kravox tilgjengelig for alle som en musikkplattform for eksperimentering. Det var for dette han laget denne detaljerte orienteringen, som gjør at så mange mennesker som mulig kan bruke dette nye interessante musikkinstrumentet.

Å spille Kravox er ganske enkelt. Se for deg at du leker med et vanlig objekt, for eksempel en kost, og måten du berører på den og beveger den i rommet, styrer hvordan lyden blir generert. Du kan se og høre hvordan du spiller Kravox, samt prosessen med å lage instrumentet, på slutten av artikkelen i videoene.

Verktøy og materialer:
- brødbrett 50 * 24 hull -1 stk;
-40-pinners mannlige kontakter -5 stk;
-40-pinners plugg - 5 stk;
- Potensiometre 10 kOhm og håndtak for dem - 5 stk;
-Blå 5 mm standard lysdioder - 3 stk;
- Motstand 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;
- Tavler med sensorsensorer MPR121 - 2 stk;
- Digital gyro GY-521 MPU 6050 - 1 stk;
- USB-A til USB-C kabler;
-4 meter (minimum) kobber tape 1 cm bred;
-Poverbank;
-7 meter (minimum) ledninger i forskjellige farger;
-0,2 meter, varmekrymprør ø = 3 mm;
Lodding tilbehør;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Tenger;
-Karton;
Limpistol;
-Skotch;
-Kley;
-Kontogummi;
-Zazhimy;




Trinn en: Teori
Kravox er et åpen kildeplattform digitalt musikkinstrument som består av tre komponenter - en kontroller / kontrollere, en mottaker og programvare.

Du kan koble opptil tre trådløse kontrollere. Hver kontroller behandler orienterings- og akselerasjonsdata fra MPU-6050 digitale gyroskop og berøringsdata fra to MPR121 sensorsensortavler koblet til Arduino Nano. Kontrolleren sender data til mottakeren ved hjelp av nRF24L01 radiosenderen. Hvis det er nødvendig å bruke mer enn en kontroller, må den andre og tredje kontrolleren tildeles individuelle adresser.

Mottakeren overfører data mottatt fra kontrolleren (e) til den tilkoblede datamaskinen sammen med data samlet inn fra flere potensiometre.Den medfølgende mottakerkoden lar deg etablere kommunikasjon med tre kontrollere, men den vil også fungere med bare en eller to uten innstillinger.

Data fra mottakeren behandles i et program som er skrevet i at utgangene lyder.
Det fine med Kravox er at dens form, hvordan den høres ut og hvordan man spiller den, kan justeres. Dette ga veiviseren muligheten til å utvikle en lett-å-kopiere versjon av Kravox for denne leksjonen.


Trinn to: lag et kontrollkort
Deretter forklarer veiviseren hvordan du gjør det elektronikk kontroller trinn for trinn fra detaljene ovenfor.
Hvis du er usikker på hvor du skal lodde kabelen, kan du alltid gå tilbake til kretsskjemaet og sjekke om komponentene er riktig tilkoblet.


Det første trinnet er å kutte brødbordet og kontaktene og montere dem sammen med en liten og en stor kondensator, som bidrar til å øke påliteligheten til radiosenderen.

Skjær brettet med en verktøyskniv
Klipp kontaktene med en baufil (skipsføreren la dem på boken for å rette dem inn fra bordet)
Installer kontaktene på brødbordet og loddetinn. Du kan allerede koble hvert par kontakter av to
lange kontakter som ligger inntil hverandre. For resten er det nok å bare feste dem med et lite lodd - fortrinnsvis kontakter som i samsvar med kretsskjemaet ikke vil bli koblet til senere. Når du lodder kondensatorer, må du være oppmerksom på polariteten til den elektrolytiske kondensatoren til 10 mikrofarader (den største av de to). Den ene siden vil ha en stripe og som regel et kortere ben. Denne siden må kobles til bakken. Den mindre 100 nanofarad-kondensatoren er ikke polarisert og kan loddes på noen måte.





Videre er LED-motstandene loddet. Vær oppmerksom på LED-polariteten: den ene siden har vanligvis et kortere ben. Denne siden skal kobles til bakken i neste trinn. En blå ledning er loddet til det andre beinet. Den andre enden av ledningen er loddet til kontakten der Arduino-tappen D3 vil være koblet.


Deretter er alle røde og blå strømkabler montert. Rødt for 3,3 volt og blått for bakken (GND).


Tre sensorkort kommuniserer via I2C-protokoll (integrert krets). Dette betyr at de alle kan kobles til de samme to Arduino-pinnene, så vi lodder de gule og grønne ledningene til sensorene og Arduino A4 og A5-pinner. Du må også montere en hvit kabel for å koble gyroens avbrytende kontakter.


Radiosenderen kommuniserer via SPI-protokollen (seriell
perifert grensesnitt), som krever flere tilkoblinger enn I2C, legger veiviseren til svarte, grå, brune, lilla og oransje ledninger.


Nå er det på tide å klargjøre komponentene. I tillegg til lodding på pin-kontakter, hvis ikke
loddet, må du være spesielt oppmerksom på sensortavlen! For billige modeller fra Kina er adressepinnen stift jordet uten en mellommotstand, så du må kutte denne forbindelsen på bunnen av brettet med en kniv. Klipp mellom to pads nær stedet der ADD er skrevet. Veiviseren anbefaler å ringe med et multimeter for å forsikre deg om at kontaktene ikke er koblet til.


Når alle delene har loddede kontakter og sensorkortene er forberedt, kan du koble Arduino Nano, et gyroskop, to sensorkort og en radiomodul til kontrollkortet.


Trinn tre: Last ned kode
Etter en dobbeltsjekk, hvis alt er riktig koblet, er neste trinn å laste ned Arduino nano som følger med, men før du kan gjøre dette, må du installere bibliotekene for gyroskop, sensorsensortavler og radiosender. Hvis du er ny på Arduino-bibliotekene, kan du lære hvordan du installerer dem.
MPU6050-gyroen krever bibliotekene I2Cdev.h og MPU6050_6Axis_MotionApps20.h, som kan lastes ned.
For MPR121-berøringsbrett kreves Bare Conductive-biblioteket MPR121.h, som kan finnes. Det er minst to versjoner av biblioteket. Sørg for å installere versjonen utviklet av Bare Conductive, ikke den versjonen som er utviklet av Adafruit.
NRF24L01 radiosendertavle krever nRF24L01.h og RF24.h TMRh20-bibliotekene, som kan lastes ned. Merk: det er også minst to versjoner av disse bibliotekene med samme navn. Sørg for å installere den utviklede TMRh20, ikke maniacbug.
Når bibliotekene er installert, kan du laste ned Kravox-Controller-koden.

For å sjekke om kontrolleren fungerer, kan du aktivere den til å sende ut data fra berøringssensorer og et gyroskop gjennom en seriell monitor. For å gjøre dette, må du redigere den siste delen av mottakerkoden før du laster ned den: ved å fjerne kommentarmerket i begynnelsen (/ *) og på slutten (* /) av den (se. Foto)

Etter å ha lastet ned koden med dette alternativet, må du åpne Serial Monitor og angi overføringshastighet (datahastighet) for den til 115200. Nå kan du se dataene fra sensorene, som endres når kontrollkortet flyttes og kontaktene berøres, fra MPR121-brett som er merket fra 0 til 11.

Hvis ingenting fungerer eller bare er oppnådd nuller, må du sjekke ledningene nøye og sammenligne det med diagrammet ovenfor. Hvis du mottar feil signal fra Serial Monitor, må du sjekke om dataoverføringshastighetene er riktig angitt.


Trinn fire: Styremakt

For strøm må du koble kontrollkortet til banken.
Hvis banken ikke slås av automatisk etter en stund, er kontrollkortet ferdig, og du kan gå til mottakertavlen. Følg ellers neste trinn.

Trinn fem: Løs strømproblemet
I prinsippet er kontrollkortet klart, men noen banker slås automatisk av etter noen sekunder når de er koblet til kontrollkortet, fordi det bruker lite strøm. Som en løsning kan du ganske enkelt legge til tre 220 Ohm-motstander parallelt mellom 5V- og GND-pinnene på Arduino.


Etter å ha koblet til komponentene på nytt (definitivt) ser det ferdige kontrollkortet ut slik.


Trinn seks: Lag et mottakertavle
I dette trinnet vil veiviseren vise deg hvordan du lager mottakertavlen. Prosessen er veldig lik å lage et kontrollkort.


Først må du trimme brødbordet og kontaktene. Installer deretter kondensatorene. Du kan sammenligne dette trinnet med det første trinnet i å lage et kontrollkort for mer informasjon.


Deretter må du legge til alle de røde og blå ledningene. Rødt for 3,3 volt og blått for bakken (GND).


Kabling for kommunikasjon SPI.


Mottakertavlen er klar, men før du laster opp Kravox-mottakerkoden til Arduino Nano, må du først lage et grensesnitt for mottakeren.


Så viser veiviseren hvordan du lager et grensesnitt med 4 potensiometre og en LED for mottakeren. Grensesnittet er tilkoblet, som i den første figuren, og vil bli koblet til mottakerkortet, som det ses i den andre figuren.


Fremgangsmåten er som følger. Først må du ta et pakke med 8 kabler og lodde 5 av dem til de midterste kontaktene til potensiometrene. Det anbefales å bruke de samme fargene som i diagrammet for ikke å bli forvirret.

Deretter må du kutte brødbrettet 2 rader med 17 hull og en 17-pinners hannkontakt. Fest kablene og kontakten til brettet. Vær oppmerksom på diagrammet over for å forsikre deg om at du kobler kablene på de riktige stedene.


Nå må du lodde blå ledninger (bakken) til en av kontaktene til alle potensiometre. Lodd en blå LED med en strømbegrensende motstand på 150 ohm.

Lodde grønne ledninger.

Det ferdige grensesnittet skal se slik ut (bilde 1) og kan kobles til mottakerkortet slik (bilde 2).

Syvende trinn: kode
Nå tilgjengelig for nedlasting til Arduino Nano-mottaker.
For å sjekke, må du gjøre en liten justering av koden igjen før du laster ned. Som standard viser mottakeren dataene i et format som kan tolkes som rene data, men viser ikke nyttig informasjon på en seriell skjerm. Du kan imidlertid endre denne oppførselen i koden din ved å redigere (legge til // før) linjen #definere WRITE_AS_BYTES og (fjerne // før) linjen // #define PRINT_VIA_SERIAL_MONITOR.


Trinn åtte: Sak
Lenger ut av kobberlisten lager masteren en sensor.


For å lage saken bruker mesteren tomme bokser.

Mesteren tegner papp. Kutter 24 kobberstrimler og festes på papp.



Videre kutter mesteren papp 2 * 24 hull bredt og 24-pinners hannkontakten i størrelse og selger 24 ledninger til den. Ledningene i midten skal være minst 10 cm lange. Når du beveger deg bort fra midten, øker ledningenes lengde. Hvis du for eksempel bruker et kobberteip 1 cm bredt og avstanden mellom elektrodene 3 mm, skal ledningens lengde øke med 1,3 cm, som vist nedenfor: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Nå kan du lodde de andre endene av ledningene til kobberstrimlene og forsegle stripene med tape.



Lim sensoren inn i kroppen, og limer deretter en annen kropp til den (for verifisering).


Dekker baksiden av kontrollkortet med papp.

Installerer lysdioder og strømbank. Du må ordne strømbanken slik at du kan koble til og koble fra USB-kabelen, fordi det er slik kontrolleren slår seg av og på. Koble også berøringsgrensesnittet til kontrollkortet og sett det i boksen.

Gjør et utklipp for USB-A-USB-C-kabelen i krysset mellom de to boksene, holder den ut og kobler den til Arduino Nano.

Nå er kontrolleren klar.

Skipsføreren løser saken ved hjelp av skrivemateriellgummi. Hvis det senere oppstår problemer med sensorer som oppdager berøring når de ikke er til stede, må du legge isolerende materiale, for eksempel film eller lignende mellom det berøringsfølsomme huset, kretskortet og ledningene. Koble til strømmen uten å berøre sensorene.


Trinn ni: Opprette en mottakersak
Nå må du lage et hus til mottakeren. Veiviseren kutter flere runde hull for potensiometre og LED.


Den limer mottakerkortet, LED, skruepotensiometre. Setter håndtakene.




Trinn ti: Fullfør
Nå som alt utstyret er montert, er det på tide å spille musikk! For å gjøre dette, trenger du programvare som du kan koble utstyr til. For Kravox er dette Pure Data Vanilla-programvare, som du kan laste ned gratis.

Etter å ha installert Pure Data på datamaskinen, må du kjøre dem og åpne Kravox.pd-filen. Vær oppmerksom på at den må lagres på datamaskinen din i samme mappe som trommelampemappen som den leveres med - ellers vil ikke Pure Data kunne finne filene.
Så snart Kravox.pd-programgrensesnittet åpnes, må du åpne vinduet som på bildet og installere de fire såkalte eksterne enhetene som er oppført i dette vinduet. Det er enkelt å installere dem, bare klikk på "hjelp" i "Rengjør data" -menyen, velg "Finn flere objekter på internett" (det kan være litt annerledes), finn "komport", "zexy", "frieverb" og "arraysize". "en etter en og installer den nyeste versjonen. Nå skal de fire objektene som er merket som komportere, pakke om, frieverb og arraysize ha en solid oversikt, som i figuren nedenfor. Du må kanskje starte Pure Data for dette på nytt.

Etter å ha installert eksterne enheter, kan du koble mottakeren via USB. Hvis du endret koden i del 4 for å bruke mottakeren med Arduino Serial Monitor, må du først angre denne endringen og laste kildekoden i Arduino Nano-mottakeren før du kobler til og lukker Arduino Serial Monitor.

Ta en titt på vinduet Pure Data. Hvis du ser en raskt oppdatert datastrøm, er dette bra, men mest sannsynlig vil det vise deg en rød melding i stedet, som den i det første bildet, som oppdateres hvert andre sekund.

Den røde teksten kan være litt annerledes, men likevel betyr det at Pure Data ennå ikke har klart å koble seg til mottakeren. Dette er fordi programmet må spesifisere hvilken USB-port som skal kobles til. USB-porter kan merkes forskjellig på forskjellige enheter; på MacBook Pro 2014 gjenkjenner Pure Data begge USB-portene som serieport 3, uavhengig av hvilken mottaker du kobler til. Da brukte veiviseren Kravox med Lenovo Yoga Pad med bare en fungerende USB-port, som ble utpekt som serieport 6. På Windows er portene betegnet som 8 og 9. Veiviseren råder bare for å prøve å finne ut hvilket nummer USB-porten fungerer på enheten din . Han opprettet en dialog som en del av Kravox.pd-grensesnittet (andre foto), der du ganske enkelt kan klikke på tallene til enheten fungerer. Du kan også prøve “Vis tilgjengelige porter” og “Vis tilkoblede USB-enheter” -knappene.
Kravox romlig synthesizer på Arduino


Deretter må du klikke "Lagre" slik at Pure Data vil prøve å koble seg til denne porten neste gang automatisk.
Hvis kontrollerkoden ble redigert, må du laste inn koden på nytt.

Det gjenstår å koble kontrollkortet til strømforsyningen. Når du gjør dette, skal berøringsgrensesnittets kabinett rundt brettet være lukket, og berøringsdelen av kabinettet skal ikke berøre hendene dine eller noe annet.

Alt er klart, tilleggsinformasjon kan sees på videoen.


5.5
5.5
5.5

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...