Universal MIDI controller. Uniwersalny sterownik MIDI

Podobne dokumenty
AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

Politechnika Wrocławska

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Moduł uruchomieniowy mikrokontrolera MC68HC912B32

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Adres rejestru. szesnastkowo. Typ zmiennej. Numer funkcji Modbus. Opis zmiennej. (dziesiętnie)

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Złącza stosowane w systemach audio

dokument DOK wersja 1.0

E-TRONIX Sterownik Uniwersalny SU 1.2

Kod produktu: MP01105

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

Politechnika Białostocka. Wydział Elektryczny. Katedra Automatyki i Elektroniki. Kod przedmiotu: TS1C

2.1 Porównanie procesorów

Elektroniczne instrumenty muzyczne MIDI. w elektronicznych instrumentach muzycznych

Smart home managing by Ethernet micro server. Zarządzanie systemem inteligentnego domu za pomocą mikro serwera Ethernet. 1. Cele

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

WPROWADZENIE Mikrosterownik mikrokontrolery

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Cechy karty dzwiękowej

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Parametryzacja przetworników analogowocyfrowych

Electronic Infosystems

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

Generator tonów CTCSS, 1750Hz i innych.

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Interfejs urządzeń peryferyjnych

Problematyka sieci miejscowej LIN

Komunikacja w mikrokontrolerach Laboratorium

Programator AVR USBasp

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Uniwersalna płytka generatora tonów CTCSS, 1750Hz i innych.

Programowanie mikrokontrolerów. 15 stycznia 2008

Wykrywacz kłamstw. Grzegorz Puzio, Łukasz Ulanicki 15 czerwca 2008

Elektroniczne instrumenty muzyczne MIDI. w elektronicznych instrumentach muzycznych

WIZUALIZACJA I STEROWANIE ROBOTEM

Hardware mikrokontrolera X51

Interface sieci RS485

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

W.J WIELICZKA

Politechnika Białostocka

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Architektura komputerów. Układy wejścia-wyjścia komputera

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Złącza stosowane w systemach audio

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Opis czytnika TRD-FLAT 2LN ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

XII Konferencja Sieci i Systemy Informatyczne Łódź, październik 2004

TEMPERATURE CONTROL SYSTEM BY THE CAN BUS UKŁAD REGULACJI TEMPERATURY POPRZEZ MAGISTRALĘ CAN

Mikrokontrolery AVR techniczne aspekty programowania

Instytut Teleinformatyki

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle


ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430

Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

Zdjęcie Opis Cena netto Cena brutto

KONTROLER SYSTEMU. Skrócona instrukcja obsługi. Polish SPC-6000

Kod produktu: MP-W7100A-RS232

TECHNIKA MIKROPROCESOROWA II

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

GATE OPENER. Instrukcja Obsługi i Konserwacji. Sterownika GSM-21. Instrukcja obsługi sterownika GSM-21

Politechnika Śląska Wydział Elektryczny Katedra Mechatroniki. Koncepcja przyłączania mikroinstalacji prosumenckich (gniazd) do laboratorium ilabepro

Dokumentacja Techniczno ruchowa: Moduł PSI (ver. PSI 1.0)

interfejs szeregowy wyświetlaczy do systemów PLC

e. Antena musi spełniać normę min. IP Zasilacz

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Budowa 0. Schemat i opis toru sygnałowego 0. Ręczne przełączanie pętli 0. Ustawianie kanału MIDI 0. Sterowanie za pomocą rozkazów MIDI 0

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

System powiadamiania TS400

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Wykład 4. Interfejsy USB, FireWire

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Moduł komunikacyjny Modbus RTU w standardzie RS-485 do ciepłomierza SonoMeter 31 i przelicznika energii Infocal 9

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Bezpieczeństwo technologii Bluetooth

ZL8AVR. Płyta bazowa dla modułów dipavr

IMP Tester v 1.1. Dokumentacja Techniczno Ruchowa

Generator tonów CTCSS.

Budowa 2. Schemat i opis toru sygnałowego 4. Ręczne przełączanie pętli 4. Ustawianie kanału MIDI 4. Sterowanie za pomocą rozkazów MIDI 4

Wykład 3. Interfejsy CAN, USB

Sprawdzian test egzaminacyjny 2 GRUPA I

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

Transkrypt:

Tomasz Kuźma II rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy Universal MIDI controller Uniwersalny sterownik MIDI Keywords: MIDI controller, MIDI, control device Słowa kluczowe: sterownik MIDI, sterowanie urządzeniami, MIDI 1. Wstęp Sterownik (bądź kontroler) MIDI służy do zewnętrznego sterownia urządzeniami muzycznymi. Przykładami takich urządzeń mogą być: miksery cyfrowe, keyboardy, multiefekty gitarowe bądź wokalne. Generalnie każde urządzenie, które posiada interfejs MIDI może zostać obsłużone przez taki sterownik. Zakres kontroli parametrów zależy tylko i wyłącznie od sterowanego urządzenia, gdyż sterownik wysyła komunikaty odwołujące się bezpośrednio do parametrów urządzenia. 2. Protokół MIDI Do komunikacji z urządzeniami sterownik wykorzystuje protokół MIDI. MIDI (Musical Instrument Digital Interface), z ang. cyfrowy interfejs instrumentów muzycznych ) jest to system (interfejs, oprogramowanie i zestaw komend) służący do przekazywania informacji pomiędzy elektronicznymi instrumentami muzycznymi oraz do sterownia nimi. Standard MIDI został stworzony w 1983 roku w celu ujednolicenia komunikacji cyfrowych syntezatorów. Wraz z rozwojem komputerów osobistych i technologii multimedialnych standard MIDI został zaadaptowany do komunikacji między komputerem a kartą dźwiękową. Pozwoliło to komponować muzykę oraz odtwarzać ją korzystając wyłącznie z komputera (przy użyciu odpowiedniego oprogramowania). MIDI zawiera standard sprzętu oraz język komend. Informacje przesyłane są za pomocą połączenia szeregowego z prędkością 31250 bitów na sekundę. Pojedynczy komunikat MIDI składa się z trzech bajtów: Rys. 1 Ramka komunikatu MIDI Fig. 1 MIDI message frame

