» Instrumenty muzyczne »Przestrzenny syntezator Kravox na Arduino

Syntezator przestrzenny Kravox na Arduino



Mistrz wynalazł Kravox podczas projektu badawczego na Uniwersytecie w Lund (Szwecja), którego celem było nadanie kontrolerom cyfrowych instrumentów muzycznych charakteru tradycyjnych instrumentów mechanicznych. Teraz mistrz chce, aby Kravox był dostępny dla wszystkich jako platforma muzyczna do eksperymentów. Właśnie dlatego stworzył tę szczegółową odprawę, która pozwoli jak największej liczbie osób korzystać z tego nowego interesującego instrumentu muzycznego.

Gra w Kravox jest dość prosta. Wyobraź sobie, że bawisz się zwykłym przedmiotem, takim jak miotła, a sposób, w jaki go dotykasz i przesuwasz w przestrzeni, kontroluje sposób generowania dźwięku. Możesz obejrzeć i usłyszeć, jak grać w Kravox, a także proces tworzenia instrumentu na końcu artykułu w filmach.

Narzędzia i materiały:
- płyta chlebowa 50 * 24 otwory -1 szt .;
-40-pinowe złącza męskie -5 szt .;
-40-pinowa wtyczka - 5 szt .;
- Potencjometry 10 kOhm i uchwyty do nich - 5 szt .;
-Niebieskie standardowe diody LED 5 mm - 3 szt .;
- Rezystory 150 Ohm - 3 szt .;
- Kondensator 10 uF - 2 szt .;
- Kondensator 100 nF - 2 szt .;
-Radio moduł NRF24L01 - 2 szt .;
-Arduino nano -2 szt .;
Rezystory 220 Ohm -3 szt .;
- Płytki czujników czujnikowych MPR121 - 2 szt .;
- żyroskop cyfrowy GY-521 MPU 6050 - 1 szt .;
- kable USB-A do USB-C;
-4 metry (minimum) taśmy miedzianej o szerokości 1 cm;
-Powerbank;
-7 metrów (minimum) drutów w różnych kolorach;
-0,2 metra, rura termokurczliwa ø = 3 mm;
- Akcesoria do lutowania;
-Multimetr;
-Reguła;
-Nóż;
-Nozhovka;
- szczypce;
-Karton;
-Klej pistoletu;
-Tape;
-Klej;
-Guma biurowa;
-Clipy;




Krok pierwszy: teoria
Kravox to wieloplatformowy cyfrowy instrument muzyczny typu open source, który składa się z trzech elementów - kontrolera / kontrolerów, odbiornika i oprogramowania.

Możesz podłączyć do trzech kontrolerów bezprzewodowych. Każdy sterownik przetwarza dane dotyczące orientacji i przyspieszenia z żyroskopu cyfrowego MPU-6050 oraz dane dotykowe z dwóch płytek czujników czujnikowych MPR121 podłączonych do Arduino Nano. Sterownik wysyła dane do odbiornika za pomocą nadajnika radiowego nRF24L01. Jeśli konieczne jest użycie więcej niż jednego kontrolera, do drugiego i trzeciego kontrolera należy przypisać indywidualne adresy.

Odbiornik przesyła dane otrzymane z kontrolera (kontrolerów) do podłączonego komputera wraz z danymi zebranymi z kilku potencjometrów.Podany kod odbiornika pozwala nawiązać komunikację z trzema kontrolerami, ale będzie również działał z jednym lub dwoma bez ustawień.

Dane z odbiornika są przetwarzane w programie zapisanym w tym dźwięku wyjściowym.
Piękno Kravox polega na tym, że można regulować jego formę, to, jak brzmi i jak grać. To dało czarodziejowi możliwość opracowania łatwej do skopiowania wersji Kravox do tej lekcji.


Krok drugi: utwórz płytę kontrolera
Następnie kreator wyjaśnia, jak to zrobić elektronika kontroler krok po kroku od powyższych szczegółów.
Jeśli nie masz pewności, gdzie lutować kabel, zawsze możesz wrócić do schematu połączeń i sprawdzić, czy elementy są prawidłowo podłączone.


Pierwszym krokiem jest przecięcie płyty chlebowej i złączy i złożenie ich razem z małym i dużym kondensatorem, co pomaga zwiększyć niezawodność nadajnika radiowego.

Wytnij deskę nożem uniwersalnym
Wytnij złącza za pomocą piły do ​​metalu (mistrz położył je na książce, aby wyrównać je ze stołem)
Zamontować złącza na płycie chlebowej i lutu. Możesz już połączyć każdą parę kontaktów dwóch osób
długie łączniki, które sąsiadują ze sobą. Resztę wystarczy po prostu przymocować za pomocą małego lutu - najlepiej styki, które zgodnie ze schematem połączeń nie zostaną później podłączone. Podczas lutowania kondensatorów należy zwrócić uwagę na polaryzację kondensatora elektrolitycznego 10 mikrofaradów (większy z dwóch). Jedna strona będzie miała pasek i, z reguły, krótszą nogę. Ta strona musi być połączona z ziemią. Mniejszy kondensator 100 nanofaradów nie jest spolaryzowany i można go w dowolny sposób lutować.





