» Musikinstrument »Spatial synthesizer från Kravox på Arduino

Kravox rumslig synthesizer på Arduino



Befälhavaren uppfann Kravox under ett forskningsprojekt vid Lunds universitet (Sverige), vars mål var att ge digitala musikinstrumentkontroller känslan av traditionella mekaniska instrument. Nu vill mästaren göra Kravox tillgänglig för alla som en musikplattform för experiment. Det var för detta han skapade denna detaljerade information, som gör att så många människor som möjligt kan använda detta nya intressanta musikinstrument.

Att spela Kravox är ganska enkelt. Föreställ dig att du spelar med ett vanligt objekt, som en kvast, och hur du rör vid det och flyttar det i rymden styr hur ljudet genereras. Du kan titta på och höra hur man spelar Kravox, liksom processen att göra instrumentet, i slutet av artikeln i videoklippen.

Verktyg och material:
- brödskiva 50 * 24 hål -1 st;
-40-poliga manliga kontakter -5 st;
-40-stiftskontakt - 5 st;
- Potentiometrar 10 kOhm och handtag för dem - 5 st;
-Blå 5 mm standard-lysdioder - 3 st;
- Motstånd 150 ohm - 3 st;
- Kondensator 10 uF - 2 st;
- Kondensator 100 nF - 2 st;
-Radio-modul NRF24L01 - 2 st;
-Arduino nano -2 st;
-Resistorer 220 Ohm -3 st;
- Skivor med sensorsensorer MPR121 - 2 st;
- Digital gyro GY-521 MPU 6050 - 1 st;
- USB-A till USB-C-kablar;
-4 meter (minimum) koppartejp 1 cm bred;
-Poverbank;
-7 meter (minimum) ledningar i olika färger;
-0,2 meter, värmekrymprör ø = 3 mm;
-Lödningstillbehör;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Tång;
-Karton;
-Pistolen;
-Skotch;
-Kley;
-Kontorgummi;
-Zazhimy;




Steg ett: Teori
Kravox är en öppen källkods digitala musikinstrument som består av tre komponenter - en controller / styrenhet, en mottagare och programvara.

Du kan ansluta upp till tre trådlösa styrenheter. Varje styrenhet bearbetar orienterings- och accelerationsdata från MPU-6050 digitalt gyroskop och beröringsdata från två MPR121-sensorsensortkort anslutna till Arduino Nano. Styrenheten skickar data till mottagaren med radiosändaren nRF24L01. Om det är nödvändigt att använda mer än en styrenhet måste den andra och tredje kontrollern tilldelas enskilda adresser.

Mottagaren sänder data som mottas från styrenheten (erna) till den anslutna datorn tillsammans med data som samlats in från flera potentiometrar.Den medföljande mottagarkoden låter dig etablera kommunikation med tre styrenheter, men den fungerar också med bara en eller två utan inställningar.

Data från mottagaren behandlas i ett program skrivet i att utgångarna ljud.
Det vackra med Kravox är att dess form, hur det låter och hur man spelar det, kan justeras. Detta gav guiden möjlighet att utveckla en lätt kopierad version av Kravox för den här lektionen.


Steg två: skapa ett styrkort
Därefter förklarar guiden hur man gör elektronik styrenhet steg för steg från ovanstående detaljer.
Om du är osäker på var du ska löda kabeln kan du alltid återgå till kretsschemat och kontrollera om komponenterna är korrekt anslutna.


Det första steget är att klippa brödskivan och kontakterna och montera dem tillsammans med en liten och en stor kondensator, vilket hjälper till att öka tillförlitligheten hos radiosändaren.

