Serwisy partnerskie:
Close icon
Serwisy partnerskie

64-klawiszowa matryca MIDI sterowana modułem Arduino, część 2

Article Image
Elmax
W poprzednim numerze opisaliśmy niedrogi sprzęt, który można zbudować do pracy z MIDI, w tym wszechstronną nakładkę kodera MIDI i matrycę klawiszy MIDI do jej obsługi. Opracowaliśmy więcej oprogramowania, aby jeszcze lepiej wykorzystać ten sprzęt i pokażemy, jak można go używać nawet ze smartfonami i tabletami z systemem Android.

Pierwsza część tego artykułu pokazała, jak zbudować prostą matrycę klawiszy MIDI, składającą się z siatki 64 przełączników monostabilnych (tact-switch-y). Są one skanowane przez kompatybilną z systemem Arduino płytkę Leonardo, która działa jako koder MIDI. Wykorzystuje ona swoje peryferia USB do generowania komunikatów MIDI, które mogą być odbierane na komputerze osobistym z oprogramowaniem syntezatora lub cyfrowej stacji roboczej audio (DAW).

Nakładka Leonardo jest również wyposażona w parę 5-stykowych gniazd DIN zgodnych ze standardem MIDI. Jedno ze złączy DIN zostało skonfigurowane jako port MIDI-out a drugie jako port MIDI-in. Port MIDI-out generuje „sprzętowe” komunikaty MIDI, które mogą być przesyłane do portu MIDI-in w urządzeniu takim jak syntezator MIDI.

W ten sposób matryca klawiszy MIDI i koder MIDI tworzą razem ogólne urządzenie wyjściowe MIDI, odpowiednie do wyzwalania dźwięków i nut na dowolnej liczbie urządzeń obsługujących standard MIDI, które mają port USB lub 5-stykowe gniazdo DIN MIDI-in.

Ma również wbudowany bardzo podstawowy syntezator, który po wystąpieniu kluczowych zdarzeń przesyła dźwięki do małego głośnika o mocy 1 W. Sam w sobie tworzy bardzo prosty instrument muzyczny.
Chociaż możliwe jest ręczne podłączenie 64 klawiszy, pokazaliśmy również, jak zbudować matrycę przełączników wykorzystującą płytkę drukowaną, co znacznie upraszcza to zadanie. Matryca przełączników przystosowana jest do montażu kilku typów przełączników naciskowych o różnych rozmiarach.

Spodziewamy się, że niektórzy Czytelnicy wymyślą nowe i interesujące sposoby wykorzystania tego sprzętu. Może to obejmować niestandardowe oprogramowanie enkodera MIDI do pełnienia określonej roli w konfiguracji MIDI. Może to również obejmować wykorzystanie w nietypowy sposób matrycy przełączników w celu uproszczenia połączenia ze sprzętem.

Jeśli chcesz dowiedzieć się więcej o genezie i działaniu MIDI, zobacz panel „Co to jest MIDI?” pod koniec tego tekstu.

Matryca LED

Chociaż naszym zamiarem było stworzenie taniego i użytecznego urządzenia wejściowego MIDI, wykorzystaliśmy dużo miejsca na płytce drukowanej matrycy przycisków, aby dodać dodatkowe funkcje. W szczególności znajdują się tam pola umożliwiające zamontowanie podświetlanych przełączników.

Są one również podłączone w matrycy do pary 8-drożnych złączy (CON3 i CON4), z rezystorem szeregowym do ograniczania prądu LED w każdym rzędzie.

W pierwszej części pokazaliśmy podstawowy kod do sterowania diodami LED, ale oryginalny sprzęt nie mógł jednocześnie wykrywać naciśnięć klawiszy i sterować diodami LED. Teraz zajmiemy się tą kwestią.

Ograniczenia Leonardo

Problem polega na tym, że w module Arduino Leonardo nie ma zbyt wielu wolnych wejść/wyjść; z pewnością nie na tyle, aby jednocześnie sterować diodami LED i skanować przełączniki.

W rzeczywistości nie ma wielu kompatybilnych płytek Arduino, które by na to pozwalały i nadal zapewniały obsługę peryferii USB.

Arduino Mega ma wystarczającą liczbę portów, ale niestety jego obsługa magistrali USB jest ograniczona do danych szeregowych za pośrednictwem oddzielnego układu scalonego USB-serial.

W ostatnim numerze zauważyliśmy, że jeśli chcesz po prostu zapalić wszystkie diody LED, możesz zwyczajnie podłączyć szyny zasilania do CON3 i CON4 na płytce drukowanej matrycy przycisków.

Jeśli jednak chcesz niezależnie sterować diodami LED, najprostszym podejściem jest dodanie drugiej płytki mikroprocesora.

Możesz chcieć podświetlić każdy klawisz jako podpowiedź, aby wskazać, który z nich należy nacisnąć jako następny. Może to być przydatne jako narzędzie do nauki, pomagając w opanowaniu utworu muzycznego na pamięć.

Innym przykładem może być zapalanie diod LED w rytm naciskanych klawiszy. To właśnie zrobiliśmy w naszym przykładowym kodzie.


Adaptacja do wydania polskiego – Andrzej Nowicki

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: KLAWIATURA MIDI, 64-KLAWISZOWA KLAWIATURA, ARDUINO, MUSICAL INSTRUMENT DIGITAL INTERFACE, ARDUINO LEONARDO, DIGITAL AUDIO WORKSTATION, NAKŁADKA ENKODERA MIDI, MATRYCA PRZYCISKÓW, NADAJNIK MIDI, ODBIORNIK MIDI, ARDUINO IDE, MIDI LIBRARY, MIDIUSB
AUTOR
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"