Ponadto rezystory LED są lutowane. Zwróć uwagę na biegunowość diody LED: jedna strona zwykle ma krótszą nogę. Ta strona powinna być połączona z ziemią w następnym kroku. Niebieski drut jest przylutowany do drugiej nogi. Drugi koniec drutu jest przylutowany do złącza, do którego zostanie podłączony pin D3 Arduino.


Następnie montuje się wszystkie czerwone i niebieskie kable zasilające. Czerwony dla 3,3 V i niebieski dla masy (GND).


Trzy płytki czujników komunikują się za pośrednictwem protokołu I2C (układ scalony). Oznacza to, że wszystkie mogą być podłączone do tych samych dwóch pinów Arduino, więc lutujemy żółte i zielone przewody do czujników oraz pinów Arduino A4 i A5. Musisz również zamontować biały kabel, aby połączyć styki przerwania żyroskopu.


Nadajnik radiowy komunikuje się za pośrednictwem protokołu SPI (szeregowy
interfejs peryferyjny), który wymaga większej liczby połączeń niż I2C, kreator dodaje czarne, szare, brązowe, fioletowe i pomarańczowe przewody.


Teraz nadszedł czas na przygotowanie komponentów. Oprócz lutowania na złączach wtykowych, jeśli nie
lutowane, należy zwrócić szczególną uwagę na płytkę czujnika! W przypadku tanich modeli z Chin styk adresowy jest sztywno uziemiony bez rezystora pośredniego, dlatego należy fizycznie odciąć to połączenie u dołu płyty za pomocą noża. Przecinaj dwa bloki w pobliżu miejsca, w którym napisano ADD. Kreator zaleca dzwonienie za pomocą multimetru, aby upewnić się, że kontakty nie są połączone.


Gdy wszystkie części mają lutowane złącza i płyty czujników są przygotowane, możesz podłączyć Arduino Nano, żyroskop, dwie płytki czujników i moduł radiowy do płyty kontrolera.


Krok trzeci: Pobierz kod
Po dwukrotnym sprawdzeniu, czy wszystko jest poprawnie podłączone, następnym krokiem jest pobranie dostarczonego Arduino nano, ale zanim będzie to możliwe, musisz zainstalować biblioteki żyroskopu, płytki czujników czujnika i nadajnik radiowy. Jeśli nie znasz bibliotek Arduino, dowiedz się, jak je zainstalować.
Żyroskop MPU6050 wymaga bibliotek I2Cdev.h i MPU6050_6Axis_MotionApps20.h, które można pobrać.
W przypadku tablic dotykowych MPR121 wymagana jest biblioteka Bare Conductive MPR121.h, którą można znaleźć. Istnieją co najmniej dwie wersje biblioteki. Pamiętaj, aby zainstalować wersję opracowaną przez Bare Conductive, a nie wersję opracowaną przez Adafruit.
Płyta nadajnika radiowego NRF24L01 wymaga bibliotek TMRh20 nRF24L01.h i RF24.h, które można pobrać. Uwaga: istnieją również co najmniej dwie wersje tych bibliotek o tej samej nazwie. Pamiętaj, aby zainstalować opracowany program TMRh20, a nie maniak.
Po zainstalowaniu bibliotek możesz pobrać kod kontrolera Kravox.

Aby sprawdzić, czy kontroler działa, możesz umożliwić mu wysyłanie danych z czujników dotykowych i żyroskopu przez monitor szeregowy. Aby to zrobić, musisz edytować ostatnią sekcję kodu odbiorcy przed pobraniem: usuwając znak komentarza na początku (/ *) i na końcu (* /) (patrz. Zdjęcie)

Po pobraniu kodu z tą opcją należy otworzyć Monitor szeregowy i ustawić dla niego szybkość transmisji (szybkość transmisji danych) na 115200. Teraz możesz zobaczyć dane z czujników, które zmieniają się po przesunięciu płyty kontrolera i dotknięciu styków, z płyt MPR121 oznaczonych od 0 do 11

Jeśli nic nie działa lub otrzymano tylko zera, musisz dokładnie sprawdzić okablowanie i porównać z powyższym schematem. Jeśli otrzymasz niepoprawny sygnał z monitora szeregowego, musisz sprawdzić, czy szybkości przesyłania danych są ustawione poprawnie.


Krok czwarty: Moc płyty

