- This topic has 2 replies, 2 voices, and was last updated May 11, 2012 at 6:57 pm by cheeseweasel.
-
AuthorPosts
-
May 9, 2012 at 10:48 am #1052994
in “normal” radio production broadcast mixers are set up so when you fade up a mic channel the studio monitor speakers mute (you can still hear the program audio on the cans). However, these are bulky and cost about €500 at the cheapest, whereas something like a Soundcraft M series or Behringer X1222 is way cheaper.
This is to avoid a great din of feedback, especially as unlike MC’ing the presenter does not virtually swallow the mic at close range. whilst you can of course use the control room/monitor output control to turn down the speakers, its easy to forget to do this, plus on my setup this feeds the cans for the program monitor!
i manageed to knock up a way cheaper auto mute circuit using an arduino, an IR LED and a reed switch out of a old burglar alarm. Inside the fader knob I managed to insert some small but powerful rare earth magnets I had lying around, and tape the reed switch to the mixer so each time the mic fader (channel1) is brought up it triggers the arduino sketch. this lights up a red LED via a transistor and also sends the MUTE code to the amp on the IR led – and when the fader is back down MUTE is sent again to put the audio back up. There is also a button to manually trigger the fade.
managed to get a few FETs out of a old monitor so will use these for more high power LEDs. this is the fritzing diagram and sketch, will add more later (as fritzing mangles the schematic , its probably quicker for me to write it by hand 😉 )
its not the prettiest of solutions (could probably find a more compact reed switch) but it works and is way cheaper than a Sonifex console 🙂 – should be adaptable for any hi fi amp which uses IR remote control (most do these days)
push button – pin 2
IR led – pin 3
reed switch – pin 12
mic live LED – pin 13Code:/* Control a sony receiver via Arduino and IR
/ auto drop volume when mic fader active
/ using reed swich triggered by magnet in fader knob
/ 2011/2012 Alex@The Rats Nest, Ipswich, UK
/ IR code taken from http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
/ and remote codes from here http://lirc.sourceforge.net/remotes/sony/RM-AAU014
/
/ NB: This receiver uses 15 bit protocol
/ and only needs 50ms delay after each command sent twice
/ per button press
*/#include
IRsend irsend;// define the constants for the remote code
// and timing delays#define VOLUME_UP 0x240C
#define VOLUME_DOWN 0x640C
#define MUTE 0x140C
#define IR_delay1 35
#define IR_delay2 35
#define REPEATS 2int incomingbyte = 0;
boolean vol_dropped = false ;
boolean vol_state = false ;// button handling vars
const int buttonPin = 2; // the number of the pushbutton pin
const int reedPin= 12; // reed switch
const int ledPin = 13; // the number of the LED pin// Variables will change:
int ledState = HIGH; // the current state of the output pin
int buttonState; // the current reading from the input pin
int lastButtonState = LOW; // the previous reading from the input pin
int reedState ;
int lastReedState = HIGH;
// the following variables are long’s because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long lastDebounceTime = 0; // the last time the output pin was toggled
long debounceDelay = 30; // the debounce time; increase if the output flickers
long lastDebounceTime2 = 0;void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
pinMode(reedPin, INPUT);
pinMode(ledPin, OUTPUT);
}void ir_emit(int code, int repeats)
{
for (int i = 0 ; i < (repeats-1) ; i++) { irsend.sendSony(code, 15); delay(IR_delay1); irsend.sendSony(code, 15); delay(IR_delay1); irsend.sendSony(code, 15); delay(IR_delay1); irsend.sendSony(code, 15); delay(IR_delay2); } } void drop_vol() { vol_state = vol_dropped ; vol_dropped = !vol_dropped; // check if vol needs dropping and send IR if so if (vol_dropped && (!vol_state)) { ir_emit(MUTE,REPEATS); } if (vol_state && (!vol_dropped)) { ir_emit(MUTE,REPEATS); } vol_state = vol_dropped ; } void loop() { // set the LED using the state of the volume drop digitalWrite(ledPin, int(vol_dropped)); // read the state of the switch into a local variable: int reading = digitalRead(buttonPin); // check to see if you just pressed the button // (i.e. the input went from LOW to HIGH), and you've waited // long enough since the last press to ignore any noise: // If the switch changed, due to noise or pressing: if (reading != lastButtonState) { // reset the debouncing timer lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) {
// whatever the reading is at, it’s been there for longer
// than the debounce delay, so take it as the actual current state:
buttonState = reading;
}
// save the reading. Next time through the loop,
// it’ll be the lastButtonState:
lastButtonState = reading;// read the state of the reed switch into a local variable:
reading = digitalRead(reedPin);
if (reading != lastReedState) {lastDebounceTime2 = millis();
}if ((millis() – lastDebounceTime2) > debounceDelay) {
reedState = reading;
}lastReedState = reading;
if (buttonState && (!lastButtonState)) {
drop_vol();
}if (reedState != lastReedState) {
drop_vol();
}incomingbyte = Serial.read();
// get current stateif (incomingbyte != -1) {
Serial.print(“I received: “);
Serial.println(incomingbyte, DEC);
}
switch (incomingbyte)
{
case 50: // 2 – vol down on num pad
ir_emit(VOLUME_DOWN,REPEATS);
break;
case 56: // 8 = vol up on keybad
ir_emit(VOLUME_UP,REPEATS);
break;
case 48: // 0 = use this as flag for now
drop_vol();}
}
May 10, 2012 at 10:25 pm #1253061That’s really cool actually, only just read it properly and realised you’ve got it acting as a remote control for your hifi amp.
I’d quite like to get one of those Arduino boards and have a play with it. I know a few theatre techs use them for all sorts of odd little jobs and bodges where things on-stage need to be controlled by the lampie etc. Would be a good way for me to learn some basic programming skills and practical electronics.
May 11, 2012 at 6:57 pm #1253060now updated using a relay to switch LED’s when the mic is live (even found a red fresnel lens for these from a old bike light what fell apart when I went over on some leftover railway tracks by the dockside and landed in a cold mud puddle)
-
AuthorPosts
- You must be logged in to reply to this topic.