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.
En breve publicaré una primera versión completa del código de de CAO1
Lo publicaré como versión Beta.

Voy a dejar una página en mi blog a modo de tablón de anuncios para ir avisando de más cositas, porque tengo previsto publicar algún vídeo explicativo y un libro en fomato electrónico.

Página del proyecto CAO

Tanto el libro como el código los publicaré bajo licencia: Creative Commons Attribution-NonCommercial-ShareAlike (CC by-nc-sa).
Buenas noches.

No sabía que en el Fritzing se podía quitar la protoboard.

Ya tengo el núcleo fe ferrita y los condensadores.

Antonio, en el proyecto CAO-1, que sensor de PH utilizas?, la versión V1 ó V2?.

Saludos
hola si pretendo dimear led a 9 o10 amp maximo con dos tip142 y arduino mega 2560 el dimeo en arduino es de 0 a 100 ,aun no he checado si hace ruido al 100% sin dimear,buscare la ferrita y probare,muchas gracias .
(17-09-2014, 11:16 PM)xavi escribió: [ -> ]Buenas noches.

No sabía que en el Fritzing se podía quitar la protoboard.

Ya tengo el núcleo fe ferrita y los condensadores.

Antonio, en el proyecto CAO-1, que sensor de PH utilizas?, la versión V1 ó V2?.

Saludos

Yo he tenido oportunidad de probar dos sensores. El primero fue este:
(CAO-12) Módulo para el uso de Arduino PH Shield, de Dormant Labs

El segundo fue este otro:
Arduino Dormant Labs PH Module V2 (para I2C)

De momento el módulo que tengo implementado es para el primero. Solo se trata de implementar un segundo módulo para la segunda versión.

(18-09-2014, 07:44 AM)libre escribió: [ -> ]hola si pretendo dimear led a 9 o10 amp maximo con dos tip142 y arduino mega 2560 el dimeo en arduino es de 0 a 100 ,aun no he checado si hace ruido al 100% sin dimear,buscare la ferrita y probare,muchas gracias .

Ok, ya me comentarás.
Pero el modulo V1 ya no esta a la venta, no?. Me refiero a que si alguien con pocos conocimientos de programación ( yo mismo) quisiera montar un controlador CAO1, lo tendrá difícil.

Saludos
(18-09-2014, 09:33 AM)xavi escribió: [ -> ]Pero el modulo V1 ya no esta a la venta, no?. Me refiero a que si alguien con pocos conocimientos de programación ( yo mismo) quisiera montar un controlador CAO1, lo tendrá difícil.

Saludos

No me he había dado cuenta de ese importante detalle. Hay otros sensores que usan un hardware muy parecido. Básicamente todos ellos usan una entrada analógica para entregar un valor que será linealmentre proporcional al pH.

Aunque no lo he verificado, creo que cualquier sensor de este tipo podría usar ese módulo. Tienes por ejemplo estos:
pHduino
BNC Sensor Shield.

En todos los casos, el procedimiento de calibración sería el mismo. Consiste en tomar un par de medidas para dos valores conocidos que en nuestro caso son pH=4 y pH=7, y usarlos para interpolar los valores de la sonda en condiciones de medida real.

Lo que habría que cambiar para que funcionara para una sonda de otro tipo son los valores 4 y 7 con aquellos que nos sean útiles para interpolar.

No estoy diciendo que la placa para medir el pH sirva para medir potencial Redox porque los amplificadores operacionales estarán calibrados en un rango diferente y con una sensibilidad diferente, pero también he visto circuitos donde se puede calibrar la respuesta de esos amplificadores mediante trimmers para poder usarlos con propósitos diferentes.

Esos trimmers, también sirven para aumentar la sensibilidad porque puedes calibrar el rango de medida a nivel hardware. Es decir podrías lograr que un pH=6 entregue 0v y un pH=8 entregue 5v y tendrías un sensor calibrado para obtner la máxima precisión entre pH 6 y 8. Es solo un ejemplo pero el pHDuino creo que usa este enfoque o uno muy parecido.

Sospecho que incluso con unas modificaciones mínimas a mi módulo se podría usar para gestionar una sonda que mida el potencial Redox o una sonda de conductividad eléctrica, etc. siempre que usen circuitos similares.

