Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Tere tulemast kõigile, Tahaksin teile näidata oma muusikalist digitaalset liidest. Ma tegin selle oma tehnilise helikraadi ajal, see on minu uurimistöö. Alustuseks küsisin, kuidas saaksin muusikat komponeerida ilma DAW -ta, ringlussevõetud tarvikutega ja võimalusega iseseisvalt mängida.
Selles juhendis õpetan teile, kuidas kasutada jadaühendust andurite (analoog- ja digitaalse) teabe saatmiseks/vastuvõtmiseks Arduinost Raspberry pi -le tarkvara puredata suunas heli käivitamiseks.
Nõutavad materjalid on:
x1 Rõivas
x1 Kaitsevägi PI3
x1 Micro SD (32G)
x1 Põltsamaa
x1 Sensor IR Sharp GP2Y0E02B
x1 Põlvamaa
x1 Plaadi testimõõtur (0,2)
x28 Takistus 10MΩ
x2 Takistus 1,8 kΩ
x1 Takistus 10 kΩ
x20 Terminalid Mees/Naine
x1 Jootekandja
x1 tina mähis (1 meeter)
x1 Jootekolb
x25 Painduvad rihmad mees/mees
Samm: andurid
Ma kasutasin 4 piesoelektrit, mis tulid "Guitar Hero" Harmonix XBOX 360 puldist. Ma kasutasin nuppu sisse/välja, sest moosipedaali kitarrikangelase kaugjuhtimispuldi magnet oli väljas.
Kasutasin IR-sensorit Sharp GP2Y0E02B. Kõigi nende andurite puhul tegin tõhusaks toimimiseks ülestõmbamise…
Nii et empiiriliselt leidsin nupu anduri ja IR -anduri takistuse väärtuse. Siiski katsetasin piesoelektrilist, et teada saada selle täielikku skaalat, ja fikseeritud takistuse väärtust, mis on vajalik ja rakendatud nelja analooganduri jaoks.
Samm 2: Pull-up Montage
Pärast piesoelektrilise testimist pingegeneraatoriga kinnitasin takistuse väärtuseks 7MΩ.
Nuppude takistuse sõlme tõmbetugevus oli 10 kΩ.
IR -anduri puhul kasutasin kahte 1, 8 kΩ takistust vastavalt toitepinge ja SDA (andmed) ning SCL (kell) vahel.
Olge ettevaatlik, sest need vastupanuväärtused on RTX Arduino UNO jaoks; midagi teada Arduino impedantsi sisendi kohta: 10MΩ.
Tõmbetavat montaaži näete selle sammu viimasel pildil; Fikseerisin piesoelektrilised rihmad UNO -l 0 1 2 3 nööpnõelaga, nööbirihm 2 digitaalse tihvtiga, kuid edastasin väärtuse 6 -nööbilisel UNO -l ja IR -anduririhmal 4 5 -nööpnõelal UNO -l, kõik Arduino Uno analoogsisendid.
Samm: kood Arduino
Toimingu tõhususe tagamiseks testisin andurite teabe saatmist/vastuvõtmist Arduinole.
Panin failid kirjeldusse, kuid need leiate Arduino Genuino programmeerimise näidete jaotisest, välja arvatud IR -andur, kuna see pole täielik, olen muutnud vähe teavet jaotises "define" nagu "shift" ja muutsin mõõtmiste arvutamise tavaliseks kauguse variatsioonides. Ilmselt olete IR -anduri koodis näinud "Wire". Tõepoolest, ma kasutasin suhtlemiseks I2C protokolli. Kutsun teid vaatama I2C protokolli, mis on väga huvitav, saate seda kasutada kõigi soovitud digitaalsensorite reaalajas edastamiseks.
Samm: mõlemad Arduino vaarikate jadakommunikatsioonid
Jah: D
Nagu näete esimesel pildil, on link Arduino-Vaarikas USB-pistik.
Leidsin võimaluse saada andurite teavet otse Raspberry PI -sse installitud PureData Extented kaudu. Miks PureData laiendatud? Kuna Vanilla versioon ei kasuta sama raamatukogu kui rakendus Raspbiani keskkonnas.
Nii et käivitage StandardFirmata Arduino Genuinos, et parandada I/O ja väärtuste variatsioone õigesti!
Väärtuste teabe taastamiseks Raspberry PI -s on olemas kaks protokolli: Firmata ja Msg.
Ma valisin Firmata ühel põhjusel, PureData -s oli teabe hankimine lihtsam plaastri Pduino kaudu, üks keskkond.
Kutsun teid üles avastama Msg, kui kasutate OSC -protokolli.
Samm 5: PureData plaaster on vastu võetud
Tõepoolest, pärast nädalaid Genuino kodeerimist õnnestus mul saada kogu oma anduri teave ühel lehel, see võimaldas näha reaalajas variatsioone tänu Pduinole, Puredata plaastrile, sektsioonide raamatukogude lisale.
Sellest sammust alates ei puuduta me enam Arduino koodi. Value'i teave on loetav.
Nagu märkasin 3. etapis, sain teavet 6 -kontaktilise analoogi digitaalinupult, oli lihtne näha side tõhusat toimimist. Kõik ühes reas.
6. samm: arendage PureData
PureData on spetsiifiline keel ja peate veetma oma vaba aja, et õnnestuda kena lapitöö tegemisel.
Osa PureData plaastritest on saadaval GitHubis.
Loodan, et see, mis ma siia kirjutasin, aitas teil alustada minu enda lähedase projektiga.