Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Vitajte všetci, Rád by som vám ukázal svoje vlastné hudobné digitálne rozhranie. Dokázal som to počas štúdia technického zvuku, toto sú moje výskumné práce. Na začiatku som sa ma spýtal, ako môžem skladať hudbu bez DAW, s recyklovanými spotrebnými materiálmi a možnosťou samostatného prehrávania.
V tomto návode vás naučím, ako používať sériovú komunikáciu na odosielanie/prijímanie informácií o senzoroch (analógových a digitálnych) z Arduina na Raspberry pi smerom k softvérovému čisteniu údajov na spustenie zvuku.
Požadované materiály sú:
x1 Malina PI3
x1 Ochranný kryt PI3
x1 Micro SD (32G)
x1 Arduino UNO
x1 Senzor IR Sharp GP2Y0E02B
x1 Breadbord
x1 Merací prístroj na testovanie platní (0,2)
x28 Odpor 10MΩ
x2 Odpor 1,8 kΩ
x1 Odpor 10 kΩ
x20 Koncové oká Muž/Žena
x1 nosič spájky
x1 cínová cievka (1 meter)
x1 Spájkovačka
x25 Ohybné popruhy muž/muž
Krok 1: Senzory
Použil som 4 piezoelektriká pochádzajúce z diaľkového ovládača Harmonix XBOX 360 „Guitar Hero“. Použil som tlačidlo na zapnutie/vypnutie, pretože magnetický jazýčkový spínač jam pedálového pedálu bol vypnutý.
Použil som infračervený senzor Sharp GP2Y0E02B. Pri všetkých týchto snímačoch som vykonal výsuvnú montáž, aby efektívne fungovala …
Empiricky som teda našiel hodnotu odporu voči tlačidlovému senzoru a infračervenému senzoru. Testoval som však piezoelektrikum, aby som poznal jeho plný rozsah a potrebnú hodnotu pevného odporu a použil som ho pre 4 analógové snímače.
Krok 2: Pull-up Montage
Po testovaní piezoelektrika s generátorom napätia som nastavil hodnotu odporu na 7 MΩ.
Príťah zostavy odporu gombíka bol 10 kΩ.
Pre infračervený senzor som použil dva odpory 1, 8 kΩ medzi príslušným napájacím napätím a SDA (údaje) a SCL (hodiny).
Buďte opatrní, pretože tieto hodnoty odporu sú pre RTX Arduino UNO; niečo, čo by ste mali vedieť o impedančnom vstupe Arduino: 10MΩ.
Vyťahovaciu montáž môžete vidieť na poslednom obrázku tohto kroku; Opravil som piezoelektrické remienky v 0 1 2 3 piny na UNO, remienok na gombíky v 2 digitálnych pinoch, ale hodnotu som komunikoval na 6 pinoch na UNO a IR senzore v 4 5 pinoch na UNO, všetky analógové vstupy Arduino Uno.
Krok 3: Kódujte Arduino
Aby som sa ubezpečil, že operácia bola účinná, testoval som odosielanie/prijímanie informácií o senzoroch do Arduina.
Súbory som vložil do popisu, ale nájdete ich v sekcii príkladov programovania Arduino Genuino, okrem infračerveného senzora, pretože nie je kompletný, zmenil som niekoľko informácií v časti „definovať“ako „posun“a výpočet merania som zmenil na pravidelný vo variáciách vzdialenosti. Pravdepodobne ste v kóde infračerveného senzora videli „drôt“. Skutočne som na komunikáciu použil protokol I2C. Pozývam vás, aby ste videli protokol I2C, veľmi zaujímavé, môžete ho použiť na prenos všetkých digitálnych senzorov, ktoré chcete, v reálnom čase.
Krok 4: Sériová komunikácia Arduino Raspberry
Áno: D
Ako vidíte na prvom obrázku, odkaz Arduino-Raspberry je konektor USB.
Našiel som spôsob, ako prijímať informácie zo senzorov priamo pomocou programu PureData Extented, ktorý je nainštalovaný v Raspberry PI. Prečo PureData Extended? Pretože verzia Vanilla nepoužíva rovnakú knižnicu ako aplikácia v prostredí Raspbian.
Spustite teda StandardFirmata v Arduino Genuino, aby ste opravili V/V a variácie hodnôt správnym spôsobom!
Na získanie informácií o hodnote v Raspberry PI existujú 2 protokoly: Firmata a Msg.
Firmatu som si vybral z jedného dôvodu, bolo jednoduchšie získať informácie v PureData prostredníctvom opravy Pduino, jedného prostredia.
Pozývam vás na objavenie správy, ak používate protokol OSC.
Krok 5: Bola prijatá oprava PureData
Skutočne, po týždňoch kódovania na Genuino sa mi podarilo získať všetky informácie o mojom senzore na jednu stránku, čo umožnilo vidieť variácie v reálnom čase vďaka Pduino, náplasti v Puredata, sekcii Librairies navyše.
Od tohto kroku sa už nedotýkame kódu Arduino. Informácie o hodnote sú čitateľné.
Ako som si všimol v kroku 3, dostal som informácie z digitálneho tlačidla v 6 -pinovom analógovom zariadení, bolo ľahké vidieť efektívnu prevádzku komunikácie. Všetko v jednom rade.
Krok 6: Vývoj PureData
PureData je špecifický jazyk a musíte stráviť voľný čas, aby ste uspeli v peknom patchworku.
Niektoré opravy PureData budú k dispozícii v GitHub.
Dúfam, že to, čo som tu napísal, vám pomohlo začať s vlastným projektom, ktorý je môj blízky.