Alarma de frigorifico puerta abierta - Sonido a los 5 min.

Hola,

Bueno el mundo arduino siempre me ha llamado la atencion, soy electricista, entiendo de programadores, reles, pero la programacion, pufff nada.

Y bueno he decidido dar el paso a emprezar a trastear con arduino.

Necesito ayuda en algunas cosas:

  1. Proyecto:

Mi idea es una arlarma de nevera, se que existen en el mercado pero suenan pasado un minuto y me interesa que suene pasado 5 minutos o mas tiempo.

Mi idea es poner un sensor magetico en la puerta NC en la puerta.

Este iria a la placa.

Y las instrucciones serian.

Cuando esta cerrado un led verde dando el ok.

Cuando esta abierta la puerta un led rojo (fijo o parpadeando) avisando de que esta abierta.

Cuano esta abierta la puerta pasado 5 minutos suena una alarma tipo beeb de ordenador.

La idea es facil existen en el mercado ya hecho esto que son la marca finder cuestan unos 100€ pero quiero empezar a trastear con arduino.

Mi idea es conectar dos sensores mageticos a al puerta uno frigorifico y otro congelador, los dos en paralelo y que actuen juntos, si suena uno pues se chequean las dos puertas.

He visto algo parecido pero con un modulo de expansion gsm, sensor de movimiento, etc, pero nada para que suene a los 5 minutos.

  1. Que placa comprar y usar para este proyecto.

Para este proyecto compro la uno o la leonardo?
Necesito un modulo de reloj para los 5 minutos?

  1. Una vez hecho el proyecto se quedara en el frigorifico. Que placa me aconsejais comprarme para usar en mis proyectos? cualquier informacion de iniciacion o libro descargable para comenzar se agradeceria.

De antemano muchas gracias.

Saludos, David.

Repito lo de otro post. No se necesita un microprocesador para algo tan simple
Si quieres experimentar con programación, pues adelante, pero...

Yo usaría un sensor NO (normalmente abierto), al abrir la puerta se cierra y alimenta un temporizador que puede hacerse por 2€ con un integrado 555.
Hay montones de circuitos en Google.
Por ejemplo este

http://clarkson-uk.com/555-timer/operation/frames3.html

Lo he montado por gusto en una placa protoboard y con una resistencia de 1 Mega y un condensador de 100 microF da un retardo de 2' 30''. Si quieres más, solo hay que aumentar el valor del condensador. He usado 9 voltios.

Me gusta seguir el principio KISS (del inglés Keep It Simple, Stupid! : «Manténlo sencillo, ¡Estúpido!») es un acrónimo que recomienda el uso de cosas sencillas, rechazando lo enrevesado e innecesario.

Jopapa
www.jopapa.me

Hola,

Gracias por lo dicho, creo que he comentado que soy electricista con lo cual no tengo ni idea de micros ni de nada de nada.

De reles, teleruptores, etc si se.

De electronica pues muy basica.

Sobre lo que has puesto de

http://clarkson-uk.com/555-timer/operation/frames3.html

para 5 minutos y a 12v?

Y que placa recomiendas para comenzar en esto de arduino?

Gracias.

Hola.
Como dicen, para lo que comentas no haría falta un Arduino, pero bueno, si quieres empezar verás que no es un proyecto muy difícil en términos de programación. La parte de los sensores parece que ya la tienes clara.

Yo te recomiendo una placa "normal" la UNO o la Leonardo, la Leonardo es más nueva y tiene mejoras, pero la UNO para empezar va muy bien.
También puedes usar alguna mini, que sale más barata para tu proyecto, pero no te la recomiendo para empezar.

Yo siempre recomiendo comprar un kit que viene con lo básico, y empezar con los tutoriales. Aunque si eres electricista, igual ya tienes la casa llena de resistencias, leds y transistores, tampoco te hará mucha falta...

Hola muchas gracias por la ayuda.

Sobre esto es cierto "Aunque si eres electricista, igual ya tienes la casa llena de resistencias, leds y transistores, tampoco te hará mucha falta..."

sobre las mini al no terner usb pues la descarto.

La verdad que la leonardo estoy escuchando lo del puerto usb y que se pierde la programacion, y bueno por ebay la diferencia de precio no es muy alta. La leonardo por 9.41€ la consigues.

