Cuprins:
- Pasul 1: senzori
- Pasul 2: Montaj pull-up
- Pasul 3: Cod Arduino
- Pasul 4: Ambele comunicări seriale Arduino Raspberry
- Pasul 5: Patch primit PureData primit
- Pasul 6: Dezvoltarea PureData
Video: Interfață digitală muzicală: 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Bun venit tuturor, Aș dori să vă arăt propria mea interfață digitală muzicală. Am realizat-o în timpul diplomei de sunet tehnic, aceasta este lucrările mele de cercetare. Pentru început, m-am întrebat cum pot compune muzică fără DAW, cu consumabile reciclate și posibilitatea de a juca în mod independent.
În această instrucțiune, vă voi învăța cum să utilizați comunicațiile seriale pentru a trimite / primi informații despre senzori (analogici și digitali) de la Arduino la Raspberry pi către software puredat pentru declanșarea unui sunet.
Materialele necesare sunt:
x1 Raspberry PI3
x1 Boîter de protection PI3
x1 Micro SD (32G)
x1 Arduino UNO
x1 Senzor IR Sharp GP2Y0E02B
x1 Breadbord
x1 Ecartament de testare a plăcii (0,2)
x28 Rezistență 10MΩ
x2 Rezistență 1,8kΩ
x1 Rezistență 10kΩ
x20 Borne terminale masculin / feminin
x1 Transportor de lipit
x1 bobină de tablă (1 metru)
x1 Fier de lipit
x25 Curele flexibile masculin / masculin
Pasul 1: senzori
Am folosit 4 piezoelectrice care provin de la telecomanda Harmonix XBOX 360 „Guitar Hero”. Am folosit un buton de pornire / oprire deoarece comutatorul reed magnetic al pedalei de blocare a pedalei de telecomandă a eroului chitară era afară.
Am folosit un senzor IR Sharp GP2Y0E02B. Pentru toți acești senzori, am făcut un ansamblu de tracțiune pentru o funcționare eficientă …
Deci, empiric, am găsit o valoare a rezistenței la senzorul butonului și senzorul IR. Cu toate acestea, am testat piezoelectric pentru a cunoaște scara completă a acestuia și am stabilit valoarea necesară a rezistenței și aplicată pentru cei 4 senzori analogici.
Pasul 2: Montaj pull-up
După testarea piezoelectricului cu generator de tensiune, am stabilit valoarea rezistenței la 7MΩ.
Tragerea ansamblului de rezistență al butonului a fost de 10 kΩ.
Pentru senzorul IR, am folosit două rezistențe de 1, 8kΩ, respectiv între tensiunea de alimentare și SDA (date) și SCL (ceas).
Aveți grijă, deoarece valorile acelor rezistențe sunt pentru RTX Arduino UNO; ceva de știut despre intrarea de impedanță Arduino: 10MΩ.
Puteți vedea montajul pull-up pe ultima imagine a acestui pas; Am fixat curele piezoelectrice în 0 1 2 3 pini pe UNO, curea de buton în 2 pini digitale, dar comunic valoarea pe 6 pini pe UNO și cureaua senzorului IR în 4 5 pini pe UNO, toate intrările analogice ale Arduino Uno.
Pasul 3: Cod Arduino
Pentru a mă asigura că operațiunea a fost eficientă, am testat trimiterea / primirea informațiilor despre senzori către Arduino.
Am pus fișiere în descriere, dar le puteți găsi în secțiunea de exemple de programare Arduino Genuino, cu excepția senzorului IR deoarece nu este completă, am modificat puține informații în secțiunea „definiți” precum „schimbare” și am schimbat calculul măsurării pentru a fi regulat în variații de distanță. Probabil ați văzut „Sârmă” în codul senzorului IR. Într-adevăr, am folosit protocolul I2C pentru a comunica. Vă invit să vedeți protocolul I2C, foarte interesant, îl puteți utiliza pentru a transmite în timp real toți senzorii digitali pe care îi doriți.
Pasul 4: Ambele comunicări seriale Arduino Raspberry
Da: D
După cum puteți vedea în prima imagine, link-ul Arduino-Raspberry este mufa USB.
Am găsit o modalitate de a primi informațiile senzorilor direct de către PureData Extented, care este instalat în Raspberry PI. De ce PureData Extended? Deoarece versiunea Vanilla nu folosește aceeași bibliotecă decât o aplicație din mediul Raspbian.
Așa că lansați StandardFirmata în Arduino Genuino pentru a remedia variațiile I / O și a valorii în mod corect!
Pentru a obține informații de valoare înapoi în Raspberry PI, există 2 protocoale: Firmata și Msg.
Aleg Firmata dintr-un motiv, a fost mai simplu să obțin informații în PureData prin patch-ul Pduino, un singur mediu.
Vă invit să descoperiți Msg dacă utilizați protocolul OSC.
Pasul 5: Patch primit PureData primit
Într-adevăr, după săptămâni de codare pe Genuino, am reușit să primesc toate informațiile senzorului meu într-o singură pagină, ceea ce a permis să văd variații în timp real datorită Pduino, un patch din Puredata, secțiune librairies extra.
Din acest pas, nu mai atingem codul Arduino. Informațiile despre valoare sunt lizibile.
După cum am observat la pasul 3, am primit informații de la butonul digital în analog cu 6 pini, a fost simplu să văd funcționarea eficientă a comunicării. Toate într-o singură linie.
Pasul 6: Dezvoltarea PureData
PureData este un limbaj specific și trebuie să vă petreceți timpul liber pentru a reuși să faceți patch-uri frumoase.
Unele dintre patch-urile PureData vor fi disponibile în GitHub.
Sper că ceea ce am scris aici te-a ajutat să îți începi propriul proiect aproape de al meu.
Recomandat:
Interfață senzor capacitiv de amprentă digitală cu Arduino UNO: 7 pași
Interfață senzor capacitiv de amprentă digitală cu Arduino UNO: Hei, ce se întâmplă, băieți! Akarsh aici de la CETech. Astăzi vom adăuga un strat protector proiectelor noastre. Nu vă faceți griji, nu vom numi nici un bodyguarzi pentru același lucru. Va fi un senzor de amprentă digitală drăguț și frumos de la DFRobot. Deci
Cutie muzicală cu spectacol de lumină: 9 pași (cu imagini)
Music Box With Light Show: Bună ziua și bine ai venit, în acest tutorial vă vom arăta cum vă puteți crea propria cutie de muzică cu un spectacol de lumini inclus. Tot ce aveți nevoie este un caz gol. Am luat un caz care este utilizat în mod normal pentru unelte. În acest proiect puteți fi foarte creativ, deci nu aveți nevoie
Noțiuni introductive despre interfața senzorului I2C ?? - Interfață MMA8451 folosind ESP32s: 8 pași
Noțiuni introductive despre interfața senzorului I2C ?? - Interfața MMA8451 folosind ESP32s: În acest tutorial, veți afla totul despre cum să porniți, să conectați și să obțineți dispozitivul I2C (accelerometru) care funcționează cu controlerul (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Măsurarea digitală a distanței DIY cu interfață senzor cu ultrasunete: 5 pași
Măsurarea digitală a distanței DIY cu interfață senzor cu ultrasunete: Scopul acestui instructabil este de a proiecta un senzor digital de distanță cu ajutorul unui GreenPAK SLG46537. Sistemul este proiectat folosind ASM și alte componente din GreenPAK pentru a interacționa cu un senzor cu ultrasunete. Sistemul este conceput pentru
Interfață muzicală cu butoane ușoare: 5 pași (cu imagini)
Interfață muzicală Easy Button: acest proiect modifică un buton Easy de 5 USD și o tastatură USB ieftină, astfel încât să poată fi folosite ca dispozitiv de intrare pentru spectacole muzicale live (sau orice altceva care necesită un buton sau un comutator de picior). Permite ca butoanele ieftine să fie create