Fórum témák
» Több friss téma |
Cikkek » MIDI kontroller Minimoog-hoz MIDI kontroller Minimoog-hoz
Szerző: Medve, idő: Nov 18, 2020, Olvasva: 9862, Oldal olvasási idő: kb. 2 perc
A program Arduino IDE-vel készült, első dolga, hogy beolvassa a 80 analóg bemenet értékét és azt egy tömbbe letárolja. A kezelőszerv címének alsó négy bájtja címzi a 16-ból kiválasztott egy bemenetet, az 5 modul kimenete pedig 5 külön AD bemenetre jut. Hogy melyik kerül letárolásra, azt a cím tartománya határozza meg. A következő beolvasásnál eldöntjük, hogy változott-e valamelyik kezelőszerv állása. Ha igen, akkor azt az adatot kiküldjük, de csak akkor, ha egy értéknél nagyobb a változás. Így az esetleges kontakthibák esetén nem árasztja el felesleges adatokkal a PC-t. Az adatok kiírását egy LED jelzi, ha ez folyamatosan jelez, akkor vélhetőleg valamelyik poti erősen kontakthibás, vagy a multiplexer bemenete szakadt és zavart szed fel. A MIDI üzenet 3 bájtból áll. Az első egy fix 177-es érték, ez a 2-es MIDI csatorna vezérlőbájtját jelenti, majd a kezelőszerv sorszáma, és annak értéke következik. Itt következik egy kis trükk, mert a 32-64-es címeket a PC-s szoftver nem értelmezi, így ezek a cikluson kívül kerülnek kiírásra a Serial.write utasítással, 115200 bauddal. Ezek az adatok a PC-be egy USB porton kerülnek be, amit a PC egy UART portnak értelmez s egy MIDI portra fordítja be. Ha a soros adatkiírást a MIDI szabványnak megfelelő 31250 bauddal végezzük, akkor azt egy "igazi" MIDI csatlakozóra is vezethetjük. A processzor modul D8-as lábán van egy gomb. Ezt megnyomva a szoftver az összes kezelőszerv állását kiküldi. Itt említhető meg a megoldás egy jellegzetessége (hibája?), miszerint is az adatáramlás egyirányú. Ha a kontrolleren mozdul a kezelőszerv, az a képernyőn is megtörténik, és a háttértárba elmenthető. Ha viszont az elmentett beállításokat betöltjük, vagy a képernyőn módosítjuk a beállításokat, akkor az a kontrolleren nem módosul. Továbbá vannak a kontrollerrel nem állítható, de elmentődő értékű kezelőszervek is. Ezért az eszközt úgy célszerű használni, hogy a munka elején az előbb említett gombbal az összes kezelőszerv értékét átírjuk, aztán csak a kontrollerrel állítjuk be a kívánt hangszínt, ügyelve a képernyő és a hardver megfelelőségére, majd elmentjük a munkánkat. Visszatöltéskor természetesen a megfelelőség megszűnik, hacsak nem hagytuk úgy a kontroller kezelőszerveit. Ezt a sajátosságot vegye figyelembe a tisztelt utánépítő! A program tartalmaz még egy, a hibakeresést megkönnyítő szubrutint, ami a kezelőszervek értékeit írja ki egy soros terminálra, továbbá van még lehetőség egy i2C-s LCD-t használni, ezen lábak szabadok. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |