Sensor de Apertura de Frigorifico & Open Refrigerator Sensor – OPEN HARDWARE / SOFTWARE / MIND
Menú Close

Sensor de Apertura de Frigorifico & Open Refrigerator Sensor

Hoy les traigo el ultimo artilugio que se me ha ocurrido, ya que ayer mi mujer ha retado a mi niña por dejar la puerta abierta de la nevera, y se me paso por la cabeza «porque nadie ha hecho algo tan practico como un avisador de puerta abierta?» quizas ya lo hay pero la version de frigo que tengo doy gracias que aun enfria… 🙂

Y basicamente el cacharro es esto:

un sensor de luz que detecta y promedia el primer valor que coje, y lo guarda como referencia, entonces cuando abrimos la puerta detecta que la incidencia de luz es mayor y comienza el juego, dejando un tiempo prudencial de espera (en este caso 10 segundos me pareció correcto) si la puerta no se ha cerrado dispara una alarma sonora  hasta que dicha puerta no es cerrada, comenzando nuevamente el ciclo.

algo basico pero que no tengo entendido que existiese.

aqui os dejo unas fotos, videos y el código, no he pensado poner el circuito ya que tiene muy poco, creado a partir del 18f2550, y con un buzz conectado al sensor 12 y un LDR en el 13… no tiene mas que eso.

 

 

El codigo:

[sourcecode language=»py»]
// Alarma de Nevera
// Walter López Pascual (Walii & Walterleonardo) 2011 walii.es

int led1,LDR,MLDR,valor,ovalor; // Values like integers ( Pin )
int mldr[]; // Array for measures
int debug=0; // Only with debug «1» we´ll see printed values in serial
int wait=10000; // Time to wait before BUZZ in MS

promedioldr ()
{
int i;
MLDR=0;
for (i=0;i<9;i++){
mldr[i]=analogRead(LDR);
MLDR=MLDR+mldr[i];
}
MLDR=MLDR/10;
return MLDR;
}

void setup()
{
led1=11; // led 1 is connected on pin 1
LDR=13;
pinMode(led1,OUTPUT); // BUZZ & LED
ovalor=promedioldr(); // Capture initial value to measure
Serial.begin(9600);
}

void encenderledbuzz () //BUZZ & LED active action
{
digitalWrite(led1,HIGH);
delay(250);
digitalWrite(led1,LOW);
delay(250);
}

void esperar () //wait time before BUZZ
{
if (debug==1){
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…\r\n»);
delay(wait/10);
Serial.printf(«Wait…BUZZ\r\n»);
}
else delay(wait);
}

void loop()
{
valor=promedioldr();
if (valor>=ovalor+100){
esperar();
while (analogRead(LDR)>=ovalor+100){
encenderledbuzz();
if (debug==1) Serial.printf(«Analog Value = %d \r\n», analogRead(LDR));
}
}
if (debug==1) Serial.printf(«Actual LDR value= %d / Previous LDR value= %u\r\n», valor, ovalor);
digitalWrite(led1,LOW);
}
[/sourcecode]

Related Posts

4 Comments

  1. geragts_9

    Hola, gusto en saludar de nuevo, muy buena aplicación y si como comentas no e visto o escuchado de un congelador que tenga esto, es muy practico por que pues a quien no le a pasado y mas con los niños, aunque como dices es sencilla pero es muy necesaria.
    FELICIDADES.
    Me gustan mucho tus aplicaciones.
    Aun estoy con el seguidor de sol lo que pasa es que por aca no se consigue mucho material en especial el servo je, pero espero ya para el lunes tenerlo funcionando. Por mientras que me traen el servo ya arme el digital code lock y funciona a la perfección, al igual es una aplicación que sirve para muchas cosas en tu caso para tu carro, muy buena idea.

    Saludos

  2. walterleonardo

    gracias por tu comentario… siempre nos complace gente interesada en los proyectos que realizamos… 🙂
    sigue adelante… estoy aquí para apoyarte… si tienes dudas no dudes en consultarme…

    Un abrazo.

  3. ubanov

    Mi nevera/congelador si que avisan cuando se deja la puerta abierta… es más creo que lo detectan por dos medios, por una parte por el sensor de luz y además por diferencia de temperatura… si la puerta la dejas abierta se pone a pitar (puede pasar por que no decidas de qué sabor quieres el yogur… le das al sensor de cierre de puerta y durante un rato deja de dar la coña)… pero también pasa que a veces crees que has cerrado bien la puerta… la luz está apagada (y por lo tanto el sensor de la puerta está pulsado), pero como hay una rendija abierta la temperatura sube y al de un rato se pone también a pitar (esta alarma en mi nevera no se puede quitar… no se calla hasta que la temperatura vuelve a ser adecuada, que si ha estado media hora la puerta abierta puede tardar 10 minutos en ponerse la temperatura bien 😀

    Como idea para versión v2: un lm35 y si pasa de un limite de temperatura….

    Una pregunta que quería hacerte, le has puesto 3 o 4 pilas? cuanto pueden durar esas pilas? (entiendo que el pic lo tienes a los 20Mhz oficiales del pinguino, no?)

    Gracias y un saludo.

  4. walterleonardo

    Dura bastante poco… porque la verdad que el altavoz BUZZ consume mucho… pero tengo que calibrarlo… debería durar fácilmente un mes o dos…

    igual quizás lo mejor es incluirlo en la alimentación del refrigerador… el mío no lo tiene es básico … pero bueno… es una opción adicional.. una cosa que se me ha ocurrido tonteando y viendo a mi niña abriendo puertas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.