Podczas gdy panele MIDI typu matryca są popularne jako kompaktowy sposób sterowania i łączenia się ze sprzętem MIDI, liniowy układ klawiatury, taki jak w fortepianie, jest bardziej „standardowy” i dla wielu osób dość intuicyjny.
Jest to modułowy dodatek do sprzętu MIDI, który opisaliśmy w EdW w grudniu i styczniu 2023/24, na podstawie oryginalnego tekstu w Silicon Chip-ie (siliconchip.com.au/Series/363).
Podobnie jak opisana tam matryca MIDI, niniejsza prościutka klawiatura nie musi być używany wyłącznie do celów sterowania MIDI lub muzycznych.
Matryca MIDI została zaprojektowana do użytku z płytką Arduino Leonardo, ponieważ Leonardo może z łatwością zapewnić natywny interfejs USB MIDI dzięki wszechstronnym bibliotekom Arduino MIDI.
Zademonstrowaliśmy również kilka różnych szkiców programów, które można uruchomić na Leonardo, aby uzyskać różne funkcje, a także pokazaliśmy kilka sposobów łączenia się z oprogramowaniem zarówno na komputerze PC, jak i smartfonie z systemem Android.
W tym samym tekście zaprezentowaliśmy nakładkę Arduino, która umożliwia podłączenie sprzętu do szerokiej gamy urządzeń MIDI za pomocą standardowych złączy DIN.
Opisana obecnie klawiatura ma zastąpić matrycę 64 przycisków, jako część większej konstrukcji, tak jak zostało to przedstawione we wcześniejszych częściach tej serii. Zapoznaj się z tymi artykułami, zwłaszcza z pierwszą częścią, aby zrozumieć, w jaki sposób można używać matrycy (a teraz klawiatury). Do przekształcenia przedstawionej tu klawiatury w minimalny koder MIDI potrzebna jest co najmniej płytka Arduino Leonardo i kilka przewodów połączeniowych.
Matryca
Oryginalna matryca jest w zasadzie tylko tablicą przycisków, którą moduł Leonardo może skanować, aby odbierać dane wejściowe użytkownika. W naszym oprogramowaniu MIDI każde naciśnięcie klawisza jest konwertowane na nutę.
Każdy rząd lub kolumna matrycy jest podłączona do cyfrowego wejścia modułu Leonardo. Korzystając z tradycyjnej techniki skanowania każdego rzędu po kolei, można wykryć poszczególne naciśnięcia przycisków.
W naszej wersji oprogramowania wiersze są podłączone do końcówek skonfigurowanych jako wejścia z wysokorezystancyjną polaryzacją do wysokiego poziomu logicznego. Początkowo wszystkie końcówki kolumn są również ustawione na tryb wejścia o wysokiej impedancji.
Każda kolumna jest kolejno konfigurowana jako wyjście i ustawiana w stan niski. Jeśli dowolny przycisk podłączony do tej kolumny zostanie naciśnięty, odpowiadający mu styk wiersza zostanie również ustawiony przez styki przycisku w stanie niskim. Skanując kolejno kolumny, możemy wykrywać naciśnięcia poszczególnych przycisków.
Chociaż ten system jest prosty, nie może wykryć wielu jednoczesnych naciśnięć klawiszy; w tym celu każdy przycisk musiałby być wyposażony w diodę, aby zapobiec niejednoznacznym zwarciom linii i kolumn przenoszącymi się przez matrycę (komputerowi gracze znają to jako problem „trzech klawiszy”, generujący wirtualne „naciśnięcie” czwartego). Nasza matryca pomija te diody na rzecz prostoty i kompaktowości, a ta liniowa klawiatura również nie próbuje rozwiązać tego problemu.
Nowa klawiatura
Rozważaliśmy klawiaturę liniową dla naszego oryginalnego projektu, ale nie mogliśmy znaleźć sposobu, aby była ona zarówno kompaktowa, jak i funkcjonalna.
Teraz opracowaliśmy modułową konstrukcję, dzięki czemu można zbudować użyteczną klawiaturę, która nadal jest kompaktowa, lub można ją rozszerzyć aż do 64 klawiszy, co skutkuje urządzeniem o długości ponad metra! Ale nadal potrzebujesz tylko 16 przewodów, aby podłączyć ją do Arduino.
Podstawową jednostką klawiatury jest pojedyncza płytka drukowana z ośmioma przyciskami. Każdy klawisz jest podłączony do tego samego styku w rzędzie, co pozostałe, a także do jednego z ośmiu styków w kolumnie. Pojedynczy moduł klawiatury jest identyczny z jednym rzędem matrycy.
Adaptacja do wydania polskiego – Andrzej Nowicki