3. Budowa urządzenia Urządzenie zostało wykonane w oparciu o mikrokontrolery firmy Atmel. Jeden z nich (Atmega32) pełni rolę głównego mikrokontrolera. Obsługuje on wyświetlacz LCD, czteroprzyciskową klawiaturę, dzięki której poruszamy się po ustawieniach sterownika, sześć nożnych przełączników oraz transmisję komunikatu MIDI. Drugi mikrokontroler to Atmega8 i pełni on jedynie funkcję odbiorczo- nadawczą, gdyż wykonany przeze mnie sterownik ma możliwość przyłączenia do niego zewnętrznego sterownika. Można to było zrealizować na jednym mikrokontrolerze jednakże zależało mi aby sterownik obsługiwał niezależnie i w tym samym czasie przełączniki podłączone do niego jak również zewnętrzny sterownik. Dzięki temu nie ma możliwości żeby jakikolwiek komunikat został pominięty. Mikrokontrolery komunikują się ze sobą na zasadzie wystawiania sygnału logicznego 1 lub 0. Jeśli jeden mikrokontroler wysyła komunikat MIDI to drugi czeka aż pierwszy skończy. W przeciwnym wypadku doszłoby do konfliktu komunikatów i urządzenie, którym sterujemy zostałoby błędnie obsłużone. Jeden jak i drugi mikrokontroler jest taktowany zewnętrznym kwarcem o częstotliwości 16 MHz. Jak wcześniej pisałem komunikacja MIDI wymaga szeregowego przesyłania bitów z prędkością 31250 b/s z maksymalnym błędem ±1%. Wewnętrzny oscylator nie sprostałby takim wymaganiom. Reszta elementów na płytce to układ zasilania oraz peryferia do sprzętowej obsługi MIDI. Układ zasilania jest oczywiście stabilizowany. Dzięki temu możemy podłączyć zasilacz z zakresu 6-18 V dbając jedynie o odpowiednią polaryzację. Rys. 2 Schemat układu Fig. 2 Device wiring diagram

Rys. 3 Fotografia urządzenia Fig. 2 Photo of device Program sterownika został napisany w języku C, użyty kompilator to WinAVR. Po optymalizacji kod zawiera 700 linii. Przykładowa funkcja programu (obsługa menu): void switchs (uint8_t posx, uint8_t tabset[]) if(sw3) _delay_ms(300); while(!sw4) if(sw3) posx++; _delay_ms(300); if(posx>6)

posx=1; if(posx==1) LCD_GoTo(0, 0); LCD_WriteText("FOOTSWITCH CHANNEL: "); LCD_WriteData(((tabset[0]+1)/10)+48); LCD_WriteData(((tabset[0]+1)%10)+48); LCD_WriteText(" "); sw1sw2(&tabset[0], 0, 15); if(posx==2) LCD_GoTo(0, 0); LCD_WriteText("FOOTSWITCH TYPE: "); if(tabset[1]==0) LCD_WriteText("MOMENTARY "); if(tabset[1]==1) LCD_WriteText("LATCHING "); sw1sw2(&tabset[1], 0, 1); if(posx==3) LCD_GoTo(0, 0); LCD_WriteText("FOOTSWITCH MODE: "); if(tabset[2]==0) LCD_WriteText("PROGRAM CHANGE "); if(tabset[2]==1) LCD_WriteText("CONTROL CHANGE "); sw1sw2(&tabset[2], 0, 1); if(tabset[2]==0) if(posx==4)

lcd3dig("prog NUMBER OFF: ", tabset[3]); sw1sw2(&tabset[3], 0, 127); if(posx==5) lcd3dig("prog NUMBER ON: ", tabset[4]); sw1sw2(&tabset[4], 0, 127); if(posx>5) posx=1; if(tabset[2]==1) if(posx==4) lcd3dig("control NUMBER: ", tabset[5]); sw1sw2(&tabset[5], 0, 127); if(posx==5) lcd3dig("ctrl VELOCITY OFF: ", tabset[6]); sw1sw2(&tabset[6], 0, 127); if(posx==6) lcd3dig("ctrl VELOCITY ON: ", tabset[7]); sw1sw2(&tabset[7], 0, 127); _delay_ms(300); LCD_Clear(); 4. Zastosowanie sterownika Wykonany przeze mnie sterownik może działać z wieloma urządzeniami muzycznymi o czym była mowa we wstępnie. W zaprzyjaźnionym zespole muzycznym kontroler świetnie się spisuje według załączonego poniżej schematu:

Rys. 3 Schemat zastosowania Fig. 4 Scheme of application 5. Podsumowanie Wykonany przeze mnie sterownik to stosunkowo proste urządzenie, jeśli chodzi o budowę elektroniczną, czego o kodzie programu nie można powiedzieć. Jest on dość obszerny oraz skomplikowany i niestety bez niego urządzenie byłoby bezużyteczne. Uważam, że mój kontroler może z powodzeniem konkurować z produktami komercyjnymi, gdyż ma wiele zalet, których inne sterowniki nie mają.

L i t e r a t u r a [1] Summary of MIDI Messages www.midi.org/specifications/item/table-1-summary-of-midi-message [2] MIDI DIN Electrical Specification www.midi.org/specifications/item/midi-din-electrical-specification