» Instrumente muzicale »Sintetizator spațial Kravox pe Arduino

Sintezator spațial Kravox pe Arduino



Maestrul a inventat Kravox în timpul unui proiect de cercetare la Universitatea Lund (Suedia), al cărui obiectiv era să ofere controlorilor de instrumente muzicale digitale senzația de instrumente mecanice tradiționale. Acum maestrul vrea să-l facă pe Kravox accesibil tuturor ca platformă muzicală pentru experimentare. Pentru aceasta a creat acest briefing detaliat, care va permite cât mai multor persoane să folosească acest nou instrument muzical interesant.

Joacă Kravox este destul de simplu. Imaginați-vă că vă jucați cu un obiect obișnuit, cum ar fi o mătură, și modul în care îl atingeți și îl mutați în spațiu controlează modul în care este generat sunetul. Puteți urmări și auzi cum se joacă Kravox, precum și procesul de realizare a instrumentului, la sfârșitul articolului din videoclipuri.

Instrumente și materiale:
- panou 50 * 24 găuri -1 buc;
-Conector mascul de 40 pini -5 buc;
-40-pin-plug - 5 buc;
- potențiometre 10 kOhm și mânere pentru ele - 5 buc;
-LED LED standard 5 mm - 3 buc;
- Rezistoare 150 Ohmi - 3 buc;
- condensator 10 uF - 2 buc;
- condensator 100 nF - 2 buc;
-Radio modul NRF24L01 - 2 buc;
-Arduino nano -2 buc;
-Rezistori 220 Ohm -3 buc;
- Panouri de senzori senzori MPR121 - 2 buc;
- Digital gyro GY-521 MPU 6050 - 1 buc;
- cabluri USB-A la USB-C;
-4 metri (minim) banda de cupru lățime de 1 cm;
-Poverbank;
-7 metri (minim) fire de diferite culori;
-0,2 metri, tub de contracție termică ø = 3 mm;
-Accesorii de vânzare;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Clesti;
-Karton;
-Pistol de luciu;
-Skotch;
-Kley;
-Guma de birou;
-Zazhimy;




Pasul 1: Teorie
Kravox este un instrument muzical digital cu platformă deschisă, format din trei componente - un controler / controlere, un receptor și un software.

Puteți conecta până la trei controlere wireless. Fiecare controler prelucrează date de orientare și accelerație de la giroscopul digital MPU-6050 și atinge date de la două plăci de senzori MPR121 conectate la Arduino Nano. Controlerul trimite date către receptor folosind transmițătorul radio nRF24L01. Dacă este necesar să se utilizeze mai mult de un controler, al doilea și al treilea controler trebuie să li se atribuie adrese individuale.

Receptorul transmite datele primite de la controler (e) la computerul conectat împreună cu datele colectate de la mai multe potențiometre.Codul receptorului furnizat vă permite să stabiliți comunicarea cu trei controlere, dar va funcționa, de asemenea, cu unul sau două fără setări.

Datele de la receptor sunt procesate într-un program scris în care emite sunet.
Frumusețea lui Kravox este că forma sa, modul în care sună și cum se poate juca, poate fi ajustată. Acest lucru a oferit vrăjitorului posibilitatea de a dezvolta o versiune ușor de copiat de Kravox pentru această lecție.


Pasul doi: creează o placă de control
În continuare, vrăjitorul explică cum se face electronică controler pas cu pas din detaliile de mai sus.
Dacă nu sunteți sigur unde să lipiți cablul, puteți întotdeauna să reveniți la diagrama circuitului și să verificați dacă componentele sunt conectate corect.


Primul pas este tăierea plăcii de panou și a conectorilor și asamblarea lor împreună cu un condensator mic și mare, care ajută la creșterea fiabilității emițătorului radio.

Tăiați placa cu un cuțit utilitar
Tăiați conectorii cu un ferăstrău (stăpânul i-a pus pe carte pentru a-i alinia de la masă)
Instalați conectorii pe placa de panou și la lipit. Puteți conecta deja fiecare pereche de contacte a două
conectorii lungi care sunt alături unul de celălalt. Pentru restul, este suficient să le atașați pur și simplu cu o lipit mică - de preferință contacte care, în conformitate cu diagrama de circuit, nu vor fi conectate ulterior. Când condensați la lipire, acordați atenție polarității condensatorului electrolitic de 10 microfaraduri (cel mai mare dintre cele două). O parte va avea o bandă și, de regulă, un picior mai scurt. Această parte trebuie să fie conectată la sol. Condensatorul mai mic de 100 nanofarad nu este polarizat și poate fi soldat în orice mod.





În plus, rezistențele LED sunt lipite. Atenție la polaritatea LED-ului: o parte are de obicei un picior mai scurt. Această parte trebuie conectată la sol în pasul următor. Un fir albastru este lipit la celălalt picior. Celălalt capăt al sârmei este lipit la conectorul unde va fi conectat pinul Arduino D3.


În continuare, toate cablurile de alimentare roșii și albastre sunt montate. Roșu pentru 3,3 volți și albastru pentru sol (GND).


Trei plăci de senzori comunică prin protocolul I2C (circuit integrat). Aceasta înseamnă că toate pot fi conectate la aceleași doi pini Arduino, așa că am sudat firele galbene și verzi la senzori și la pinii Arduino A4 și A5. De asemenea, trebuie să montați un cablu alb pentru a conecta contactele de întrerupere ale giroului.


Transmițătorul radio comunică prin protocolul SPI (serial
interfață periferică), care necesită mai multe conexiuni decât I2C, expertul adaugă fire negre, gri, maro, violet și portocaliu.


Acum este timpul să pregătiți componentele. Pe lângă lipirea pe conectorii de pini, dacă nu
lipit, trebuie să acordați o atenție deosebită plăcii de senzori! Pentru modelele ieftine din China, știftul de adresă este împământat rigid fără un rezistor intermediar, așa că trebuie să tăiați fizic această conexiune în partea de jos a plăcii cu un cuțit. Tăiați între două plăcuțe lângă locul unde este scris ADD. Expertul recomandă să sune cu un multimetru pentru a vă asigura că contactele nu sunt conectate.


Când toate piesele au conectori lipiți și plăcile de senzori sunt pregătite, puteți conecta Arduino Nano, un giroscop, două plăci de senzori și un modul radio la placa de control.


Pasul trei: Descărcați codul
După o verificare dublă, dacă totul este conectat corect, următorul pas este să descărcați nano Arduino furnizat, dar înainte de a face acest lucru, va trebui să instalați bibliotecile pentru giroscop, plăci de senzori și transmițător radio. Dacă sunteți nou la bibliotecile Arduino, aflați cum să le instalați.
GYRO-ul MPU6050 necesită bibliotecile I2Cdev.h și MPU6050_6Axis_MotionApps20.h, care pot fi descărcate.
Pentru plăcile tactile MPR121 este necesară biblioteca Bare Conductive MPR121.h, care poate fi găsită. Există cel puțin două versiuni ale bibliotecii. Asigurați-vă că instalați versiunea dezvoltată de Bare Conductive, nu versiunea dezvoltată de Adafruit.
Placa de emițător radio NRF24L01 necesită bibliotecile nRF24L01.h și RF24.h TMRh20, care pot fi descărcate. Vă rugăm să rețineți: există, de asemenea, cel puțin două versiuni ale acestor biblioteci cu același nume. Asigurați-vă că instalați TMRh20 dezvoltat, nu maniacbug.
Odată instalate bibliotecile, puteți descărca codul Kravox-Controller.

Pentru a verifica dacă regulatorul funcționează, îl puteți permite să emită date de la senzorii tactili și un giroscop printr-un monitor serial. Pentru a face acest lucru, trebuie să editați ultima secțiune a codului destinatarului înainte de a descărca: eliminând semnul de comentariu la început (/ *) și la sfârșitul (* /) al acestuia (vezi. Foto)

După descărcarea codului cu această opțiune, trebuie să deschideți Serial Monitor și să setați viteza de transmisie (rata de date) pentru acesta la 115200. Acum puteți vedea datele de la senzori, care se schimbă atunci când placa de control este mutată și contactele sunt atinse, de la plăcile MPR121 care sunt marcate de la 0 la 11.

Dacă nu funcționează nimic sau se obțin doar zerouri, trebuie să verificați cu atenție cablarea și să o comparați cu diagrama de mai sus. Dacă primiți semnalul greșit de la Monitorul serial, trebuie să verificați dacă ratele de transfer de date sunt setate corect.


Pasul patru: Putere de bord

Pentru alimentare, trebuie să conectați placa de control la bancă.
Dacă banca nu se oprește automat după un timp, placa de control este terminată și puteți merge la placa de recepție. În caz contrar, urmați pasul următor.

