Acuariofilia Madrid

Versión completa: Aula Arduino para principiantes.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
hola antonio unas cosas jajaj como va con lo mio y otra para poner los ventiladores con el arduino que me hace falta gracias
Estoy ahora con algo que me corre bastante más prisa, pero ya he empezado la tarea.

Ya tienes una fuente de alimentación para los leds así que lo único que necesitas es un pequeño relé que se active con los 5 voltios de Arduino.
pero porque los reles los ventiladores van a 12 voltios no podrian ir directo con un tip como los led pregunto claro
Buenas tardes noches.

Sigo haciendo pruebas con los sensores.

Como me dijiste, te pego lo que pone al arrancar de modo lento el programa:
Código:
Ini. Botonera.
Botonera OK.
<Ring>
<<TWITT>>
<<BEEP>>

CAO Version 1.0.2 BETA ACU.XAVI
Fecha compilacion
Oct  5 2014 19:21:45
<<BEEP>>

Arranque lento
chequeo completo.
Ini. Parms.
PARM PROGMEM
MAGIC=1234512345
TIMESTAMP=1412536468
STR TIMESTAMP=05/10/2014 19:14:28
MAGIC=1234512345
TIMESTAMP=1412536468
STR TIMESTAMP=05/10/2014 19:14:28
=========================
Fecha actu.parms
05/10/2014 19:14:28
Numero de parametros =31
-------------------------
0)  0) Ftperiod  = 7200
1)  1) Zenit     = 9000
2)  2) Crepusc   =  450
3)  3) DimAzNoct =   35
4)  4) DimRoCrep =  180
5)  5) DimAmCrep =  200
6)  6) DimRoDiur =  240
7)  7) DimAzDiur =  240
8)  8) DimAmDiur =  240
9)  9) DimBlDiur =  240
10) 10) MinTmpAcu = 22.5
11) 11) L_TmpAcu  = 24.4
12) 12) H_TmpAcu  = 27.7
13) 13) MaxTmpAcu = 29.3
14) 14) HstTmpAcu =  0.2
15) 15) AlaTmpAcu = true
16) 16) EnaTmpAcu = true
17) 17) MinTmpLed =  5.0
18) 18) L_TmpLed  = 15.0
19) 19) H_TmpLed  = 42.0
20) 20) MaxTmpLed = 46.0
21) 21) HstTmpLed =  0.5
22) 22) AlaTmpLed = true
23) 23) EnaTmpLed = true
24) 24) MinPh     = 6.20
25) 25) L_Ph      = 6.70
26) 26) H_Ph      = 7.30
27) 27) MaxPh     = 7.70
28) 28) HstPh     = 0.10
29) 29) AlaPh     = true
30) 30) EnaPh     = true
=========================
<<BEEP>>

Ini. Dimmer.
Configurando Dimmer
Inicializando ciclo de 24 horas
** PARAMETROS DE FOTOPERIODO EN DECIMAS DE MINUTOS **
Fotoperiodo=7200,  Zenit=9000, DuracionCrep=450
DuracionDia=6750, DuracionNoche=6750
IniAlba=5175, IniDia=5625, IniOcaso=12375, IniNoche=12825
**** Conf. dimmer ****
_TimeT[0]=0
     led0) Dim0=35
     led1) Dim0=0
     led2) Dim0=0
     led3) Dim0=0
_TimeT[1]=6750
     led0) Dim0=35
     led1) Dim0=0
     led2) Dim0=0
     led3) Dim0=0
_TimeT[2]=6840
     led0) Dim0=11
     led1) Dim0=180
     led2) Dim0=0
     led3) Dim0=0
_TimeT[3]=6930
     led0) Dim0=0
     led1) Dim0=210
     led2) Dim0=200
     led3) Dim0=0
_TimeT[4]=7020
     led0) Dim0=0
     led1) Dim0=240
     led2) Dim0=220
     led3) Dim0=120
_TimeT[5]=7110
     led0) Dim0=120
     led1) Dim0=240
     led2) Dim0=240
     led3) Dim0=240
_TimeT[6]=7200
     led0) Dim0=240
     led1) Dim0=240
     led2) Dim0=240
     led3) Dim0=240
_TimeT[7]=13950
     led0) Dim0=240
     led1) Dim0=240
     led2) Dim0=240
     led3) Dim0=240
_TimeT[8]=14040
     led0) Dim0=120
     led1) Dim0=240
     led2) Dim0=240
     led3) Dim0=240
_TimeT[9]=14130
     led0) Dim0=0
     led1) Dim0=240
     led2) Dim0=220
     led3) Dim0=120
_TimeT[10]=14220
     led0) Dim0=0
     led1) Dim0=210
     led2) Dim0=200
     led3) Dim0=0
_TimeT[11]=14310
     led0) Dim0=11
     led1) Dim0=180
     led2) Dim0=0
     led3) Dim0=0
_TimeT[12]=14400
     led0) Dim0=35
     led1) Dim0=0
     led2) Dim0=0
     led3) Dim0=0
OK Ciclo 24 horas
<<BEEP>>


Ini().Sens Temp.
Ini. busqueda de
dispositivos OneWire
Buscar Sensor N=0
Sens0 DS18B20 en
28A1.7A81.0500.00C6
Buscar Sensor N=1
Sens1 DS18B20 en
287B.5682.0500.009C
Buscar Sensor N=2
Tot.sens.DS18x20=2
Num.Sens.Temp.=2
OK Sens.Temp.Acuario
287B.5682.0500.009C
OK Sens.Temp.LEDs
28A1.7A81.0500.00C6
Calibracion de PH
Erronea o ausente
V.Analog y TimeStam
en EEPROM (PH7:PH4)
V.A PH7:4(-1:-1)
TS 0:0
NO Sens.PhAn.Acuar.
Sens=PH Desconect
Sens=Ac AlarmSilen
Sensor=Ac:C  Min=225 Low=244  High=277 Max=293 Hist=2
Sens=Le AlarmSilen
Sensor=Le:C  Min=50 Low=150  High=420 Max=460 Hist=5
<<BEEP>>

FIN lento (95s)
Memoria libre=4411
<<BEEP>>

<<BEEP>>

Los sensores aparecen reconocidos y la temperatura parece marcar correctamente:

[Imagen: IMG_20141005_195109_zpshsbjjfwl.jpg]

Pero al momento, Arduino da un error con alarma sonora:

[Imagen: IMG_20141005_195102_zpsqihueomi.jpg]

Y un sensor da un error:

[Imagen: IMG_20141005_195104_zpsjeb6ey7p.jpg]

Vuelve a dar otra alarma:

[Imagen: IMG_20141005_195106_zpsk9bfushx.jpg]

Y la temperatura vuelve a marcar correctamente:

[Imagen: IMG_20141005_195109_zpshsbjjfwl.jpg].

Comentarte que para descartar un sensor defectuoso, he intercambiado las direcciones de los sensores, si el fallo estubiese en el sensor, fallaría la temperatua de los leds, pero siempre da el error en la temperatura del acuario.

No se donde puede estar el error, si en mi hardware o en en hecho que utilizo Windows7. Espero que otro compañero lo compile y veamos el resultado.

Otra pregunta-apreciación, en el menu de PARAMETROS-MODIFICAR PARAMETROS-AlaTmpAcu=true, aparece en el lcd :

[Imagen: IMG_20141005_202645_zpsxsbp2ggz.jpg]

La parte de abajo, ¿tiene alguna función?.

Tengo hecho un pequeño montaje con el CAO1, con leds de baja potencia, para verificar su funcionamiento.

[Imagen: IMG_20141005_203250_zpsmmkgpleq.jpg]

(Los leds los he puesto poca abajo, si no no se ve nada en la foto, jejeje).

Edito: He probado forzar a que salte la alarma del sensor que falla, (temperatura del acuario), y entonces la temperatura se queda bloqueada en "85".

Saludos
(05-10-2014, 09:35 PM)xavi escribió: [ -> ]Buenas tardes noches.
Sigo haciendo pruebas con los sensores.
Como me dijiste, te pego lo que pone al arrancar de modo lento el programa:
[code]
Ini. Botonera.
Botonera OK.
<Ring>
CAO Version 1.0.2 BETA ACU.XAVI -good.gif
(...)
Saludos
En el arranque lento ya tenemos toda la información relativa a ese
sensor que da problemas.

La alarma acustica está activada. Puedes ponerla en modo silencioso
(AlaTmpAcu = false) para no volverte tarumba con tanta alarma.
El sensor y la alarma seguirán mostrándo un funcionamiento idéntico
mientras el sensor esté habilitado (EnaTmpAcu = true).

En cualquier caso parece que las lecturas del sensor sumergido son
totalmente caóticas (85ºC) y aparecen valores irreales.
Esto ya lo he vivido yo en multitud de ocasiones.

Puede tener que ver con deficiencias en la hermeticidad de la sonda de temperatura, o con fallos por captar interferencias.

Si las pruebas sumergidas eja secar bien las sondas. Haz pruebas en seco.
¿Estás usando cable blindado con malla a masa?

Dime que tipo de sondas sumergibles estás usando. A mi estos problemas me han aparecido en sondas comerciales que se venden como sumergibles y en algunas de las sondas impermeabilizadas por mí. Logré impermeabilizar sondas que llevan año y medio funcionando sin problemas.

No basta con evitar que la humedad llege al sensor. El pegamento que se use como sellador debe tener un aislamiento al paso de la corriente perfecto.La sensibilidad del chip a la menor deficiencia en el aispamiento o a los fallos del blindaje contra interferecias es algo espectacular.

El software sensor hace un elevado número de lecturas y las promedia, pero a
pesar de ello la lectura obtenida es erronea. Seguramente el chip DS18B20 está recibiendo toda clase de interferencias eléctricas y tienes que averiguar como evitarlo.

El software parece estar funcionando bastante bien.

COSAS QUE ADMITEN MEJORAS

* Ac) Decr -> HIGH
Esto no es una alarma sino un cambio de estado normal en el sensor. Puede que el sistema de notificación de alarmas se esté mezclando con la notificación de cambios de estado (que es algo útil pero tampoco impresindible).

* El mesaje de la línea inferior Incr = +/-(1) aparece cuando los botones UP y DOWN van a provocar incrementos o decrementos delos valores en una unidad. Ciertamente, para este tipo de dato lógico no tiene mucho sentido esa información.

(05-10-2014, 09:33 PM)william escribió: [ -> ]pero porque los reles los ventiladores van a 12 voltios no podrian ir directo con un tip como los led pregunto claro
No he probado nunca y tratándose de ventiladores que tienen cargas inductivas y que pueden bombardear con picos de sobre tensión que terminen cargándose los semiconductores que usemos para conmutarlos, yo he preferido usar relés que son más seguros en ese aspecto. No podría asegurarte que no se pueda hacer.

La placa de relés la puedes comprar o, si tienes maña con el soldador, puedes hacerla tú porque solo necesita ponerle un transistor que amplifique la salida de Arduino para alimentar el relé. Yo he probado dos circuitos baratos para relés que van bien.
El uso de relés en Arduino.
Buenos dias.

 

Aunque sea el sensor del acuario, no lo tengo sumergido, tengo dos sensores DS18B20 sobre la mesa, sensores sin cubrimiento metálico.

Lo que me desconcierta de su malfuncionamiento es lo siguiente:

a/ Compilo el ejemplo “TESTER” de la libreria Dallas Temperature, y aparecen los dos sensores, con sus direcciones, y parece funcionar bien.

b/ Hice la siguiente modificación en CAO1_1.h:

Eliminé

#define ACU150L

#ifdef ACU150L

#define _LOCATION "ACU 150L"

#define ADDR_DS18X20_TEMP_LEDS  "2821.1AD0.0500.006A" // ACUARIO 150l

#define ADDR_DS18X20_TEMP_ACUA  "282B.24D0.0500.0083" // ACUARIO 150l (sonda pegamento termofusible)

#else

#define _LOCATION "DESPACHO"

#define ADDR_DS18X20_TEMP_LEDS  "2821.1AD0.0500.006A" // ACUARIO 150l

#define ADDR_DS18X20_TEMP_ACUA  "28CB.ECBD.0400.0010" // Despacho sonda metalica

#endif

 

Añadí:

#define _LOCATION "ACU.XAVI"

#define ADDR_DS18X20_TEMP_LEDS "28A1.7A81.0500.00C6" // LEDS

#define ADDR_DS18X20_TEMP_ACUA "287B.5682.0500.009C" // Temp.Agua

 