Skär brädet med en verktygskniv
Klipp ut kontakterna med en bågsåg (befälhavaren satte dem på boken för att rikta dem in från bordet)
Installera anslutningarna på brödskivan och lödningen. Du kan redan ansluta varje par kontakter av två
långa kontakter som är intill varandra. För resten räcker det att helt enkelt fästa dem med en liten lödning - helst kontakter som, i enlighet med kretsschemat, inte kommer att anslutas senare. Vid lödning av kondensatorer ska du vara uppmärksam på polariteten hos den elektrolytiska kondensatorn på 10 mikrofarader (den största av de två). Den ena sidan har en remsa och som regel ett kortare ben. Denna sida måste vara ansluten till marken. Den mindre kondensatorn på 100 nanofarad är inte polariserad och kan lödas på något sätt.





Vidare är LED-motståndna lödda. Var uppmärksam på LED-polariteten: en sida har vanligtvis ett kortare ben. Denna sida ska anslutas till marken i nästa steg. En blå tråd lödas till det andra benet. Den andra änden av tråden lödas till anslutningen där Arduino-stiftet D3 kommer att anslutas.


Därefter monteras alla röda och blå kraftkablar. Röd för 3,3 volt och blå för mark (GND).


Tre sensorkort kommunicerar via I2C-protokollet (integrerad krets). Det betyder att de alla kan anslutas till samma två Arduino-stift, så vi löd de gula och gröna ledningarna till sensorerna och Arduino A4- och A5-stift. Du måste också montera en vit kabel för att ansluta gyros avbrottskontakter.


Radiosändaren kommunicerar via SPI-protokollet (seriell
perifera gränssnitt), som kräver fler anslutningar än I2C, lägger guiden till svarta, grå, bruna, lila och orange ledningar.


Nu är det dags att förbereda komponenterna. Förutom lödning på stiftkontakt, om inte
lödda måste du vara särskilt uppmärksam på sensorkortet! För billiga modeller från Kina är adressstiftet stift jordat utan mellanliggande motstånd, så du måste fysiskt klippa denna anslutning längst ned på kortet med en kniv. Klipp mellan två kuddar nära platsen där ADD skrivs. Guiden rekommenderar att du ringer med en multimeter för att se till att kontakterna inte är anslutna.


När alla delar har lödkopplingar och sensorkorten är förberedda kan du ansluta Arduino Nano, ett gyroskop, två sensorkort och en radiomodul till styrkortet.


Steg tre: Ladda ner kod
Efter en dubbelkontroll, om allt är korrekt anslutet, är nästa steg att ladda ner den medföljande Arduino nano, men innan du kan göra det måste du installera biblioteken för gyroskopet, sensorsensorns brädor och radiosändare. Om du är ny på Arduino-bibliotek kan du lära dig hur du installerar dem.
MPU6050-gyron kräver I2Cdev.h- och MPU6050_6Axis_MotionApps20.h-bibliotek som kan laddas ner.
För MPR121-beröringskort krävs Bare Conductive-biblioteket MPR121.h, vilket kan hittas. Det finns minst två versioner av biblioteket. Se till att installera versionen utvecklad av Bare Conductive, inte den version som utvecklats av Adafruit.
NRF24L01-radiosändarkortet kräver nRF24L01.h och RF24.h TMRh20-biblioteken, som kan laddas ner. Observera: det finns också minst två versioner av dessa bibliotek med samma namn. Se till att installera den utvecklade TMRh20, inte maniacbug.
När biblioteken har installerats kan du ladda ner Kravox-Controller-koden.

För att kontrollera om styrenheten fungerar kan du aktivera den för att mata ut data från beröringssensorer och ett gyroskop via en seriell monitor. För att göra detta måste du redigera det sista avsnittet i mottagarkoden innan du laddar ner: genom att ta bort kommentarmärket i början (/ *) och i slutet (* /) av det (se. Foto)

När du har laddat ner koden med det här alternativet måste du öppna Serial Monitor och ställa in baudhastigheten (datahastighet) för den till 115200. Nu kan du se data från sensorerna, som ändras när styrkortet flyttas och kontakterna berörs, från MPR121-kort som är markerade från 0 till 11.

Om ingenting fungerar eller endast nollor erhålls, måste du noggrant kontrollera ledningarna och jämföra dem med diagrammet ovan. Om du får fel signal från Serial Monitor måste du kontrollera om dataöverföringshastigheterna är korrekt inställda.


