MIDIfikowanie organów elektronicznych: 6 kroków
MIDIfikowanie organów elektronicznych: 6 kroków
Anonim
MIDIfikowanie Organu Elektronicznego
MIDIfikowanie Organu Elektronicznego

Ta instrukcja poprowadzi Cię przez zabranie starego, niekochanego organu elektronicznego, który masz w garażu lub piwnicy, i przekształcenie go w nowoczesny instrument muzyczny. Nie będziemy się zbytnio rozwodzić nad szczegółami konkretnego organu, który posiadasz, poza stwierdzeniem, że zasadniczo typowa klawiatura muzyczna to zestaw klawiszy, które łączą się po naciśnięciu do wspólnej szyny. W starym świecie obok klawiszy istniały znaczne obwody, które powodowały przekazywanie wyjścia do magistrali, która z kolei była wzmacniana i przekazywana do systemu audio. Dziś klawiatura to zestaw czujników; odczytujemy stan poszczególnych klawiszy i wysyłamy zmiany do syntezatora programowego, który jest sterowany poleceniami MIDI.

Instruktaż obejmuje większość zaangażowanego procesu, od zbierania cyfrowego stanu kluczy, zarządzania nim za pomocą mikroprocesora Arduino, budowania strumienia danych MIDI i przekazywania go do komputera (w tym Raspberry Pi), na którym działa syntezator.

Krok 1: Wyabstrahowana klawiatura

Poniżej przedstawiono abstrakcyjne organy elektroniczne, w których każdy rząd to zestaw klawiszy, przystanków lub innych przełączników sterujących. Wpisy w kolumnie 0 reprezentują poszczególne klawisze, a - magistralę, do której klawisz jest podłączony w momencie jego wciśnięcia. 61-klawiszowy Great Manual może znajdować się w pierwszym rzędzie, Swell Manual w drugim rzędzie, Pedały w trzecim, a Stops itp. w czwartym. Wiersze faktycznie zawierają 64 elementy ze względu na ich cyfrowe znaczenie jako potęga 2 poza 61. W rzędach klawiatury klawisze są zgodne z normalną konwencją muzyczną z C po lewej stronie.

Magistrala 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Magistrala 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Magistrala 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Magistrala 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Każda magistrala jest niezależna i elektrycznie odizolowana od swoich rówieśników. Pierwsze 8 elementów wyróżniono pogrubioną czcionką, z 8 takimi blokami w powyższym układzie. W następnym kroku wyszczególniono płytkę drukowaną, która działa na pogrubionych elementach i pozostałych 7 blokach.

Klawisze zostały przedstawione jako zera powyżej. Możemy pójść trochę dalej i powiedzieć, że klawisz jest cyfrą 1 po naciśnięciu, a 0 w przeciwnym razie. A klawisze mogą być konwencjonalnymi muzycznymi białymi bemolami lub czarnymi krzyżykami, pedałami organowymi, organami lub zestawem obrotowych przełączników, które mogą dać nam brzmienie saksofonu. Po prostu traktujemy instrument jako zestaw przełączników na zestawie szyn i zasadniczo strumień cyfrowy zer i jedynek.

Krok 2: Okablowanie z klawiatur

Okablowanie z klawiatur
Okablowanie z klawiatur
Okablowanie z klawiatur
Okablowanie z klawiatur

Aby pomóc w okablowaniu klawiatur, zbudowano płytkę drukowaną przy użyciu Eagle CAD. Jego rozmiar to około 96 mm x 43 mm, a wymaganych jest 8, rozciągających się z tyłu zespołów klawiatury organowej.

Przyjrzyjmy się szczegółowo tej płytce drukowanej (PCB). Lewy obrazek to przód płytki, na której montowane są komponenty, a po prawej jej tył, na którym lutujemy komponenty.

Po pierwsze, komponenty 2X3 na górze są przeznaczone do podłączenia do klawiszy powyżej, przy czym dwie górne połączenia magistrali 0 i 1, następna para 2 i 3, a dolna para również magistrale 2 i 3. Stwierdzono, że PCB Nagłówek 2X3 był wystarczająco sztywny, aby pomieścić pojedynczy przewód połączeniowy z klawiszy po prostu wepchniętych do nagłówka, podobnie jak okablowanie ekranu Arduino. Przewód łączący, którego użyłem, został odzyskany z oryginalnego organu; ma średnicę 0,75 mm.