Pero aun sigo con lo de frigorifico. Si uso dos sensores NC siempre le llegaria corriente, con lo cual necesitaria usar dos entradas diferentes. Si uso NO se activaria. Y las salidas la retardada y la de los leds.

Todo eso lo entiendo pues en cuestion de reles los dominio, el problema es darle el retardo del timbre para que no suene al momento.

En ebay se encuentran alarmas, pero suenan al momento, y al final por artanza lo dejas de usar.

Mi enfoque del arduino es cuestion de domotica, temporizadores, sensores de luz, alarma, etc, nada de robots como he visto por el foro.

Alguna idea mas.

Gracias.
David.

Lo del retardo del timbre, con programación lo puedes hacer en un momento.
No sé, mi opinión es que te compres un Leonardo (por ejemplo) y empieces a trastear, ya verás como en nada lo tienes.

Hola, pues ya estoy encargandola. La leonardo.

Sobre programacion que aconsejas? algun foro, manual, libro, etc.

Estoy en paro y he dicho venga vamos ha trastear y a tener alternativas a los programadores convencionales, uno digital de dos modulos te cuesta en catalogo 100€, lo consigues por 80€ luego.

Con Arduino lo haces: una placa, unos reles y un transformador, esto lo consigues por 20-30euros.

Y con muchisimas mas opciones.

Con una arduino mini como se conecta al ordenador?

Gracias, un saludo, David.

Aquí ves cómo se puede conectar un arduino mini: http://arduino.cc/es/Guide/ArduinoMini
Es algo más complicado, pero al final todo es ponerse, si lo he hecho yo que hace dos años no había visto nunca un microcontrolador, lo puede hacer cualquiera.

Respecto a los tutoriales, hay miles. Busca en google libros para empezar con arduino y encontrarás bastantes, sin ir más lejos:
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=arduino

También hay muchos tutoriales de todos los niveles en Youtube, o incluso blogs de gente de este foro.
Y respecto a "foros" no hace falta que te diga nada!

Suerte!

Muchas gracias.

Ya veo el uso de la placa usb, antes no lo entendia, se usa para conectar al mini.

Ya esta encargardo veremos cuando llega de china, y veremos como hacer para programar, y aprender a usarla, son 15€ lo gastado hasta ahora por que cables tenia, pulsadores tambien, bread boar o como se diga tambien, leds tambien, y reles de 5v y 12v tambien.

Ya preguntare cuando me llegue.

GRACIAS

Amigo acá te dejo un temporizador con el 555 (por si aun ocupas la solución mas viable a tu problema)

El circuito que soluciona tu problema seria el primero, jugando con los valores de R (1Mohm) y C (1microFaradio) puedes conseguir el tiempo deseado, el valor de resistencia de 10 Kohm déjala así.

El tiempo se calcula con la siguiente formula:

Tseg = 1.1 * R * C (la R en Ohms y la C en faradios)

En efecto debes usar dos interruptores NC (en paralelo) en el circuito se colocan en lugar de s1, y la alarma a ser activada se coloca entre + y output.

sin miedo puedes conectarlo a los 12 V que deseas usar, siempre y cuando sean de CD.

Saludos......... :slight_smile:

puf muchisimas gracias me pondre ha hacerlo dentro de poco.

Una pregunta mas, en las placas arduino las salidas de cuantos voltios son? veo que los reles que se venden son de 5v o 12v, pero en algunos modelos la activacion puede ser variable, los "in1, in2, ..." los hay de "low y high Level Power Relay" cosa que desconocia, antes al ser electricista todos se activan vvc.

En ese sentido me estoy haciendo un poco lio, la verdad es que no me he puesto al 100% pues no dispogo aun de la placa cuando me llegue me pondre a fondo a estudiar y hacer ejemplos de programacion.

Saludos, David.

Hola,

Bueno ya me llego la placa, ahora estoy buscando un libro en español bueno pues es un lio hacerlo en ingles y entenderlo.

Copiar y pegar es facil pero diseñarlo y programarlo es otra cosa.

Mi idea es:

dos sensores magnenicos para la puerta, cada uno tiene NC/NO

Dos leds para cada puerta uno rojo uno verde (puede ser un led bicolor, rgb)

Una alarma para las dos puertas.

Como funcionaria:

Cuando esta NC led verde
Cuando esta NO led rojo
Cuando esta en NO a los x milisegundos se acciona una alarma, seria la misma alarma para las dos puertas.