Pasul cinci: Rezolvați problema de alimentare
În principiu, placa de control este gata, dar unele bănci se vor opri automat după câteva secunde când sunt conectate la placa de control, deoarece consumă puțină energie. Ca soluție, puteți adăuga pur și simplu trei rezistențe de 220 Ohm în paralel între pinii 5V și GND ai Arduino.


După reconectarea componentelor, (cu siguranță) placa de control terminată arată așa.


Pasul șase: Creați o placă de primire
În acest pas, vrăjitorul vă va arăta cum să faceți placa receptorului. Procesul este foarte asemănător cu crearea unei plăci de control.


Mai întâi trebuie să tăiați placa și conectorii. Apoi instalați condensatoarele. Puteți compara acest pas cu primul pas de creare a unei plăci de control pentru mai multe informații.


În continuare, trebuie să adăugați toate firele roșii și albastre. Roșu pentru 3,3 volți și albastru pentru sol (GND).


Cablare pentru SPI de comunicare.


Placa de receptori este gata, dar înainte de a încărca codul Kravox-Receiver la Arduino Nano, trebuie mai întâi să creezi o interfață pentru receptor.


Apoi, vrăjitorul arată cum se face o interfață cu 4 potențiometre și un LED pentru receptor. Interfața este conectată, ca în prima figură, și va fi conectată la placa de recepție, așa cum se vede în figura a doua.


Procedura este următoarea, mai întâi trebuie să luați un pachet de 8 cabluri și să lipiți 5 dintre ele la contactele de mijloc ale potențiometrelor. Este indicat să folosiți aceleași culori ca în diagramă pentru a nu vă confunda.

Apoi, trebuie să tăiați panoul de pâine 2 rânduri de 17 găuri și un conector mascul de 17 pini. Atașați cablurile și conectorul la placă. Atenție la diagrama de mai sus pentru a vă asigura că conectați cablurile în locurile potrivite.


Acum trebuie să lipiți fire albastre (sol) la unul dintre contactele tuturor potențiometrelor. Se lipeste un LED albastru cu un rezistor de limitare a curentului de 150 Ohmi.

Firuri verzi de lipit.

Interfața finalizată ar trebui să arate așa ceva (foto 1) și poate fi conectată la placa de recepție astfel (foto 2).

Al șaptelea pas: cod
Acum este disponibil pentru a fi descărcat la receptorul Arduino Nano.
Pentru a verifica, trebuie să efectuați din nou o mică ajustare a codului înainte de descărcare. În mod implicit, receptorul își afișează datele într-un format care poate fi interpretat ca date pure, dar nu afișează informații utile pe un monitor serial. Cu toate acestea, puteți schimba acest comportament în codul dvs. modificând (adăugând // înainte) linia #define WRITE_AS_BYTES și (eliminând // înainte) linia // #define PRINT_VIA_SERIAL_MONITOR.


Pasul opt: caz
Mai departe din banda de cupru, maestrul face un senzor.


Pentru a face cazul, maestrul folosește căsuțe goale.

Stăpânul desenează carton. Tăie 24 de benzi de cupru și se fixează pe un carton.



În plus, maestrul taie cartonul de 2 * 24 găuri lat și conectorul mascul cu 24 de pini la dimensiuni și lipeste 24 fire. Firurile din mijloc trebuie să aibă o lungime de cel puțin 10 cm. Pe măsură ce vă îndepărtați de centru, lungimea firelor crește. De exemplu, dacă utilizați o bandă de cupru lățime de 1 cm și distanța dintre electrozi de 3 mm, lungimea firului ar trebui să crească cu 1,3 cm, așa cum se arată mai jos: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Acum puteți lipi cele de-a doua capete ale firelor pe benzile de cupru și sigilați benzile cu bandă.



Lipeste senzorul în corp, apoi lipeste un alt corp de acesta (pentru verificare).


Acoperă spatele plăcii de control cu ​​carton.

Instalează leduri și banca de energie. Trebuie să aranjați banca de alimentare, astfel încât să puteți conecta și deconecta cablul USB, deoarece astfel se activează și se oprește controlerul. De asemenea, conectați interfața tactilă la placa de control și puneți-o în cutie.

Realizează un decupaj pentru cablul USB-A-USB-C la joncțiunea celor două cutii, îl ține și îl conectează la Arduino Nano.

Acum controlerul este gata.

Maestrul rezolvă carcasa cu ajutorul gumelor de papetărie. Dacă ulterior apar probleme cu senzori care detectează atingerea atunci când nu sunt prezenți, trebuie să puneți material izolant, cum ar fi filmul sau altele asemenea între carcasa sensibilă la atingere, placa de circuit și firele. Conectați puterea fără a atinge senzorii.


Pasul 9: Crearea unui caz de primire
Acum trebuie să faceți o carcasă pentru receptor. Expertul taie câteva găuri rotunde pentru potențiometre și LED-uri.


Lipeste placa de receptor, LED, potențiometre cu șurub. Setează mânerele.




Pasul zece: Finalizează
Acum, că toate echipamentele sunt montate, este timpul să cânt muzică! Pentru a face acest lucru, aveți nevoie de un software cu care puteți conecta echipamente. Pentru Kravox, acesta este software-ul Pure Data Vanilla, pe care îl puteți descărca gratuit.

După instalarea Pure Data pe computer, trebuie să o executați și să deschideți fișierul Kravox.pd. Vă rugăm să rețineți că acesta trebuie să fie salvat pe computer în același dosar ca folderul cu probe cu care este furnizat - altfel Pure Data nu va putea găsi fișierele.
De îndată ce se deschide interfața programului Kravox.pd, trebuie să deschideți fereastra ca în fotografie și să instalați cele patru așa-numite dispozitive externe care sunt enumerate în această fereastră. Instalarea lor este simplă, trebuie doar să faceți clic pe „ajutor” din meniul „Curățare date”, selectați „Găsiți obiecte suplimentare pe internet” (poate fi ușor diferit), găsiți „comport”, „zexy”, „freeverb” și „arraysize”. "Un câte unul și instalați cea mai recentă versiune. Acum cele patru obiecte marcate ca comport, reambalare, freeverb și matrice ar trebui să aibă un contur solid, ca în figura de mai jos. Este posibil să fie necesar să reporniți Pure Data pentru asta.

După instalarea dispozitivelor externe, puteți conecta receptorul prin USB. Dacă ați schimbat codul din partea a 4-a pentru a utiliza receptorul cu Arduino Serial Monitor, trebuie mai întâi să anulați această modificare și să încărcați codul sursă în receptorul Arduino Nano înainte de a conecta și închide monitorul serial Arduino.

Acum aruncați o privire la fereastra Pure Data. Dacă vedeți un flux de date actualizat rapid, acesta este excelent, dar cel mai probabil vă va afișa un mesaj roșu în schimb, ca cel din prima imagine, care este actualizat la fiecare două secunde.

Textul roșu poate fi puțin diferit, dar totuși înseamnă că, Pure Data încă nu s-a putut conecta la receptor. Acest lucru se datorează faptului că programul trebuie să specifice ce port USB să se conecteze. Porturile USB pot fi etichetate diferit pe diferite dispozitive; pe MacBook Pro 2014, Pure Data recunoaște ambele porturi USB ca port serial 3, indiferent de receptorul cu care vă conectați. Apoi vrăjitorul a folosit Kravox cu Lenovo Yoga Pad cu un singur port USB funcțional, care a fost desemnat ca port serial 6. Pe Windows, porturile sunt desemnate ca 8 și 9. Expertul recomandă doar să încercați să aflați ce număr funcționează portul USB pe dispozitivul dvs. . A creat un dialog ca parte a interfeței Kravox.pd (a doua fotografie), unde puteți pur și simplu să faceți clic pe numere până când dispozitivul funcționează. Puteți încerca, de asemenea, butoanele „Afișează porturile disponibile” și „Afișează dispozitive USB conectate”.
Sintezator spațial Kravox pe Arduino


Apoi, trebuie să faceți clic pe „Salvați”, astfel încât Pure Data va încerca să vă conectați la acest port automat data viitoare.
Dacă a fost modificat codul controlorului, atunci trebuie să reîncărcați codul.

Rămâne să conectați placa de control la sursa de alimentare. Când faceți acest lucru, carcasa interfaței tactile din jurul plăcii ar trebui să fie închisă, iar partea tactilă a carcasei nu trebuie să atingă mâinile sau orice altceva.

Totul este gata, informații suplimentare pot fi vizualizate pe videoclip.


5.5
5.5
5.5

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...