Tak więc każdy nagłówek 2X3 zawiera kolumnę pogrubionych, podświetlonych klawiszy lub ogólnie jedną nutę. Płyta wymaga zatem 8 takich nagłówków. Obraz zawiera jeden z tych żeńskich nagłówków w lewym górnym rogu. Środkowa część płytki jest wypełniona 32 diodami (1N4148 lub podobnymi), z których każda odpowiada jednemu z czerwonych wejść. Polaryzacja diody jest oznaczona na płytce, z katodą (czarny pasek) na górnym końcu płytki. Pojedyncza dioda jest pokazana w pozycji 4. Na koniec pojedyncze męskie złącze 2X5 wypełnia najniższą część płytki. Jego górne 2 piny nie są połączone. Pin 1 znajduje się w prawym dolnym rogu i łączy się z 4 skrajnymi lewymi diodami, Pin 2 z diodami 5-8, a na końcu 29-32 łączy się z pinem 8. Nagłówek można wyciąć z dłuższej sekcji DIL, jak pokazano na tablica. Okablowanie między różnymi komponentami jest prowadzone w samej płytce drukowanej, a jedyne lutowanie wymaga diod i nagłówków.

8 z tych kompletnych desek jest zamontowanych bezpośrednio pod podręcznikami za pomocą dostarczonych otworów montażowych, rozciągających się wygodnie w poprzek organów. Funkcją tej płyty jest więc pobranie jednego bloku 8 kluczy przez 4 magistrale i przedstawienie go do męskiego złącza, do którego zostanie podłączony 10-drożny kabel taśmowy w celu przeniesienia do następnego etapu. Projekt tablicy można pobrać z dostarczonego pliku zip.

Krok 3: Konsolidacja wyjść klawiatury w rejestrach przesuwnych

Konsolidacja wyjść klawiatury w rejestrach przesuwnych
Konsolidacja wyjść klawiatury w rejestrach przesuwnych

Wymagane są dwie dodatkowe płytki drukowane, jak pokazano powyżej. Są one znane jako DIN R5 i są popularne w świecie MIDI, chociaż zapewniają po prostu funkcję rejestru przesuwnego. Po pierwsze, w górnej, poziomej sekcji, można zobaczyć 4 męskie złącza 2X5, które łączą się za pomocą kabla taśmowego z odpowiednikiem 2X5 na 8 płytach powyżej. Potrzebujemy dwóch płyt DIN, aby pomieścić 8 takich kabli.

Dalej na płycie znajdują się układy scalone IC, które tworzą 32-bitowy rejestr przesuwny, a na koniec interesujące nas są 2 kolejne nagłówki 2X5, z których jeden (J2) łączy się z kolejnymi płytami DIN (nasza druga), a drugi J1 do nasz mikroprocesor Arduino lub podobny do Arduino.

Podsumowując, mamy -

  • Do 4 autobusów 64-klawiszowych zasilających
  • 8 tablic po 32 wejścia, 8 wyjść na magistralę
  • te 64 wyjścia zasilają 2 32-bitowe rejestry przesuwne
  • mikroprocesor Arduino będzie krążył po szynach

Krok 4: Składanie sprzętu

Składanie sprzętu
Składanie sprzętu
Składanie sprzętu
Składanie sprzętu
Składanie sprzętu
Składanie sprzętu
Składanie sprzętu
Składanie sprzętu

Połączenia między Arduino, dwiema płytami DIN i kablami wstążkowymi z kompleksu klawiszy organowych są pokazane na powyższym obrazku. Zauważ, że J2 drugiego DIN jest po prostu puste.

W złączach zastosowano technologię IDC (styk izolacyjno-przemieszczeniowy), a przewody nie wymagają zdejmowania izolacji ani separacji. Nakłada się je na kabel za pomocą dostępnego u hobbystów kompresora. Po lewej stronie końcówkę karbowanego kabla można przygładzić żyletką; na środku pod złączem znajduje się gniazdo żeńskie 2X5; a po prawej widok złącza z góry.

Płyty DIN i niestandardowe płytki PCB zostały przymocowane do stolarki organowej za pomocą okrągłych mosiężnych wkrętów do drewna i przekładek. Powyżej pokazano częściowy widok niestandardowych płytek PCB zamontowanych w organach. Górne kable łączące łączą ograniczniki lub elementy sterujące z deskami, a masa po lewej stronie emanuje z pedałów. Wreszcie, usunięcie generatorów tonów i innych różnych funkcji oryginalnych organów umożliwiło ponowne wykorzystanie pustej szafki do przechowywania wina.

Krok 5: Kompleks Arduino

Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino
Kompleks Arduino

Teraz zostanie omówiony kompleks Arduino widoczny na lewo od dwóch płyt DIN powyżej. Składa się z trzech odrębnych warstw, połączonych ze sobą jako ekrany Arduino. Płytki PCB składające się na warstwy są przypadkowo pokolorowane na niebiesko, zielono i czerwono.

