Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Dobro došli svima, Htio bih vam pokazati svoje glazbeno digitalno sučelje. Napravio sam to tijekom diplome tehničkog zvuka, ovo su moji istraživački radovi. Za početak, pitao sam me kako mogu komponirati glazbu bez DAW -a, s recikliranim zalihama i mogućnošću samostalne reprodukcije.
U ovom uputstvu naučit ću vas kako koristiti serijsku komunikaciju za slanje/primanje senzorskih (analognih i digitalnih) informacija s Arduina na Raspberry pi prema softverskim puredatama za pokretanje zvuka.
Potrebni materijali su:
x1 Malina PI3
x1 Boîter de protection PI3
x1 Micro SD (32G)
x1 Arduino UNO
x1 Senzor IC Sharp GP2Y0E02B
x1 Breadbord
x1 Mjerač za ispitivanje ploča (0,2)
x28 Otpor 10MΩ
x2 Otpor 1,8 kΩ
x1 Otpor 10 kΩ
x20 Priključne stezaljke Muški/Ženski
x1 Nosač za lemljenje
x1 zavojnica kositra (1 metar)
x1 Lemilo
x25 Fleksibilni remeni Muški/Muški
Korak 1: Senzori
Koristio sam 4 piezoelektrična elementa koji dolaze s daljinskog upravljača "Guitar Hero" Harmonix XBOX 360. Upotrijebio sam gumb za uključivanje/isključivanje jer je magnetski sklopka od trstike bila isključena.
Koristio sam IC senzor Sharp GP2Y0E02B. Za sve ove senzore napravio sam sklop za podizanje za učinkovit rad …
Tako sam empirijski pronašao vrijednost otpora senzoru gumba i IR senzoru. Međutim, testirao sam piezoelektriku kako bih znao cijelu ljestvicu ovog, te je potrebna vrijednost fiksnog otpora i primijenjena za 4 analogna senzora.
Korak 2: Montaža na podizanje
Nakon ispitivanja piezoelektrika s generatorom napona, fiksirao sam vrijednost otpora na 7MΩ.
Povlačenje sklopa otpora gumba bilo je 10 kΩ.
Za IR senzor koristio sam dva otpora 1, 8 kΩ između opskrbnog napona i SDA (podaci) i SCL (sat).
Budite oprezni jer su vrijednosti otpora za RTX Arduino UNO; nešto što trebate znati o ulazu impedancije Arduina: 10MΩ.
Montažu za podizanje možete vidjeti na posljednjoj slici ovog koraka; Učvrstio sam piezoelektrične trake u 0 1 2 3 pina na UNO -u, remen s gumbima u 2 digitalna pina, ali priopćim vrijednost na 6 pinova na UNO i IR senzorskoj traci u 4 5 pinova na UNO, sve analogne ulaze Arduino Uno.
Korak 3: Kod Arduino
Kako bih bio siguran da je operacija učinkovita, testirao sam informacije o slanju/primanju senzora na Arduino.
Stavio sam datoteke u opis, ali možete ih pronaći u odjeljku primjera programa Arduino Genuino, osim IR senzora jer nije potpun, promijenio sam nekoliko podataka u odjeljku "definiraj" poput "pomak" i promijenio sam mjerni proračun u redovan u varijacijama udaljenosti. Vjerojatno ste vidjeli "Wire" u kodu IC senzora. Zaista sam koristio I2C protokol za komunikaciju. Pozivam vas da vidite I2C protokol, vrlo zanimljivo, ovaj možete koristiti za prijenos u stvarnom vremenu svih digitalnih senzora koje želite.
Korak 4: Oba Arduino Raspberry serijska komunikacija
Da: D
Kao što možete vidjeti na prvoj slici, veza Arduino-Raspberry je USB utikač.
Pronašao sam način da primam podatke senzora izravno putem PureData Extented koji je instaliran u Raspberry PI. Zašto PureData Extended? Budući da verzija Vanilla ne koristi istu knjižnicu od aplikacije u Raspbian okruženju.
Pokrenite StandardFirmata u Arduino Genuinu da popravite I/O i varijacije vrijednosti na pravi način!
Za povratak informacija o vrijednosti u Raspberry PI postoje 2 protokola: Firmata i Msg.
Odabrao sam Firmatu iz jednog razloga, bilo je jednostavnije doći do informacija u PureDati putem zakrpe Pduino, jednog okruženja.
Pozivam vas da otkrijete poruku ako koristite OSC protokol.
Korak 5: PureData zakrpa primljena
Doista, nakon tjednog kodiranja na Genuinu, uspio sam primiti sve podatke svog senzora na jednu stranicu, što je omogućilo da se vide varijacije u stvarnom vremenu zahvaljujući Pduinu, zakrpi u Puredati, bibliotekama odjeljaka dodatno.
Od ovog koraka više se ne dotičemo Arduino koda. Podaci o vrijednosti su čitljivi.
Kao što sam primijetio u koraku 3, dobio sam informacije od digitalnog gumba u 6 -polnom analognom, bilo je jednostavno vidjeti učinkovit rad komunikacije. Sve u jednom retku.
Korak 6: Razvoj PureData
PureData je specifičan jezik i morate provesti svoje slobodno vrijeme da biste uspjeli radeći lijepe zakrpe.
Neki od PureData zakrpa bit će dostupni na GitHubu.
Nadam se da vam je ovo što sam ovdje napisao pomoglo da započnete vlastiti projekt blizu mog.