DOMATICA parte 1 control de luces y temperatura

Domótica parte 1 “control de iluminación y temperatura”
Control de iluminación:
El objetivo principal, es encender luces automáticamente de distintas maneras,

  1. Por presencia: Es decir, captar un nivel de sonido dB, en cual permitirá saber si existe una presencia humana o no en la habitación, para ello accedí a utilizar un micrófono y acondicionar la señal con un amplificador de instrumentación como el siguiente:

Esto permitirá captar una señal análoga lo cual permitirá leer a Arduino un nivel máximo o mínimo y de acuerdo con el procedimiento necesario para obtener el valor necesario de las resistencias, se obtendrá un rango e cual para permitir el encendido de la lámpara el rango que tome en cuenta es de 1 a 4, donde 0 a 1 nivel del ambiente, 1 a 2, presencia silenciosa, 2 a 3, presencia con ruido con exceso y 3 a 4 exceso de ruido.
En el caso al llegar la noche, por medio de un CPC132 (8V Output Solar Cell - Clare), las luces se iran encendiendo de acuerdo la luz que existe en el medio, y que el sistema de arriba, solo funcione con un determinado número de lúmenes.
HE AQUÍ EL PRIMER PROBLEMA. En la noche no he experimentado cual es el ruido promedio que hacemos al dormir, esto para darle una programación extra que solo funcione en la noche.
2. El nivel de luz además de ser automática, poder ser controlada por medio de algún dispositivo móvil además del encendido y apagado de las luces.
Con respecto a las luces encontré ella red el siguiente código a lo cual adaptare para obtener la primera parte del sistema.
/*

Control ON/OFF con potenciómetro

Programa que enciende un LED cuando el valor de la entrada
análoga comandada por el potenciómetro esta en cierto valor,
cuando este valor cambia el LED se apaga, es un sistema con
control ON/OFF

Cosas de Mecatrónica y Tienda de Robótica

*/
//------------------------------------
//Funcion principal
//------------------------------------
void setup() // Se ejecuta cada vez que el Arduino se inicia
{
Serial.begin(9600); //Inicia comunicación serial
pinMode(13,OUTPUT); //Configurar el pin 13 como una salida
}

//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() // Esta funcion se mantiene ejecutando
{ // cuando este energizado el Arduino

//Guardar en una variable el valor de la lectura análoga
int valor = analogRead(A0);

Serial.println(valor); //Imprime el valor por la consola

//Si el valor es mayor o igual a 500
if (valor >= 500)
{
digitalWrite(13,HIGH); //Enciende el LED en el pin 13
}
//Si el valor es menor a 500
else
{
digitalWrite(13,LOW); //Apaga el LED en el pin 13
}

delay(100); //Retardo de 100ms para ver los datos de la consola
}

//Fin programa
O el siguiente, en el caso del nivel de luz
/*
Tutorial Arduino # 0003 - Efecto Fading
En este tutorial, mostramos como se desvanece un LED
en función del valor recogido en un entrada analógica.
Este proyecto es de dominio público.
*/
int pinSensor = A0; // Entrada para el potenciómetro.
int pinLed = 9; // Seleccionamos pin para el Led.
int valorSensor = 0; // variable para el valor del sensor.
void setup() {
pinMode(pinLed, OUTPUT); // Establecemos el pin como salida.
}
void loop() {
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// Establecemos el valor analógico para la salida PWM
analogWrite(pinLed, valorSensor / 4);
// Detenemos el programa durante 30 milisegundos:
delay(30);
}

Con respecto al uso de varias entradas analógicas conseguí el siguiente circuito:
He estado buscando uno igual para salidas digitales.
En el caso de la temperatura aún estoy realizando investigación.

espero y me ayuden a mejorar el sistemacon comentarios y que me ayuden a entender con mayor grado la programacion de arduino, soy principiante en esto y en la electronica, aun estoy investigando en libros y web :smiley:

Lo mas fácil sería usar un sensor PIR

Vamos por ^Partes :

Hacer un sensor de luminosidad es tan sencillo como conectar una LDR a una patilla analogica del Atmega-
Esto es, aplicamos un valor de referencia a un divisor de tension resistivo y luego tomamos la referencia entregada por la LDR, entonces determinamos por Software a que nivel hemos de de disparar la salida

Olvidate de los sensores de sonido pues cualquier ruido captado por el micro puede disparar el sistema, ya sea un trueno en una tormenta, un golpe de una puerta o el ruido de la nevera al conectar, tendrias que implementar un filtro de audio entre el amplificador y la salida analogica prevista