Aby uzyskać zasilanie, musisz podłączyć płytę kontrolera do banku.
Jeśli bank nie wyłącza się automatycznie po pewnym czasie, płyta kontrolera jest gotowa i możesz przejść do płyty odbiornika. W przeciwnym razie wykonaj następny krok.

Krok piąty: Rozwiąż problem z zasilaniem
Zasadniczo płyta kontrolera jest gotowa, ale niektóre banki wyłączają się automatycznie po kilku sekundach po podłączeniu do płyty kontrolera, ponieważ zużywa mało energii. Jako rozwiązanie można po prostu dodać równolegle trzy rezystory 220 omów między stykami 5 V i GND Arduino.


Po ponownym podłączeniu komponentów (zdecydowanie) gotowa płyta kontrolera wygląda tak.


Krok szósty: Utwórz tablicę odbiorczą
W tym kroku kreator pokaże Ci, jak zrobić płytkę odbiornika. Proces ten jest bardzo podobny do tworzenia płyty kontrolera.


Najpierw musisz przyciąć płytkę ścienną i złącza. Następnie zainstaluj kondensatory. Możesz porównać ten krok z pierwszym krokiem tworzenia płyty kontrolera, aby uzyskać więcej informacji.


Następnie musisz dodać wszystkie czerwone i niebieskie przewody. Czerwony dla 3,3 V i niebieski dla masy (GND).


Okablowanie do komunikacji SPI.


Płyta odbiornika jest gotowa, ale zanim prześlesz kod odbiornika Kravox do Arduino Nano, musisz najpierw utworzyć interfejs dla odbiornika.


Następnie kreator pokazuje, jak wykonać interfejs z 4 potencjometrami i diodą LED dla odbiornika. Interfejs jest podłączony, jak na pierwszym rysunku, i będzie podłączony do płytki odbiornika, jak pokazano na drugim rysunku.


Procedura jest następująca: najpierw musisz wziąć pakiet 8 kabli i przylutować 5 z nich do środkowych styków potencjometrów. Wskazane jest stosowanie takich samych kolorów jak na schemacie, aby się nie pomylić.

Następnie musisz wyciąć płytkę ścienną 2 rzędy 17 otworów i 17-stykowe złącze męskie. Podłącz kable i złącze do płyty. Zwróć uwagę na powyższy schemat, aby upewnić się, że kable są podłączone we właściwych miejscach.


Teraz musisz przylutować niebieskie przewody (uziemienie) do jednego ze styków wszystkich potencjometrów. Przylutuj niebieską diodę LED z opornikiem ograniczającym prąd o wartości 150 omów.

Lutuj zielone przewody.

Gotowy interfejs powinien wyglądać mniej więcej tak (zdjęcie 1) i może być podłączony do płyty odbiornika w ten sposób (zdjęcie 2).

Siódmy krok: kod
Teraz można pobrać do odbiornika Arduino Nano.
Aby to sprawdzić, musisz ponownie dokonać drobnej korekty kodu przed pobraniem. Domyślnie odbiornik wyświetla swoje dane w formacie, który można interpretować jako czyste dane, ale nie wyświetla przydatnych informacji na monitorze szeregowym. Możesz jednak zmienić to zachowanie w swoim kodzie, edytując (dodając // przed) linię # zdefiniuj WRITE_AS_BYTES i (usuwając // przed) linię // # zdefiniuj PRINT_VIA_SERIAL_MONITOR.


Krok ósmy: Case
Mistrz dalej tworzy czujnik z taśmy miedzianej.


Aby to zrobić, master używa pustych pól.

Mistrz rysuje karton. Tnie 24 miedziane paski i zapina na tekturze.



Ponadto mistrz wycina tekturę o szerokości 2 * 24 otworów i 24-stykowe złącze męskie na wymiar i lutuje do niej 24 przewody. Druty w środku powinny mieć co najmniej 10 cm długości. W miarę oddalania się od środka, długość drutów wzrasta. Na przykład, jeśli używasz taśmy miedzianej o szerokości 1 cm, a odległość między elektrodami 3 mm, długość drutu powinna wzrosnąć o 1,3 cm, jak pokazano poniżej: 10 / 11,3 / 12,6 / 13,9 / 15,2 ...

Teraz możesz przylutować drugie końce drutów do miedzianych pasków i uszczelnić paski taśmą.



Przykleja czujnik do ciała, a następnie przykleja do niego kolejne ciało (do weryfikacji).


Obejmuje tył płyty kontrolera kartonem.

Instaluje diody LED i power bank. Musisz tak ustawić power bank, aby można było podłączyć i odłączyć kabel USB, ponieważ w ten sposób kontroler włącza się i wyłącza. Podłącz także interfejs dotykowy do płyty kontrolera i umieść go w pudełku.

Wykonuje wycięcie na kabel USB-A-USB-C na złączu dwóch skrzynek, przytrzymuje go i podłącza do Arduino Nano.

Teraz kontroler jest gotowy.

Mistrz naprawia obudowę za pomocą gumy biurowej. Jeśli następnie pojawią się problemy z czujnikami wykrywającymi dotyk, gdy nie są one obecne, należy umieścić materiał izolacyjny, taki jak folia itp. Pomiędzy wrażliwą na dotyk obudową, płytką drukowaną i przewodami. Podłącz zasilanie bez dotykania czujników.


Krok dziewiąty: Tworzenie skrzynki odbiorczej
Teraz musisz zrobić obudowę dla odbiornika. Kreator wycina kilka okrągłych otworów na potencjometry i diody LED.


Klei płytkę odbiornika, diodę LED, potencjometry śrubowe. Ustawia uchwyty.




Krok dziesiąty: ukończony
Teraz, gdy cały sprzęt jest już zamontowany, czas grać muzykę! Aby to zrobić, potrzebujesz oprogramowania, do którego możesz podłączyć sprzęt. W przypadku Kravox jest to oprogramowanie Pure Data Vanilla, które można pobrać za darmo.

Po zainstalowaniu Pure Data na komputerze musisz go uruchomić i otworzyć plik Kravox.pd. Należy pamiętać, że należy go zapisać na komputerze w tym samym folderze, w którym znajduje się folder drumsamples, z którym jest dostarczany - w przeciwnym razie Pure Data nie będzie w stanie znaleźć plików.
Gdy tylko otworzy się interfejs programu Kravox.pd, musisz otworzyć okno jak na zdjęciu i zainstalować cztery tak zwane urządzenia zewnętrzne wymienione w tym oknie. Ich instalacja jest prosta, wystarczy kliknąć „pomoc” w menu „Wyczyść dane”, wybrać „Znajdź dodatkowe obiekty w Internecie” (może być nieco inny), znaleźć „comport”, „zexy”, „freeverb” i „arraysize”. „jeden po drugim i zainstaluj najnowszą wersję. Teraz cztery obiekty oznaczone jako comport, przepakuj, freeverb i tablica powinny mieć solidny zarys, jak na poniższym rysunku. Może być konieczne ponowne uruchomienie Pure Data.

Po zainstalowaniu urządzeń zewnętrznych możesz podłączyć odbiornik przez USB. Jeśli zmieniłeś kod w części 4, aby używać odbiornika z monitorem szeregowym Arduino, musisz najpierw cofnąć tę zmianę i załadować kod źródłowy do odbiornika Arduino Nano przed podłączeniem i zamknięciem monitora szeregowego Arduino.

Teraz spójrz na okno Pure Data. Jeśli widzisz szybko aktualizowany strumień danych, jest to świetne, ale najprawdopodobniej pokaże ci czerwony komunikat, taki jak ten na pierwszym obrazie, który jest aktualizowany co dwie sekundy.

Czerwony tekst może być nieco inny, ale nadal oznacza to, że Pure Data nie mógł jeszcze połączyć się z odbiornikiem. Wynika to z faktu, że program musi określić, który port USB należy podłączyć. Porty USB mogą być różnie oznaczone na różnych urządzeniach; w MacBooku 2014 2014 Pure Data rozpoznaje oba porty USB jako port szeregowy 3, niezależnie od tego, do którego odbiornika się podłączasz. Następnie kreator użył Kravox z Lenovo Yoga Pad z tylko jednym działającym portem USB, który został oznaczony jako port szeregowy 6. W systemie Windows porty są oznaczone jako 8 i 9. Kreator zaleca po prostu dowiedzieć się, jaki numer port USB działa na twoim urządzeniu . Stworzył dialog jako część interfejsu Kravox.pd (drugie zdjęcie), w którym możesz po prostu klikać liczby, aż urządzenie zacznie działać. Możesz także wypróbować „Pokaż dostępne porty” i przyciski „Pokaż podłączone urządzenia USB”.
Syntezator przestrzenny Kravox na Arduino


Następnie musisz kliknąć „Zapisz”, aby Pure Data spróbowała automatycznie połączyć się z tym portem następnym razem.
Jeśli kod kontrolera został edytowany, musisz ponownie załadować kod.

Pozostaje podłączyć płytę kontrolera do zasilacza. Po wykonaniu tej czynności obudowa interfejsu dotykowego wokół płyty powinna być zamknięta, a część dotykowa obudowy nie powinna dotykać rąk ani niczego innego.

Wszystko jest gotowe, dodatkowe informacje można obejrzeć na filmie.


5.5
5.5
5.5

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij

Radzimy przeczytać:

Podaj go do smartfona ...