Lo que me estoy dando cuenta es que el sensor que he llamado pHSield es en realidad un tipo de sensor genérico. Sospecho que a ese módulo terminaré llamándolo de una forma más genérica porque en realidad es un módulo para sensores de respuesta lineal que usan entrada/salida analógica y hay unos cuantos sensores de este tipo.

La versión BETA de CAO1 se quedará como está, pero tenía pensado implementar el módulo para la versión I2C en la versión 1.2 de CAO1, pero parece que sería conveniente que incluya ese módulo en la versión 1.0. No sé lo que haré, en cualquier caso, muchas gracias por el aviso.

Si tenéis en mente otro tipo de sensores de pH o sensores de lo que sea, este es el momento de decirlo. Yo no me voy a a comprar toda clase de sensores, pero si supiera que alguien va a probar un sensor y está dispuesto a usarlo con CAO1 me apetecerá programarlo.

Xavi, los aportes que estás haciendo vienen siendo muy buenos. Gracias.
Buenos dias.

 

Las gracias tendíamos que dártelas a ti, Antonio, por tu infinita paciencia y por compartir tus conocimientos con nosotros.

Preguntas que tipo de sensor tenemos en mente; creo que para un acuario de agua dulce, con el PH sería suficiente. Los acuarios de agua salada son mas complejos

Si me permites, te explico, siempre según mi punto de vista, las funcionalidades básicas que se podrían implementar a un controlador:

-El tema de PH, importante para un acuario dulce. Este sensor debe controlar un relé para la selenoide del CO2.

-Control temporizado de varios relés; por si nos hace falta poner una lámpara UV, un skimmer de superficie, etc.

-Control de Nivel Agua del acuario; para mí, importantísimo. Si tenéis espacio suficiente para poner una garrafa de agua para relleno, no os lo penséis. El control de nivel debe ser se máxima seguridad (redundante?), para evitar desbordamientos (por error de las boyas, por ejemplo). Tengo instalado uno con doble boya; para que se active la bomba deben activarse ambas boyas a la vez, a la que una no da señal, se cierra el circuito. He visto algún código por internet que controlan las veces que se repone agua por hora o por día, para evitar que la bomba, en caso de fallo de la boya, esté vertiendo agua sin cesar.

-Control de Nivel Agua de bidón de relleno; para que no se queme la bomba de relleno.

-Canales de dimeo. En tu proyecto contemplas 4 canales de dimeo. Yo creo que son pocos para un acuario de agua dulce. Los amantes de los acuarios plantados, que utilizan rutinas de abonado, CO2, substratos enriquecidos y demás, me parece buscan leds de diferentes longitudes de onda para cubrir el máximo espectro posible. Si bien se podría montar una línea de leds combinados, canales de leds independientes darían mas control.

Bueno, vaya tocho me ha salido.

Mi inquietud sobre el sensor de PH de Dormant Labs viene a que quiero comprar uno, pero no me gustaría tenerlo guardado en un cajón por no saber instalarlo en tu versión de CAO1.

 

Tres últimos comentarios:

-El Arduino DUE dimea con los TIP142 (los que tengo), comprobado.

-¿Conoces el TLC5940?

http://playground.arduino.cc/learning/TLC5940

Con este driver aplicado a un Arduino Mega se podría obtener 16 canales PWM con 12 bit.

-Que te parece este componente de Adafruit:

[Imagen: Adafruit_zpsf549321e.jpg]

http://www.adafruit.com/products/815

Al igual de con el TLC5940, pero únicamente por conexión I2C, podemos tener 16 canales a 12 bits. Estoy tentado de comprarme uno…

Saludos.
(19-09-2014, 08:07 AM)xavi escribió: [ -> ]Buenos dias.

 

Las gracias tendíamos que dártelas a ti, Antonio, por tu infinita paciencia y por compartir tus conocimientos con nosotros.

Preguntas que tipo de sensor tenemos en mente; creo que para un acuario de agua dulce, con el PH sería suficiente. Los acuarios de agua salada son mas complejos

Si me permites, te explico, siempre según mi punto de vista, las funcionalidades básicas que se podrían implementar a un controlador:

-El tema de PH, importante para un acuario dulce. Este sensor debe controlar un relé para la selenoide del CO2.

-Control temporizado de varios relés; por si nos hace falta poner una lámpara UV, un skimmer de superficie, etc.

-Control de Nivel Agua del acuario; para mí, importantísimo. Si tenéis espacio suficiente para poner una garrafa de agua para relleno, no os lo penséis. El control de nivel debe ser se máxima seguridad (redundante?), para evitar desbordamientos (por error de las boyas, por ejemplo). Tengo instalado uno con doble boya; para que se active la bomba deben activarse ambas boyas a la vez, a la que una no da señal, se cierra el circuito. He visto algún código por internet que controlan las veces que se repone agua por hora o por día, para evitar que la bomba, en caso de fallo de la boya, esté vertiendo agua sin cesar.

-Control de Nivel Agua de bidón de relleno; para que no se queme la bomba de relleno.

-Canales de dimeo. En tu proyecto contemplas 4 canales de dimeo. Yo creo que son pocos para un acuario de agua dulce. Los amantes de los acuarios plantados, que utilizan rutinas de abonado, CO2, substratos enriquecidos y demás, me parece buscan leds de diferentes longitudes de onda para cubrir el máximo espectro posible. Si bien se podría montar una línea de leds combinados, canales de leds independientes darían mas control.

Bueno, vaya tocho me ha salido.

Mi inquietud sobre el sensor de PH de Dormant Labs viene a que quiero comprar uno, pero no me gustaría tenerlo guardado en un cajón por no saber instalarlo en tu versión de CAO1.

 

Tres últimos comentarios:

-El Arduino DUE dimea con los TIP142 (los que tengo), comprobado.

-¿Conoces el TLC5940?

http://playground.arduino.cc/learning/TLC5940

Con este driver aplicado a un Arduino Mega se podría obtener 16 canales PWM con 12 bit.

-Que te parece este componente de Adafruit:

[Imagen: Adafruit_zpsf549321e.jpg]

http://www.adafruit.com/products/815

Al igual de con el TLC5940, pero únicamente por conexión I2C, podemos tener 16 canales a 12 bits. Estoy tentado de comprarme uno…

Saludos.
1) Yo estoy convencido de que el potencial Redox en agua dulce es muy importante, pero por costumbre no se usa. En Marino hace falta más de todo porque los equilibrios parece que son más frágiles. Bueno..., y los ejemplares generalmente más caros. 

2) En CAO1 la configuración de los sensores incluye opcionalmente un parametro incrementador del parametro físico que miden y otro para un pin decrementador. Eso para la temperatura significa que puedes controlar un calefactor y/o un refrigerador. Para un sensor de nivel significa que puedes controlar la válvula de llenado y la válvula de vaciado, etc.

3) Comparto la importancia de disponer controladores de los niveles de acuario y es algo que tengo pendiente de hacer en este año. Me interesa lo del montaje de las boyas. La redundancia se podría complementar con un tipo de sensor por conductividad. Yo en este momento para el llenado uso una alarma sonora conectada a un detector de humedad que suena cuando dos conductores tocan el agua. 

4) Cambiar por ejemplo el dimmer de 4 canales por uno de 5 implicaría recodificar el módulo y añadir parámetros. El hecho de tener que guardar los parámetros de cada canal en la EEPROM tiene consecuencias porque en mi diseño el número de parámetros en la EEPROM debe de ser fijo para que al arrancar los cargue todos. Lo que se podría hacer es reservar espacio en la EEPROM para un máximo numero de canales y luego dar opcion a usar menos, pero eso en la programación actual tampoco está contemplado.

5) No te preocupes que si compras el Sensor de DormanLabs V2 para I2C no se quedará en tu cajón. Yo lo tengo y ya he echo pruebas con él. Es más preciso que la versión para entrada analógica. No he implementado el módulo para él porque ya tenía implementado el módulo para la versión anterior, pero ya tenía en mente desarrollarlo.

6) Yo sospechaba que el Arduino DUE dimea con los TIP141 pero no lo he comprobado aún. Tu exitosa prueba con el TIP142 supongo que lo confirma ya que son muy parecidos.

7) En cuanto al TLC5940 no lo conocía y me parece espectacular. Me apetece mucho probarlo y cuando tenga algo más de tiempo lo haré. 
Buenas tardes.

Comenté unos posts mas atrás que tenía un problema con la fuente de alimentación, que hacía ruido al dimear.

Antonio apuntó por poner un núcleo de ferrita y unos condensadores. Así lo hice con resultado negativo.

