Paso 4: Preparar el programa de ARDUINO
BOTÓN remoto código y poco
#define REMOTE_CODE la remota de código como devueltos por la utilidad de decodificador IRrecvDump el prefijo "0 x"
#define REMOTE_BIT su tamaño de datos remota de código que devuelve la utilidad del decodificador IRrecvDump.
Este programa de Arduino funciona para la mayoría de los controles remoto pero necesita decirle sobre su Protocolo de control remoto de la información que se reunieron en el paso anterior cuando se descifra los botones de control remoto mediante la utilidad IRrecvDump. Es posible hacer la selección remota dinámica en tiempo de ejecución para que no tenga que cambiar y cargar código. Podría hacer esto en una versión posterior de este gadget.
Nivel de volumen Umbral de
#define NOISE_LEVEL un número de 0 a 1024. Iniciar con 500 y luego ajustar el número.
Este es el número que decide en qué momento el Arduino comenzará a transmitir códigos de volumen hacia abajo
Nota: El sensor de sonido estoy usando como un potenciómetro incorporado que también controla la sensibilidad del sensor.
VELOCIDAD DE CAMBIO DE VOLUMEN
#define REPEAT_TX (de 1 a tantos como quieras. Comenzar con 3 entonces fine tune)
Cambiar cuántas veces desea que el código remoto transmite al televisor. Si quieres más drástica caída en el volumen del televisor aumentar este número. Si quieres un cambio más gradual en el volumen, reducir este número.
LISTA DE FUNCIONES DE TODO
Es muy sencillo programar más funcionalidad en este gadget. Algunas de las características que se pueden agregar:
- Promedio nivel de audio durante un período de tiempo para determinar si el aumento en el volumen es momentáneo o persistentes que requieren control de volumen y debe ser ignorado.
- Leer el nivel de audio después de un período de tiempo. Si el audio es demasiado bajo, aumentar el volumen en un cierto incremento.
- Programa incluye protocolos remotos compatibles
- Agregar compatibilidad con Panasonic y JVC
EL CÓDIGO DE ARDUINO
Corte y pegue el siguiente código en el IDE de Arduino
//=================================================
/*
Proyecto: Volumen del televisor guardia
Autor: Hazim Bitar (techbitar)
FECHA: 09 DE FEBRERO DE 2013
CONTACTO: techbitar arroba gmail punto com
Licencia: Mi código es de dominio público.
Biblioteca de iRremote: derechos de autor por Ken Shirriff http://arcfn.com
*/
#include < IRremote.h >
#define NOISE_LEVEL 350 / / nivel de ruido para la detección de 0 a 1023
#define REPEAT_TX 3 / / cuantas veces para transmitir el código de control remoto IR
#define REMOTE_CODE 0x1CE3E817 / / remoto código a transmitir. Esto es para mi TV. Reemplace con el suyo.
#define REMOTE_BIT 32
#define SOUND_SENSOR_PIN A0 / sensor de sonido conectado a este pin analógico
#define 13 LED / LED utiliza a parpadear cuando volumen demasiado alto
Irsend de IRsend; crear una instancia de objeto de IR
void setup()
{
pinMode (LED, salida);
}
void loop()
{
soundLevel int = analogRead(SOUND_SENSOR_PIN); leer el sensor de sonido
if(soundLevel > NOISE_LEVEL) / / comparar a umbral de nivel de ruido que decide
{
digitalWrite(LED,HIGH); LED en
Delay(200);
para (int txCount = 0; txCount < REPEAT_TX; txCount ++) {/ / cuántas veces para transmitir el código de control remoto IR
irsend.sendNEC (REMOTE_CODE, REMOTE_BIT); Cambiar para que coincida con su protocolo remoto
Delay(200);
Quite el comentario de la función que coincide con el protocolo de control remoto como se indica por IRrecvDump
irsend.sendNEC (REMOTE_CODE, REMOTE_BIT);
irsend.sendSony (REMOTE_CODE, REMOTE_BIT);
irsend.sendRC5 (REMOTE_CODE, REMOTE_BIT);
irsend.sendRC6 (REMOTE_CODE, REMOTE_BIT);
}
}
digitalWrite(LED,LOW); LED apagado
}
===