twee projectjes voor een Xair18 mixer en een Arduino NANO

Grumble

Happy Drumming
Lid sinds
21 juli 2008
Berichten
506
Locatie
Eibergen
Ik heb twee kleinere projectjes voor een Xair18 mixer, waarbij ik maar enkele midi opdrachten moet sturen naar een Behringer Xair18 Mixer.
Dit is het eerste projectje, het volgende projectje komt hier later.
In dit eerste artikel was de vraag of en hoe de Xair18 met één knop (of potmeter, maar ik heb voor een Rotary Encoder gekozen) het volume kan regelen.
Daarvoor gebruik ik een Arduino Nano die via een midi din kabel data uitstuurt naar de Xair18.
Ook is een bi-color LED gebruikt (rood en groen) waarbij de rode led oplicht als de MUTE knop is ingedrukt, en groen oplicht als de fader vrijgegeven is. Ook dimt de groene helderheid als de fader omlaag gaat (geluid zachter) en de groene led helderder oplicht als de fader omhoog gaat, en het geluid dus harder wordt.
Als je op de tablet kijkt naar de controls van de Xair18 zie je ook een rood vierkantje om de Main Mute verschijnen en kan je de Mani Fader zien schuiven.
Ik heb deze tabel gebruikt:
MIDI tabel Xair18.png

Deze tabel geeft bij Main Mute aan dat je een Program Change (B0 hex) moet sturen naar kanaal 2 (01 Hex), Program Change nummer 31 (1F hex) en een waarde van 0 of 127 (0 of 7F hex).
Hier ben ik even vastgelopen omdat ik de Main Mute maar niet "uit" kon zetten terwijl ik er toch een 0 naartoe stuurde, maar ik ging er vanuit dat 0 "uit" was en 7F hex het kanaal "aan" zou zetten...
Maar het heet MUTE, dus maximaal mute is "uit" en minimaal mute is "aan". Vervolgens moest ik de Main Fader kunnen laten schuiven, en daar is het precies andersom als de mute: 0 (00 hex) is uit, en staat de schuif in de onderste stand en 127 (7F hex) staat de schuif bovenin en is het geluid maximaal volume!
Dus ik stuur B1 1F 7F om te muten en B1 1F 00 om te on-muten.
Om de Main Fader te bewegen stuur ik Program Change (B0 hex) naar kanaal 1, (bedenk daarbij dat de telling voor de kanalen bij 0 begint, dus kanaal 1 = 0, kanaal 2 = 1 enz.) dus B0 hex en het nummer van de Program Change is 31 (1F hex) en de fader stand ligt tussen 0 (00 hex) en 127 (7F hex), wat 128 stapjes zijn.
Het schema is heel eenvoudig:
Fader_Mute.png

Het geheel wordt gevoed via een micro usb connector. De Rotary Encoder (SW1) geeft een interrupt op PD2, in de interrupt service routine wordt een bool gezet die aangeeft dát er gedraaid is en ook een bool die aangeeft of er links danwel rechtsom gedraaid is.
De drukschakelaar van de rotary encoder geeft ook een interrupt op PD3, waar in de interrupt service routine een bool gezet wordt dát de knop is ingedrukt.
De bi-color LED zit tussen twee uitgangen waarbij PB1 een PulsBreedte geModuleerd signaal afgeeft waardoor de LED dimbaar is. Dat de LED dimbaar is gebeurt alleen als de LED groen oplicht, als de LED rood is (PB1 is dan hoog) wordt de PWM op PB0 gestopt en PB0 laag gemaakt.
Wordt dan de knop weer ingedrukt, Gaat PB1 laag, wordt de PWM op PB0 gestart en kan de Main Fader weer bewogen worden.

 

Attachments

  • arduino code.zip
    1,1 KB · Bekeken: 24
Top