Go Down

Topic: Sensor de Temperatura acuario (Read 2166 times) previous topic - next topic

9acca9

HOla a todos.
La verdad que sé poco y nada de electrónica, pero necesito hacer un..... sensor de temperatura del agua del acuario... que accione unos coolers a 12v qué tengo.

Pensé en comprar estos componentes.


Arduino NanoV3 CH340
Modulo Relay rele de 4 canales
Sensor de temperatura DS18B20

El módulo relay lo compro de 4 por si a futuro quiero ampliar la cosa, o darle otro uso.

Alguien pudiera guiarme estilo mono, o ponerme un link a alguien que haga algo parecido??
Por otro lado.... el arduino va  a 5v.... y los coolers a 12v... tengo una duda... podría alimentar al arduino y a los cooler con el mismo transformador??? (tengo un transformador de 12v 1amper. Podría colocar dividirle la salida y colocar resistencias en la conexión qué va al arduino? o hay una forma más "profesional" de resolver eso. los cooler no sé cuantos amper usan pero supongo que muy muy poco.
SAludos a todos y gracias.

pd.:no sé de electrónica pero alguna vez jugué, haciéndome un "ionizador negativo", y resultó bien.

surbyte

Comienza leyendo las normas del foro. (1er hilo de cada foro)
En ellas veras que tu pregunta se responde de dos maneras: 
1. Google: Arduino ds18b20 o arduino acuario o arduino aquarium
o casi lo mismo pero sin arduino usando 
2. Search (arriba derecha) : pones solo DS18B20 o Acuario o aquarium

Quote
Alguien pudiera guiarme estilo mono, o ponerme un link a alguien que haga algo parecido??
Ahi tienes las guias estilo mono que pides.

Siempre usa el criterio que te he dado. Agota esa instancia y usa el foro para consultar dudas.
Sobre como aprender, ve a Documentacion que esta llendo de videos libros consejos de todo tipo.
Luego aca estamos para debatir sobre los problemas que se te presenten.

Quedamos a la espera de tus consultas.

9acca9

Hola.
Gracias.
Pero te hago una consulta. Por lo que estuve viendo, hacer esto de las resistencias... no es viable.
Me podrías recomendar algo para usar el mismo transformador de 12v? (para alimentar el arduino y los cooler a la vez).
Saludos y gracias

GO_zalo

al nano le puedes poner 12v por la entrada vin

si los coolers no consumen mucho no tendrás problemas para usar una sola fuente puesto que no generan tanta caída en la tensión como las bobinas de los relés.

de todas formas si vas a necesitar un transistor para accionar los desde arduino.

si no sabes nada, no te saldría más a cuenta comprar un módulo que viene ya hecho para controlar temperatura en lo que vas aprendiendo con ejemplos sencillosi y tus peces sobreviven este verano? (invierno donde yo me encuentro)

9acca9

Muchas gracias.
Estos son los rele que pienso comprar....

http://articulo.mercadolibre.com.ar/MLA-632946340-modulo-relay-rele-de-4-canales-5v-10a-arduino-pic-avr-_JM

Creo que, no tengo que comprar transistores para estos... no?

El mòdulo lo vi (bah, vi este:http://articulo.mercadolibre.com.ar/MLA-628305878-termostato-digital-control-de-temperatura-w1209-_JM)


... pero si bien no sè nada, no creo que me lo cargue, y me interesa màs comprar el arduino asì puedo "jugar", y aprender un poco, ademàs de a futuro quizàs darle otra utilidad.
Estuve viendo las cosas que se pueden hacer y la verdad que es impresionante.
En principio probablemente tambièn intente controlar las luces del acuario (tengo unas dicroicas led a 220) y otras que son "luz de luna"... unos led azules que suelo encedender.

Saludos y muchas gracias!

GO_zalo

perdona no lei bien si vas a usar esos reles no necesitas transistores, pero si vas a poner tanto relé si que vas a necesitar otra fuente independiente mejor (aún que a mi me han funciona bien estos módulos con la misma fuente y buenos condensadores)


9acca9

mmmm...... porque si bien ahora voy a usar un ùnico rele, se alimentan los 4...... es asì?
Cómo sería esto entonces 5v x 4?

Gracias y disculpà la ignorancia.

surbyte

Traigo este tema del foro general donde abriste un hilo del 2011. No lo vuelvas a hacer por favor!!
Quote
Hola.
Esto es viejo, pero... alguien podría verificarme esta información?
Porque un compañero me dijo que conectó su arduino nano a 12v... y se recontra calentaba.
Saludos y gracias
Si la pregunta esta relacionada con este hilo porque no la haces acá?

Bien, un nano se alimenta por la entrada VIN con algo que esten entre 6.5 y algo mas de 12V. Pongo asi algo mas, porque empezamos a exceder los limites de lo tolerable para el arduino.
Lo recomendable es usar 6.5 a 7 como ideales pero hasta 12 esta bien.


9acca9

#8
Dec 08, 2016, 10:00 pm Last Edit: Dec 08, 2016, 10:23 pm by 9acca9
Ok, muchas gracias.
he avanzado un poco en este tema.
Ya soldé todos los pin, y estoy haciendo pruebas. Conecté el sensor de temperatura y funciona a las mil maravillas.
Ahora estoy con el tema del relé.
Pero bueno, estoy viendo el código y quería consultarles qué piensan del mismo.
La idea es que cuando la temperatura llegue a los 29° C se enciendan los cooler que están conectados al relé. y que si la temperatura baja los 26°C se apaguen.

Code: [Select]

/******************************/
/*  Medir Temperatura ds18b20 y activar cooler por relé */
/******************************/

/*** Librerías ***/

#include <OneWire.h>                 //Se importan las librerías
#include <DallasTemperature.h>

//** Definiciones **//
 
#define Pin 10                        //Se declara el pin donde se conectará la DATA
 
OneWire ourWire(Pin);            //Se establece el pin declarado como bus para la comunicación OneWire
 
DallasTemperature sensors(&ourWire); //Se llama a la librería DallasTemperature


//** Programa **//

void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin();   //Se inician los sensores
pinMode(7,OUTPUT);
}
 
void loop() {
sensors.requestTemperatures();       //Prepara el sensor para la lectura
float temperatura = sensors.getTempCByIndex(0);
Serial.print(temperatura); //Se lee e imprime la temperatura en grados Centigrados
Serial.println(" Grados Centigrados");


delay(1000);                         //Se provoca una parada de 1 segundo antes de la próxima lectura

if (temperatura>29)
{
    digitalWrite(7,HIGH); // se enciende el ventilador
}
if (temperatura<26)
{
    digitalWrite(7,LOW); //se apaga el ventilador
}
}


Es correcto el código??
Por cierto, si le subo un código incorrecto al arduino... puedo romperlo??
Saludos y gracias

pd:acabo de probar el código, y por lo que veo no funciona, porque parece sólo encender o apagar el relé, en vez de (abrirlo y cerrarlo)..... supongo que esa parte de código que "robé" el de "enciende apaga ventilador" es para cuando hay un ventilador conectado directamente y no a través de un relé, como en mi caso.

surbyte

La librería devuelve valores float por lo tanto tus comparaciones estan mal.
Asi no

Code: [Select]
if (temperatura>29) {
    digitalWrite(7,HIGH); // se enciende el ventilador
}
if (temperatura<26){
    digitalWrite(7,LOW); //se apaga el ventilador
}


debe ser asi

Code: [Select]
if (temperatura > 29.0) {
    digitalWrite(7,HIGH); // se enciende el ventilador
}
if (temperatura < 26.0){
    digitalWrite(7,LOW); //se apaga el ventilador
}

9acca9

#10
Dec 08, 2016, 11:31 pm Last Edit: Dec 09, 2016, 12:49 am by 9acca9
Hola.
Muchas gracias pero, algo sigue pasando...
Lo raro es que se enciende el cooler a los 26°C... y cuando llega a los 29°C se apaga... todo lo contrario.
Por debajo de 26 °C también se enciende.......
Es decir está todo el tiempo encendido hasta los 29°C y subiendo (ahí queda apagado......)

¿?

Gracias!

PD: Hice una modificación más y así sí funcionó.

Cambié low por high y viceversa

Code: [Select]
if (temperatura > 29.00)
{
    digitalWrite(7,LOW); // se enciende el ventilador
}
else if (temperatura < 26.00)
{
    digitalWrite(7,HIGH); //se apaga el ventilador
}
delay


Por qué así sí funciona????


surbyte

#11
Dec 09, 2016, 12:53 am Last Edit: Dec 09, 2016, 12:54 am by surbyte
Invierte, donde dice HIGH pone LOW y viceverza.
Porque es largo, pero no se que relé o módulo relé usas.
Normalmente los relés trabajan con lógica invertida. Se activan con LOW y se desactivan con HIGH.

Go Up