Compilo y me da el error que señalo. Pues bien, si intercambio las direcciónes de los sensores, es decir:

 

#define ADDR_DS18X20_TEMP_LEDS "287B.5682.0500.009C"// LEDS

#define ADDR_DS18X20_TEMP_ACUA "28A1.7A81.0500.00C6"  // Temp.Agua

 

No debería fallar el sensor de leds, en vez de acuario?.

Perdona por el formato de este montaje, pero en el movil no tengo las mismas opciones que en el pc.

Saludos
hola antonio una cosa los reles que compre no tienen que ser de 12v ? porque me pones de 5v
El relé está controlado por Arduino.
La salida del pin del Arduino da 5v.
El relé necesita 5v para activarse.
El relé corta la corriente de 12, 24...voltios.

Ok?

Y sobre el control de un ventilador con TIP, mira este esquema:
[Imagen: rfp30n06le-arduino-motor_zpse71d62b0.png].

Yo tengo varios circuitos de esta manera y de momento parece funcionar bien.
(06-10-2014, 10:40 AM)xavi escribió: [ -> ]Buenos dias.

 

Aunque sea el sensor del acuario, no lo tengo sumergido, tengo dos sensores DS18B20 sobre la mesa, sensores sin cubrimiento metálico.

Lo que me desconcierta de su malfuncionamiento es lo siguiente:

a/ Compilo el ejemplo “TESTER” de la libreria Dallas Temperature, y aparecen los dos sensores, con sus direcciones, y parece funcionar bien.

b/ Hice la siguiente modificación en CAO1_1.h:

Eliminé

#define ACU150L

#ifdef ACU150L

#define _LOCATION "ACU 150L"

#define ADDR_DS18X20_TEMP_LEDS  "2821.1AD0.0500.006A" // ACUARIO 150l

#define ADDR_DS18X20_TEMP_ACUA  "282B.24D0.0500.0083" // ACUARIO 150l (sonda pegamento termofusible)

#else

#define _LOCATION "DESPACHO"

#define ADDR_DS18X20_TEMP_LEDS  "2821.1AD0.0500.006A" // ACUARIO 150l

#define ADDR_DS18X20_TEMP_ACUA  "28CB.ECBD.0400.0010" // Despacho sonda metalica

#endif

 

Añadí:

#define _LOCATION "ACU.XAVI"

#define ADDR_DS18X20_TEMP_LEDS "28A1.7A81.0500.00C6" // LEDS

#define ADDR_DS18X20_TEMP_ACUA "287B.5682.0500.009C" // Temp.Agua

 

Compilo y me da el error que señalo. Pues bien, si intercambio las direcciónes de los sensores, es decir:

 

#define ADDR_DS18X20_TEMP_LEDS "287B.5682.0500.009C"// LEDS

#define ADDR_DS18X20_TEMP_ACUA "28A1.7A81.0500.00C6"  // Temp.Agua

 

No debería fallar el sensor de leds, en vez de acuario?.

Perdona por el formato de este montaje, pero en el movil no tengo las mismas opciones que en el pc.

Saludos

Tienes razón, no me fijé bien. Lo que comentas sería muy raro. Huh

Hay que cerciorarse de que realmente ocurre lo que crees que está ocurriendo. Podrías estar confundiendo una notificación de cambio de estado de salida con una alarma o alguna otra cosa que no se esté interpretando bien.

¿Se escucha la alarma acústica?
¿Las salidas del sensor dan un valor estable o parece que está loco?
¿Has verificado la información de los sensores en la opción del menú?

Al intercambiar las direcciones debe tomar los sensores cambiados y parece que solo coge uno de ellos pero no siempre es el mismo y siempre falla el que se asigna a la temperatura del agua. Realmente raro, muy raro.

Lo único que me parece que podría diferenciar a un sensor del otro en el programa aparte de sus diferentes parámetros y su diferente dirección de sensor es el orden en que se leen los sensores. Dudo que sea eso, pero es tan raro que hay que buscar alguna explicación.

