Características
Microprocesador Attiny 85 con Sketch para mutear dos micrófonos y dar Luz de Aire en el estudio de radio del colegio El Taller.
Al pulsar desde el control comandamos dos opto acopladores que interrumpen el circuito muteador y así evitar "chasquidos" o ruidos molestos. También se comanda un relé para la luz de Aire.
La luz de Aire necesita tener alta luminosidad dado que debe notarse claramente cuando se esta transmitiendo.Por esa razón se usó una lámpara de auto de 55 W lo que significa una corriente de aproximadamente 4 Amper. Se colocó un modulo de dos relé (uno para posibles ampliaciones) puede manejar hasta 10 Amper.
No estoy seguro cual es la corriente capaz de manejar entre el colector y emisor de manera que sólo los uso para interrumpir el circuito de los muteadores.
El circuitoi muteador lo obtuve del siguiente enlace:
https://drive.google.com/file/d/0B8MJa3b2n46_bjRIRGFhVHpTZFE/view
Los opto acopladores se ubican en los puntos AB como interruptores. Se eliminan las fichas plug del circuito original.
El sketch es una modificación del ejemplo provisto en el IDE del Arduino "Debounce" que elimina el rebote ocasionado por el pulsador en su accionar (limitación técnica) y ocasiona error de lectura de su estado.
En el sketch original cada vez que se pulsa cambia de prendido a apagado de un Led.lamodificación consistió en reemplazar al led por los dos opto acopladores ( led IR) y un relé. con la salvedad que el relé debe estar en oposición a los optoa copladores. De manera que al estar en alta la bobina del no está energizada.
*********************************************************************************
/* Radio El Taller marzo 2016
basado en el ejemplo debounce para eliminar el rebote de un pulsador
el pulsador comanda dos optoacopladores para manejar los muteadores y un rele para la luzde AIRE
pines Attiny
pulsador ---> A3
opto 1 -----> 1
opto 2 -----> 2
Luz aire(rele) --->0
5Volt pin 8
Gnd pin 4
The circuit:
* optoacoplador 4N35 a pin 1 llega del Attiny y lleva resistencia 220 Ohm y pin 2 a Gnd
* en pin 5 y pin 4 van en serie los MUTEADORES de los MIC puntos A-B
*
********************************************************************************************/
// constantes para seteo de pines
const int buttonPin = A3; // pin pulsador
const int Opto1 = 1; // pines Opto
const int Opto2 = 2;
const int LuzAire = 0; //pin para luz
// Variables
int OptoState = LOW; // estado inicial para los pines de salida
int ReleState = HIGH; // estado inicial para el rele bobina no exitada
int buttonState; // estado del pulsador
int lastButtonState = LOW; // estado previo del pulsador
// las siguientes variables son del tipo long, milisegundos que crecen muy rapido
long lastDebounceTime = 0; // ultimo instante que se digitó el pulsador
long debounceDelay = 50; // the debounce time; increase if the output flickers
void setup() {
pinMode(buttonPin, INPUT);
pinMode(Opto1, OUTPUT);
pinMode(Opto2, OUTPUT);
pinMode(LuzAire,OUTPUT);
// seteo inicial de los pines de salida
digitalWrite(Opto1, OptoState);
digitalWrite(Opto2, OptoState);
digitalWrite(LuzAire, ReleState);
}
void loop() {
// lectura del estado del pulsador. Se guarda en una variable local
int reading = digitalRead(buttonPin);
// checkea si se digitó elpulsador
// cambia de estado
// y espera para evitar los rebotes antes
//de ordenar el cambio de estado de los pines de salida
// si se pulsó, resetea el tiempo
//y con el siguiente if se pregunta por el tiempo de espera
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:
// if the button state has changed:
if (reading != buttonState) {
buttonState = reading;
// only toggle the LED if the new button state is HIGH
if (buttonState == HIGH) {
OptoState = !OptoState;
ReleState =!ReleState;
}
}
}
// set the LED:
digitalWrite(Opto1, OptoState);
digitalWrite(Opto2, OptoState);
// digitalWrite(Opto3, OptoState);
digitalWrite(LuzAire, ReleState);
// save the reading. Next time through the loop,
// it'll be the lastButtonState:
lastButtonState = reading;
}
Esquema de conexión
La alimentación es un transformador de 9 Volt y se coloca un regulador 7805 para alimentar el microcontrolador.
No hay comentarios.:
Publicar un comentario