Necesito un arduino? pues no, pero quiero practicar y aprender.
Tampoco necesito un semaforo y ese fue mi tercer proyecto, lo malo que no lo entiendo. O un led que parpadea, pero aprendi a dar mas tiempo de encendido, y de apagado, o hacer un sos en morse.

Lo chungo lo estoy haciendo en ingles y puffff malo malo, como lo del semaforo.

Alguna ayudita con algo?

David.

dsf70spain:
Lo chungo lo estoy haciendo en ingles y puffff malo malo, como lo del semaforo.

No sé a qué te refieres con eso.
En cualquier caso si como dices la idea es aprender y ya has hecho alguna otra cosa tienes que lanzarte a estructurar la programación de tu proyecto. Lo que podemos llamar pseudocódigo. Luego lo transformas en código, ves dónde falla y si no sabes solucionarlo lo expones aquí que seguro más de uno te podremos echar un cable.

Me refiero que las explicaciones de programacion son en ingles, el libro que he conseguido en internet.

Para entender una explicacion como la de la señal s.o.s. con un led estoy casi 4 horas.

Con un libro en español pues seria mas facil. Hay que entender que NUNCA he hecho nada de programacion.

En el foro sale un curso basico en Madrid, 12 horas creo que son 290€ es mucho muchisimo para mi situacion de parado sin desempleo.

Hago esto para entreterme, aprender y no comerme la cabeza, en el momento que me coma la cabeza y me dolores lo dejare.

Esta es una parte de una explicacion.....

So the first part of the code is identical to the last project where we initialise a variable and then set pin 10 to be an output. In the main code loop we can see the same kind of statements to turn the LED?s on and off for a set period of time, but this time the statements are within 3 separate code blocks. 
The first block is what outputs the 3 dits 

for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH);
delay(150);
digitalWrite(ledPin, LOW);
delay(100);
}
We can see that the LED is turned on for 150ms and then off for 100ms and we can see that those statements are within a set of curly braces and are therefore in a separate code block. But, when we run the sketch we can see the light flashes 3 times not just once.

This is done using the for loop.
for (int x=0; x<3; x++) {
This statement is what makes the code within it?s codeblock execute 3 times

Por ejemplo con este ahora me como la cabeza, y digo vale el codigo es asi:

// Project 2 - SOS Morse Code Signaler
// LED connected to digital pin 10
int ledPin = 10;
// run once, when the sketch starts
void setup()
{
// sets the digital pin as output
pinMode(ledPin, OUTPUT);
}
// run over and over again
void loop()
{
// 3 dits
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}
// 100ms delay to cause slight gap between letters
delay(100);
// 3 dahs
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(400); // waits for 400ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}
// 100ms delay to cause slight gap between letters
delay(100);
// 3 dits again
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}
// wait 5 seconds before repeating the SOS signal
delay(5000);
}

Como haria ahora que los puntos fuesen en pin y las rayas en otro? y seria muy facil en español, en ingles pues tardardo un poco mas. La cosa es copiar partes del semaforo donde tengo 3 leds y ponerlos en en este, poner un nombre mas de led, y cambiar el nombre del led de las rayas.

Saludos.

No hace mucho un usuario anunciaba un libro que acababa de escribir, en español, para aprender la plataforma Arduino. No es que te lo recomiende con conocimiento, vamos que no lo he leído y no puedo decir qué tal es aunque a priori me imagino que estará bien y cumplirá su misión para los que se inicien.

El enlace en donde lo anunciaron:

http://forum.arduino.cc/index.php?topic=145725.0

Hola,

Muchas gracias por lo del libro, lo he visto en internet y me quiero pasar por una libreria para hecharle un vistazo, estoy seguro que lo comprare por que un cursito de 220€ creo que nunca lo podre hacer.

Creo que lo pillo pero hay cosas que no las termino de cuajar, que son tonterias seguro, no consigo encadenar dos funciones o sea dos sensores esto es lo que he programado o copiado o diseñado.

Hay que pensar que empece el 9 de agosto y nunca he hecho nada de programacion.

Esto es lo primero que estoy haciendo:

// SENSOR PUERTAS NEVERA 11/08/2013

int AlarmaDelay = 600000;//Sonara la alarma a los 10 minutos  
int NeveraR = 12;// Nevera Rojo - puerta abierta - Nevera Pares
int CongeladorR = 11;// Congelador Rojo - puerta abierta - Congelador Impares
int NeveraV = 10;// Nevera Verde - puerta cerrada
int CongeladorV = 9;// Congelador Verde - puerta cerrada
int Alarma = 8;
int SensorNevera = 6; // Sensor Magnetico NO
int SensorCongelador = 5; // Sensor Magnetico NO