Steg fyra: Board Power

För ström måste du ansluta styrkortet till banken.
Om banken inte stängs av automatiskt efter ett tag är kontrollkortet klart och du kan gå till mottagarkortet. Följ annars nästa steg.

Steg fem: Lös strömproblemet
I princip är styrkortet klart, men vissa banker stängs automatiskt av efter några sekunder när de är anslutna till styrkortet, eftersom det förbrukar lite ström. Som en lösning kan du helt enkelt lägga till tre 220 Ohm-motstånd parallellt mellan 5V- och GND-stiften på Arduino.


Efter att ha anslutit komponenterna igen (definitivt) ser det färdiga styrkortet ut så här.


Steg sex: Skapa ett mottagarkort
I det här steget visar guiden dig hur du gör mottagarkortet. Processen liknar mycket att skapa ett styrkort.


Först måste du trimma brädskivan och kontakterna. Installera sedan kondensatorerna. Du kan jämföra det här steget med det första steget i att skapa ett styrkort för mer information.


Nästa måste du lägga till alla röda och blå ledningar. Röd för 3,3 volt och blå för mark (GND).


Ledningar för kommunikation SPI.


Mottagarkortet är klart, men innan du laddar upp Kravox-mottagarkoden till Arduino Nano måste du först skapa ett gränssnitt för mottagaren.


Sedan visar guiden hur man skapar ett gränssnitt med 4 potentiometrar och en lysdiod för mottagaren. Gränssnittet är anslutet, som i den första figuren, och kommer att anslutas till mottagarkortet, som ses i den andra figuren.


Förfarandet är som följer, först måste du ta ett paket med 8 kablar och löd 5 av dem till de mittersta kontakterna på potentiometrarna. Det är lämpligt att använda samma färger som i diagrammet för att inte bli förvirrad.

Sedan måste du klippa brödskivan 2 rader med 17 hål och en 17-stifts manlig kontakt. Sätt i kablarna och kontakten på kortet. Var uppmärksam på diagrammet ovan för att se till att du ansluter kablarna på rätt plats.


Nu måste du löda blå ledningar (mark) till en av kontakterna från alla potentiometrar. Löd en blå LED med ett strömbegränsande motstånd på 150 ohm.

Lödgröna ledningar.

Det färdiga gränssnittet ska se ut så här (foto 1) och kan anslutas till mottagarkortet så här (foto 2).

