MIDI controller - for Behringer AIR XR18
Product SKU: AL308_AndruinoNano MIDI controller - for Behringer AIR XR18
Price:
$40.80 NO LONGER AVAILABLE This product can no longer be purchased or ordered. |
ON / OFF switch and analogue input for volume control
XR18/X18/XR16/XR12
A small Arduino computer is built into the pedal.
This is freely programmable via the USB connector inside.
The last pieces in stock.
Set to turn on / off all effects of FX Input 1 -4
The analog input can control the input volume 15
spínač ON/OFF a anolgový vstup pro řízení hlasitosti
V pedálu je zabudovaný malý počítač Arduino.
Tento je volně programovatelný pomocí USB konektoru uvnitř.
Poslední kusy na skladě.
Od nás nastaveno:
Nožní spínač - zapnutí / vypnutí všech effektů FX Input 1 - 4.
Analogový vstup může ovládat hlasitost vstupu 15.
Battery Power 9V / Adapter 5-12Vdc + o) -
SW: https://www.arduino.cc/en/Main/Software
Code:
//Setting Analog to 0
int Value0 = 0;
int ValueEnd0 = 0;
// pin to use for indicator LED
int ledPin = 3;
// pin that is connected to the footswitch
int buttonPin = 11;
int buttonState = 0;
int buttonLastState = 0;
int buttonInitState = 0;
int muteStatus = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
// Setup serial port for MIDI communication
Serial.begin(31250);
// read current button state, a press is detected whenever
// state changes to anything else than the init state
buttonInitState = digitalRead(buttonPin);
// we only want to do something on state changes
buttonLastState = buttonInitState;
}
void loop() {
//setting Analog Input
int Analog0 = analogRead(A0);
// Converts analog input (from 0 to 1023) to values (0 - 127)
int Value0 = Analog0/8;
if (Value0 != ValueEnd0){
// setting midiCc(MidiChannel,ComandCCnumber,Value0)
midiCc(1,14,Value0);
ValueEnd0 = Value0;
delay(50);
}
buttonState = digitalRead(buttonPin);
// has the state changed?
if (buttonState != buttonLastState) {
buttonLastState = buttonState;
if (buttonState != buttonInitState) {
// button is in pressed state, trigger action
if (muteStatus == 0) {
// mute and light up LED
digitalWrite(ledPin, HIGH);
// send CC 85 on channel 2 with value 0 to mute
// mute group 6 on a Behringer X32
midiCc(2, 27, 0);
midiCc(2, 28, 0);
midiCc(2, 29, 0);
midiCc(2, 30, 0);
muteStatus = 1;
} else {
// unmute and turn off LED
digitalWrite(ledPin, LOW);
midiCc(2, 27, 127);
midiCc(2, 28, 127);
midiCc(2, 29, 127);
midiCc(2, 30, 127);
muteStatus = 0;
}
}
// workaround to prevent fluttering of button state
delay(10);
}
}
void midiCc(int channel, int command, int value) {
Serial.write(175 + channel);
Serial.write(command);
Serial.write(value);
}