Warstwa niebieska (u góry) to osłona wyprodukowana przez Freetronics, która zapewnia wyświetlacz ciekłokrystaliczny 16X2. (2 rzędy po 16 znaków). Nie jest to absolutnie niezbędne, ale jest niezwykle przydatne przy sprawdzaniu działania klawiszy, pedałów i przystanków. Jest napędzany przez bibliotekę LiquidCrystal, a inne warianty sprzętu można łatwo zastąpić.

Czerwona warstwa (na dole) to Teensy 3.2 zamontowana na płycie Sparkfun Teensyduino. Teensy oferuje bezpośrednią obsługę MIDI, a poza tym zachowuje się jak Arduino UNO. Tak więc korzystanie z Teensy pozwala zaoszczędzić kolejne komponenty. Złącze zasilania (5 V 2 A) znajduje się na dole po lewej stronie, a złącze USB obsługujące wyjście szeregowe lub MIDI pośrodku po lewej stronie. Nagłówki na górnej i dolnej krawędzi zapewniają standardową funkcjonalność osłony Arduino.

Warstwa zielona (wciśnięta między niebieską a czerwoną) to niestandardowa płytka PCB. Jego celem jest szerokie wspieranie bitów i elementów, takich jak połączenie z płytami DIN, oraz odcinanie okablowania zewnętrznego. Część jego funkcjonalności jest zbędna. Zawiera pewne obwody do obsługi MIDI za pośrednictwem standardowego Arduino UNO. Zapewnia również męskie złącze 2X5 do podłączenia kabla taśmowego do złącza J1 na pierwszej płycie DIN. Inne funkcje obejmują obsługę regulacji głośności; oryginalny Organ wykorzystywał potencjometr 10K (potencjometr) napędzany przez stopkę.

Cztery poziome złącza zapewniają standardową łączność ekranu Arduino z płytką Teensy poniżej i wyświetlaczem ciekłokrystalicznym. Nadruk przypominający dworzec autobusowy w lewym dolnym rogu jest pozostałością, a długi pionowy nagłówek po lewej stronie zapewnia łączność z czterema autobusami, regulacją głośności i uziemieniem.

Niestandardowa płytka została opracowana przy użyciu Eagle CAD, a pliki zip kompleksu Gerber wysłane do producentów PCB są dostępne w pliku zip PCB2.

Krok 6: Oprogramowanie Arduino

Oprogramowanie zostało pierwotnie opracowane dla Arduino UNO, a później zostało zmienione z bardzo kilkoma zmianami w użyciu Teensy. Użycie pinów pozostaje bez zmian.

Wyświetlacz ciekłokrystaliczny wykorzystuje pół tuzina pinów i zdecydowano się użyć pinów analogowych w trybie cyfrowym, aby uzyskać blok sąsiednich pinów dla magistral. Regulacja głośności wykorzystuje inny pin analogowy w trybie analogowym.

Znaczna część oprogramowania zajmuje się odczytywaniem poszczególnych klawiszy klawiatury, pedału i stopu poprzez włączanie kolejno każdej szyny i przenoszenie wartości bitów z rejestrów przesuwnych dostarczanych przez płyty DIN.

Środowisko niższego szczebla zazwyczaj obejmuje procesor z systemem Windows, UNIX lub Linux oraz syntezator oprogramowania, taki jak FluidSynth, który z kolei może być zarządzany przez jOrgan. FluidSynth jest ostatecznie sterowany przez jedną lub więcej Soundfontów, które określają, jaki dźwięk jest generowany po odebraniu określonego polecenia MIDI. Istnieje pewna analogia z czcionkami edytora tekstu. W przypadku klawiatury i pedałów zmiana w stosunku do poprzedniego skanowania spowoduje wygenerowanie sekwencji MIDI Note On lub Note Off. Skrajny lewy klawisz to MIDI 36 i zwiększa się w poprzek klawiatury. Indeks magistrali z łatwością zapewni zakres dla numeru kanału MIDI. W przypadku klawiszy stop generowane są sekwencje sterujące programu MIDI lub rozsądne może być generowanie Note On/Off i pozostawienie interpretacji, dostosowania i rozszerzenia jOrganowi lub podobnemu oprogramowaniu MIDI downstream. Niezależnie od przyjętego kursu, ostateczna decyzja jest narzucana przez definicję dalszych Soundfontów. Oprogramowanie było używane w różnych wersjach do generowania MIDI przez USB do systemu Windows obsługującego aplikację Wurlitzer i FluidSynth oraz do Raspberry Pi z FluidSynth i General MIDI Soundfont. Ten opis jest wprawdzie pobieżny, ale każdy, kto zna środowisko Arduino lub C, nie będzie miał trudności z jego zmianą do własnych celów; istnieje rozsądna dokumentacja wewnętrzna i rozsądna modułowość.

Oprogramowanie Arduino znajduje się w pliku organino.zip.