Sjunde steg: kod
Nu tillgänglig för nedladdning till Arduino Nano-mottagare.
För att kontrollera måste du göra en liten justering av koden igen innan du laddar ner den. Som standard visar mottagaren sina data i ett format som kan tolkas som ren data, men visar inte användbar information på en seriell bildskärm. Du kan dock ändra detta beteende i din kod genom att redigera (lägga till // före) raden #definiera WRITE_AS_BYTES och (ta bort // före) raden // #definiera PRINT_VIA_SERIAL_MONITOR.


Steg åtta: Fall
Längre bort från kopparremsan skapar befälhavaren en sensor.


För att göra fallet använder befälhavaren tomma rutor.

Befälhavaren drar kartong. Skär 24 kopparremsor och fästs på en kartong.



Vidare skär kapten kartong 2 * 24 hål bred och 24-stifts manlig kontakt till storlek och säljer 24 ledningar till den. Ledningarna i mitten bör vara minst 10 cm långa. När du flyttar bort från mitten ökar trådarnas längd. Om du till exempel använder en koppartejp som är 1 cm bred och avståndet mellan elektroderna 3 mm, bör trådens längd öka med 1,3 cm, som visas nedan: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Nu kan du löda ledarnas andra ändar till kopparremsorna och försegla remsorna med tejp.



Limmar sensorn i kroppen och limmar sedan en annan kropp på den (för verifiering).


Täcker kontrollpanelens baksida med kartong.

Installerar lysdioder och strömbank. Du måste ordna nätbanken så att du kan ansluta och koppla bort USB-kabeln, eftersom det är så styrenheten slår på och av. Anslut också pekgränssnittet till styrkortet och lägg det i rutan.

Gör en utskärning för USB-A-USB-C-kabeln i korsningen mellan de två lådorna, håller den ut och anslut den till Arduino Nano.

Nu är regulatorn klar.

Befälhavaren fixar ärendet med hjälp av pappersgummi. Om det senare uppstår problem med sensorer som upptäcker beröring när de inte finns, måste du sätta isolerande material, t.ex. film eller liknande mellan det beröringskänsliga huset, kretskortet och ledningarna. Anslut strömmen utan att röra vid sensorerna.


Steg nio: Skapa ett mottagarfall
Nu måste du skapa ett hus för mottagaren. Guiden skär flera runda hål för potentiometrar och lysdioder.


Den limmar mottagarkortet, LED, skruvpotentiometrar. Ställer in handtagen.




Steg tio: Komplett
Nu när all utrustning är monterad är det dags att spela musik! För att göra detta behöver du mjukvara som du kan ansluta utrustning till. För Kravox är detta Pure Data Vanilla-programvara som du kan ladda ner gratis.

När du har installerat Pure Data på datorn måste du köra dem och öppna filen Kravox.pd. Observera att den måste sparas på din dator i samma mapp som trummans mapp som den levereras med - annars kan inte Pure Data hitta filerna.
Så snart Kravox.pd-programgränssnittet öppnas måste du öppna fönstret som på fotot och installera de fyra så kallade externa enheter som finns i det här fönstret. Det är enkelt att installera dem, klicka bara på "hjälp" i menyn "Rensa data", välj "Hitta ytterligare objekt på internet" (det kan vara något annorlunda), hitta "komport", "zexy", "freverb" och "arraysize". "en efter en och installera den senaste versionen. Nu ska de fyra föremål som är markerade som komport, ompaketera, frirverb och arraysize ha en solid kontur, som i figuren nedan. Du kan behöva starta om Pure Data för detta.

När du har installerat externa enheter kan du ansluta mottagaren via USB. Om du ändrade koden i del 4 för att använda mottagaren med Arduino Serial Monitor måste du först ångra denna ändring och ladda källkoden i Arduino Nano-mottagaren innan du ansluter och stänger Arduino Serial Monitor.

Titta nu på fönstret Pure Data. Om du ser en snabb uppdaterad dataström är det här bra, men det kommer troligtvis att visa dig ett rött meddelande istället, som det i den första bilden, som uppdateras varannan sekund.

Den röda texten kan vara lite annorlunda, men ändå betyder det att Pure Data ännu inte har kunnat ansluta till din mottagare. Detta beror på att programmet måste ange vilken USB-port som ska anslutas. USB-portar kan märkas annorlunda på olika enheter; på MacBook Pro 2014 identifierar Pure Data båda USB-portarna som serieport 3, oavsett vilken mottagare du ansluter till. Sedan använde guiden Kravox med Lenovo Yoga Pad med bara en fungerande USB-port, som utsågs till serieport 6. I Windows är portarna betecknade 8 och 9. Guiden rekommenderar bara att försöka ta reda på vilket nummer USB-porten fungerar på din enhet . Han skapade en dialog som en del av Kravox.pd-gränssnittet (andra fotot), där du helt enkelt kan klicka på siffrorna tills enheten fungerar. Du kan också prova "Visa tillgängliga portar" och "Visa anslutna USB-enheter" -knapparna.
Kravox rumslig synthesizer på Arduino


Sedan måste du klicka på "Spara" så att Pure Data försöker ansluta till denna port automatiskt nästa gång.
Om controller-koden redigerades måste du ladda om koden.

Det återstår att ansluta styrkortet till strömförsörjningen. När du gör detta ska touchgränssnittshöljet runt brädet stängas, och beröringsdelen av höljet bör inte röra händerna eller något annat.

Allt är klart, ytterligare information kan ses på videon.


5.5
5.5
5.5

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...