Código:
void CaoMonitoringProc(){
    static int Turno;
    DateTime now = RTC.now();
    uint32_t UnTi;

    SensTempAcua.Read();
    SensTempLeds.Read();
    SensPhAn.Read();
(...)
CaoMonitorigProc() se encuentra en CAO1_1.ino y se ejecuta cada dos segundos.

Más cosas. Hay dos modos de conexion.
[Imagen: Conexiones_DS18B20.jpg]

El modo normal es el más fiable y el que yo uso.

No se me ocurren más cosas.
Un volcado de la salida serial podría ponerme sobre la pista.

(06-10-2014, 11:06 AM)xavi escribió: [ -> ]El relé está controlado por Arduino.
La salida del pin del Arduino da 5v.
El relé necesita 5v para activarse.
El relé corta la corriente de 12, 24...voltios.

Ok?

Y sobre el control de un ventilador con TIP, mira este esquema:
[Imagen: rfp30n06le-arduino-motor_zpse71d62b0.png].

Yo tengo varios circuitos de esta manera y de momento parece funcionar bien.

Ya pero no es un TIP es un MOSFET. No los he usado nunca pero en efecto, aunque yo no los he utilizado nunca los he visto usar con cargas inductivas y podrían incluso servir para dimear sobre motores. Me parece una opción muy interesante para usarlos con ventiladores. Por probar no pierdes nada y podría ofrecerte ventajas sobre un relé.

Buen aporte William. Es uno de los temas que yo tenía pendiente de investigar.
Volcado de la salida serial?. Ok, luego le pongo.

Yo los tengo conectados en modo parásita.

Una vez a arrancado el programa, la secuencia es:

1. Marca bien la temperatura ambos sensores.
2. Alarma sonora.
3. Cambio estado sensor (según me has comentado), Ac)Big Grinecr - High.
4. Marca mal temperatura.
5). Cambio estado sensor a Low.
6) Marca bien temperatura.

Ahora mismo no recuerdo bien la secuencia de la alarma Sonora.

Puede que el fallo se de cíclicamente cada 2 segundos.

Saludos
(A ver si nos animamos a probar CAO....).
Acabo de publicar un vídeo que comenta lo que es CAO1.

Controlador de Acuarios por Ordenador CAO1 Ver. 1.0

En unos días publicaré el libro cuyo borrador ya estáis disfrutando vosotros en exclusiva en agradecimiento por vuestro interés por el proyecto.

En este momento salgo a hacer unos recados. Si tardo algo en responder, ya sabéis por qué.
hola una cosa mas jajjaa cual es mejor comprar
DS18B20 Sensor de temperatura digital
LM35 Sensor de temperatura analogico

muy chulo el video te lo curras bien tio
Yo no he desarrollado ningún modulo para el LM35, pero si te atreves a desarrollar un módulo para ese sensor, por mi estupendo, jajjaa Big Grin

Fuera de bromas, las comparaciones habría que hacerlas en la práctica. El hecho de que la sonda tenga que sumergirse no es un asunto menor y solo he probado con la DS18B20 que me parece muy buena sonda

(06-10-2014, 11:59 AM)xavi escribió: [ -> ]Volcado de la salida serial?. Ok, luego le pongo.

Yo los tengo conectados en modo parásita.

Una vez a arrancado el programa, la secuencia es:

1. Marca bien la temperatura ambos sensores.
2. Alarma sonora.
3. Cambio estado sensor (según me has comentado), Ac)Big Grinecr - High.
4. Marca mal temperatura.
5). Cambio estado sensor a Low.
6) Marca bien temperatura.

Ahora mismo no recuerdo bien la secuencia de la alarma Sonora.

Puede que el fallo se de cíclicamente cada 2 segundos.

Saludos
(A ver si nos animamos a probar CAO....).

Todo podría tener que ver con el hecho de conectar los sensores en modo de alimentación parásita. Para una sola sonda va bien, pero para más de una quizás pueda dar problemas en algunos casos.
Hago el montaje como tu y te digo.

Gracias.

Pd: el vídeo es muy ilustrativo
(06-10-2014, 12:12 PM)Antonio Castro escribió: [ -> ]Acabo de publicar un vídeo que comenta lo que es CAO1.

Controlador de Acuarios por Ordenador CAO1 Ver. 1.0

En unos días publicaré el libro cuyo borrador ya estáis disfrutando vosotros en exclusiva en agradecimiento por vuestro interés por el proyecto.

En este momento salgo a hacer unos recados. Si tardo algo en responder, ya sabéis por qué.


Muy buen video Antonio -notworthy.gif