void setup() {
pinMode(NeveraR, OUTPUT);
pinMode(CongeladorR, OUTPUT);
pinMode(NeveraV, OUTPUT);
pinMode(CongeladorV, OUTPUT);
pinMode(Alarma, OUTPUT);
pinMode(SensorNevera, INPUT);
pinMode(SensorCongelador, INPUT);
digitalWrite(NeveraV, HIGH);
digitalWrite(CongeladorV, HIGH);
}
// Alarma de la nevera //
void loop() 
{
int state = digitalRead(SensorNevera);
if (state == HIGH);
digitalWrite(NeveraR, HIGH);
digitalWrite(NeveraV, LOW); 
delay(AlarmaDelay);  //Pasado 10 minutos suena la alarma, debe chequear sensor por si se ha cerrado puerta 
digitalRead(SensorNevera);
if (state == HIGH);
digitalWrite(Alarma, HIGH);//AlarmaNerera();
}
//HASTA AQUI TODO BIEN//

//Alarma de congelador //
{
int state = digitalRead(SensorCongelador);
if (state == HIGH);
digitalWrite(CongeladorR, HIGH);
digitalWrite(CongeladorV, LOW); 
delay(AlarmaDelay);  //Pasado 10 minutos suena la alarma, debe chequear sensor por si se ha cerrado puerta 
digitalRead(SensorNevera);
if (state == HIGH);
digitalWrite(Alarma, HIGH);//AlarmaNerera();
}

Una vez que lo consiga pues empezare a jugar, pues que si el led Rojo parpade, que si la alarma sea por impulsos, e ir añadiendo cositas y funciones que me hagan pensar en este mundo.

Una de las cosas que quiero llegar a dominar son programaciones horarias, un programador digital te cuesta unos 100€ con esto por 30€ tienes la placa, la alimentacion, y 8 reles.... pero evidentemente me gustara dominar mas cosas mezcladolas con android, etc etc.

Bueno gracias de antemano por la ayuda.

Un saludo, David.

Y bueno me sigo comiendo la cabeza, al ser nuevo no se nada de programacion ni de chip, lo mio es la electricidad y es las cosas son mecanicas, como los reles etc.

Con circuitos, cuando un sensor vuelve a su estado normal, hay que informar de que la accion es volver a la normalidad?

Hoy voy a comprar ese libro si o si, el indice tiene muy buena pinta.

Saludos.

dsf70spain:
Con circuitos, cuando un sensor vuelve a su estado normal, hay que informar de que la accion es volver a la normalidad?

Resumiendo rápidamente te diría que sí. Arduino siempre hará exactamente lo que le indiquen las instrucciones que pongas. Si pones una instrucción que indica que cuando se active el sensor encender el LED, por supuesto tienes que poner otra instrucción (que podrá hacerse de diversas maneras) que indique que cuando se desactive el sensor apague el LED (si es lo que quieres que suceda). Para un microcontrolador la entrada de un sensor y la salida de un PIN son dos tareas totalmente independientes.

Sobre el código que has puesto. Siento no extenderme, escribo desde un móvil y no es muy cómodo.

Consejo 1: declara todas las variables al principio, en este caso no lo has hecho con la variable state.

Consejo2: pon los nombres más identificativos. Me refiero por ejemplo que igual que llamas AlarmaDelay a su pin lo hagas como
int AlarmaPin = 8

Consejo 3: huye de los delay, al menos para que me entiendas de los que son superiores a unos pocos milisegundos. Para lo que pretendes estudia el ejemplo del IDE Blink without delay.

Hola,

Cheyene, muchas gracias por tu ayuda.

Problemas:

1.- No he llegado a la explicacion de state. Lo maximo que he hecho ha sido un semaforo con un pulsador para peatones, lo de "state" no sale aun por ningun sitio, es el ejercicio 4.

2.- Nombres como "int AlarmaPin = 8" Ok a lo de PIN asi uno sabe que es una conexion. Logico.

3.- "IDE Blink without delay" voy a buscarlo.

4.- Alguien me puede ayudar a por que me da error?

5.- Voy a por el libro, espero encontrarlo, son 30€.

Saludos a todos, David.