Después, repasando los cálculos de consumo de los leds, me di cuenta de que estaba llevando al limite la fuente de alimentación, y que posiblemente ese es lo que genera el zumbido, bastante molesto, por cierto.

A la espera de que me llegue una fuente mas potente, he leído por internet lo que comentó Antonio sobre la frecuencia del PWM de los pines del Arduino.

Puestos a trastear, he conseguido casi eliminar el ruido modificando la frecuencia.

Luego pongo el código que he utilizado, y la pagina de donde no he sacado.

Continuo: de esta web he sacado el código para variar la frecuencia de los pines pwm:

http://www.bitacoradealfon.es/arduino_fu...nsidad.php

He colocado en el setup la sentencia setPwmFrequency(11, 1), donde 11 es el pin a modificar la frecuencia, y 1 es el divisor. al final de la página esta el void setPwmFrequency que llama la función anterior y los divisores a utilizar. probando con todos los divisores, la fuente de alimentación pasa de hacer el mismo ruido, a atenuarse el sonido bastante, y finalmente a no escuchar nada, pero los leds trabajara modo de lámpara estroboscopica.

Saludos
Hola de nuevo.

Me han dejado una fuente de alimentación de mas calidad y de bastante mas amperaje, y no hace nada de ruido, con el código antiguo.

Esta claro que el problema eran unos cálculos erróneos por mi parte, que estaba exprimiendo la fuente demasiado. De momento dejo la fuente que me han dejado, y espero otra que he comprado en aliexpress.

Comento esto por si alguien tiene el mismo problema.

Saludos
Estupendo. Un problema menos. El ruido te ha servido de aviso. Las fuentes deben de ir sobradas de potencia, en especial cuando se trata de aparatos que van a estar varias horas seguidas conectados.

Una preguntita por curiosidad. El TLC5940 no solo trae conexión para I2C. Tiene salidas para las entradas analógicas de Arduino A0, A1,...A5 y no pillo para qué sirven.
(14-09-2014, 07:02 PM)Antonio Castro escribió: [ -> ]
(14-09-2014, 04:13 PM)Davidmadrid escribió: [ -> ]
(14-09-2014, 01:20 PM)xavi escribió: [ -> ]Antonio, en el tema de Arduino-Acuarios hay varias categorías, si me permites el símil futbolístico; tu juegas en la primera división entre los tops, yo intento hacerlo entre la 4° ó 5° regional.


Jajaja, muy bueno, entonces yo creo que aun tengo que comprartme la equipación para poder jugar.

Tranquilos chicos. Si Juanma puede, vosotros también. Big Grin
yo soy tonto chavales
No te subestimes; si estás por aquí, interés no te falta.
Buenos dias.

Sobre lo que comentas sobre las salidas de TLC5940. Yo pensaba que la conexión era por protocolo SPI,  y la placa de Adafruit (que utiliza un driver PCA9685) la conexión era por I2C.

He leido que se utilizan en el ambito de la robótica, pero que a parte de servos, pueden controlar cualquier dispositivo que acepte PWM (leds).

En particular, el dispositivo de Adafruit lo veo muy útil, controlar 16 canales de leds con dos únicas conexiones.

Y poco mas puedo comentarte Antonio.

Saludos
hola soy nuevo en el foro e leído un poco en este foro estoy en busqueda de ayuda para mi pantalla led tengo lo siguiente para montar una pantalla para mi acuario de agua marina
50 led de 3w cada una 10 royal blue 10 blue 10 ultra violeta 18 de 15000k 2 rojas
un arduino mega un reloj de tiempo real una pantalla lcd de 16,2 con botonera tip 122 recistencias 2k2 cables FA de 36v 360w y demás jajja el esquema de montaje es algo como en la foto yo tengo 5 lineas de 10 led cada una paso a lo que tengo en foto

lcd http://www.ebay.es/itm/360913292787?...84.m1497.l2649
reloj http://www.ebay.es/itm/400417714401?...84.m1497.l2649
TIP122 http://www.ebay.es/itm/370668479734?...84.m1497.l2649
http://www.ebay.es/itm/121034198819?...84.m1497.l2649
arduino http://www.ebay.es/itm/360790082588?...84.m1439.l2649
[Imagen: 0UibCKl.jpg]