(01-06-2015, 11:37 PM)ArturoS escribió: Comentarios al Cao mini
En mi proyecto tengo previsto dos módulos (cajas) uno denominado "eléctrico" y otro "electrónico". El "eléctrico" va orientado a contener todo lo relativo a 220v: relés, fuente alimentación/regulador, tips y en el "electrónico" el microcontrolador los módulos, LCD, botones, bases jacks stereo para sondas... La comunicación entre las cajas se realizaría por cables multihilo apantallado (tipo telefonillo), aunque mejor si alimentación va por otro. esto me permite tener abajo, "donde reina la maraña de cables" la caja de conexionados eléctricos y poder llevar a un punto mas accesible el display y la botonera.
Creo que un planteamiento así le iría bien el caomini, ya que el apartado electrónico puede asustar a un no iniciado en microcontroladores, pero con realizar la conexión de los módulos siguiendo la instrucción de montaje y cargando el soft estándar lo tendría operativo. Y ya aportaría su dotes de brico a las conexiones de reles, leds u otro sistema, etc (cosa a lo que la mayoría está más acostumbrado) y que son mas específicos de cada instalación. Esta última caja estaría en el infierno y la primera se puede llevar a un lugar cómodo y presentable
Totalmente de acuerdo en todo. Incluso podría intalarse en un lateral del acuario a modo mochila. En mi refrigerador para el gambario, por falta de espacio lo he puesto colgando en el frente.
(01-06-2015, 11:37 PM)ArturoS escribió: Creo que el modulo RTC es irrenunciable (son 2€) ya que sin el no hay posibilidades de programación horaria de nada.
Creo que un control la iluminación con dimelado básico (hora encendido/hora apagado/tiempo de atenuación) no necesita incorporarle mucho código, y con 2/3 líneas es más que suficiente (que tampoco hay tanto pin disponible)
El problema del RTC es que suele ir acompañado de los módulos Dimmer y la programación de tareas. El protocolo de comunicaciones también es un módulo que carga mucho la RAM.
Intentaré sacar el máximo partido al Arduino Pro Mini. De hecho, ya empecé a reducir funcionalidad en alguna de mis librerías reduciendo funcionalidades no esenciales. Arduino Pro Mini está muy limitado, pero para los pequeños controladores donde se pueda usar, será genial.
(01-06-2015, 11:37 PM)ArturoS escribió: No se como llevas de investigado el tema de la comunicación con el arduino, que tendrá que ser serial no hay duda ¿Es necesario que sea master con HC-05 o sería suficiente HC-06 esclavo? es que peinando a los chinos lo mas bajo encontrado está en 4.30€, como para dos Ardu.mini. De todas formas ha de ser algo opcional, no crítico, porque muchos user se conformarán con una centralita básica para un acuario.
El alcance máximo del HC-05 es de unos 10 metros y su velocidad de transmisión entre 1200bps y 1.3Mbps. Es más de lo que necesitamos.
En teoría con este módulo podría establecer conexiones con otros dispositivos Bluetooth colocando uno de ellos en modo maestro (ROLE=1), y así formar una conexión punto a punto para transmitir datos entre dos microcontroladores o dispositivos, pero esta interesante característica nosotros no la vamos a considerar. Usaremos el HC-05 como esclavo (ROLE=0) que es el modo por defecto en el que viene configurado el módulo.
Me dió un poco de lata configurarlo. Algunos programas de ejemplo no me funcionaban.
También me dió bastante lata la comunicación Serial, hay que tener en cuenta que existen distintas posibilidades para usar comunicación Serial en Arduino y no todas las placas ofrecen las mismas posibilidades. En Arduino UNO, Pro Mini etc. existe un único canal Serial implementado por hardware, que además hace mucha falta para su uso para cargar programas y para depurar la programación con trazas, cosa imposible si estás usando el puerto para totra cosa. Por el contrario, en Arduino MEGA existen cuatro canales Seriales.
Es decir, en los primeros un solo canal se queda cortísimo y en el MEGA hay canales de sobra.
Se pueden implementar comunicaciones por puerto serie usando diferentes librerías cada una de ellas con diferentes tipos de limitaciones y para ello se usaran pines de entrada salida digital. Las principales limitaciones derivan de que la recepción serie implica hacer uso de un servicio de interrupción.
Estas soluciones por Software recurriendo a interrupciones son mucho peores, y dependiendo de las aplicaciones, las limitaciones de uso pueden ser demasiado importantes, pero no es nuestro caso.
He elegido la librería SoftwareSerial en su versión moderna. (Existe una SoftwareSerial obsoleta y la Nueva SoftwareSerial deriva de la NewSoftSerial. Tiene limitaciones importantes: Puede tener varias instancias, pero sólo 1 puede estar activo a la vez. No se puede transmitir y recibir simultáneamente. Puede interferir con otras bibliotecas o cón HardwareSerial si se utiliza a velocidades de transmisión lentas y tampoco es capaz de funcionar con velocidades altas. Puede ser sensible a interrumpir el uso por otras bibliotecas.
Podría haber escogido la librería AltSoftSerial, que es mucho más potente, no tiene tantas limitaciones: Puede transmitir y recibir simultáneamente. ofrece una interferencia mínima con el uso simultáneo de HardwareSerial y otras bibliotecas. El gran problema es que consume más recursos y en un Arduino UNO o en un Arduino Pro Mini ya estamos con una escasez importante de ciertos recursos. Concretamente, consume un temporizador de 16 bits (y no funcionará con ninguna biblioteca que necesite ese temporizador). Por esa razón se desactiva el PWM en algunos pines y puede ser sensible a interrupciones usadas en otras bibliotecas.
El estudio de los recursos en Arduino Pro Mini ha sido fundamental para decantarme por SofwareSerial que ofrece una funcionalidad suficiente para lo que necesitamos.
Ya he hecho algunas pruebas para diseñar un protocolo de comunicaciones adecuado y por culpa de todo lo anterior, los comandos van a viajar con un código de control para hacerlo tolerante a distintos tipos de fallos.
Si Arduino tarda en contestar a un comando, le puede llegar un reenvió del comando en mal momento. He hecho bastantes pruebas en este sentido y ya tengo un protocolo que me permite hacer lo más esencial. Las pruebas las realizo simulando diálogos entre un par de Arduinos.
Apenas he empezado a programar la parte de Android y espero que AppInventor sea suficiente para eso.
Este interfaz, no será imprescindible. El control puede funcionar con los parámetros por defecto, y estos puede cambiarse en el código.
(01-06-2015, 11:37 PM)ArturoS escribió: Y las cajas, las de electrónica salen por "una pasta", le entra a uno ganas de meterlo en un tupperware. Creo que una alternativa más económica es usar cajas eléctricas de superficie estancas (´"las de las gomas cónicas", pero también las hay lisas sin perforaciones previas) que salen bien de precio si no se dispara el tamaño (la más típica es de 10x10x5.5)
Cierto, son caras y rara vez das con una que se adapte a tus necesidades.
(01-06-2015, 11:37 PM)ArturoS escribió: Pd: me hubiera gustado ver la foto en el doc, pero "no ta"
¿Te refieres a fotos del refrigerador?
El Refrigerador que he montado no usa exactamente el diseño actual. La disposición de componentes es diferente. Me he tenido que apañar con una placa de topos enana, y con una caja poco adecuada (la misma que usé para el medidor de pH por tener tapa transparente. Si queréis os mando fotos de mi refrigerador de gambario. Aun no incluye nada de comunicaciones.
Os mando las fotos de mi refrigerador: