QUEDADA AM - ABRIL

Quedada conjunta con nuestros amigos de la AEA, que nos ofrecerán una interesante charla.
DOMINGO, 7 DE ABRIL. ¡APÚNTATE YA!

Más info
image01

¿Aún no conoces AMA?

Hazte socio de Acuariofilia Madrid Asociación.
CERRADO EL PLAZO DE INSCRIPCIÓN

Más info
image01

Atlas de peces de AM

¡Hemos alcanzado las 800 fichas! Visita nuestro atlas de peces actualizado.

Más info
image01

Cardúmenes y sociabilidad

Nueva actualización de la tabla con una extensa relación de peces, donde podrás conocer qué entorno necesita cada especie, su sociabilidad y si convive o no en cardumen. ¡Pasa a descubrirla!

Mas info
image01
CaoBT un proyecto Arduino con HC-05
Respuestas: 43    Visitas: 16962
#31
Las ESP8266 ya son otro mundo, y se alejan del control desde arduino y pueden funcionar por libre y programarse con lua (creo), además las ultimas release lleva un montón de GPIO (https://drive.google.com/file/d/0B6HhsEC...V1V0E/view)

Tienes un foro solo para ello http://www.esp8266.com/ (recuerdo haber visto foro/blog en cristiano pero no lo localizo ahora), creo que ya profundizan mas en el IOT de lo que necesitamos

Algunos enlaces
http://www.akirasan.net/programacion-dir...o-esp8266/
http://recetastecnologicas.blogspot.com....p8266.html
http://marcosvr.com/2014/12/16/modulo-wifi-esp8266/

Si os interesa, aquí teneis el 07, 08 o 12e con placa de conexiones por 2.40€ (pero el chino cudeiro, manda la placa sin soldar)
#32
(01-09-2015, 07:26 PM)rubenmas escribió: Después de investigar un poco por la red las tres opciones de programación para Android que has puesto, a mí el que más me atrae aprender es Processing. Como bien dices Arduino se inspiró en Processing, y será por eso que le veo mayor similitud con Arduino que se me hace más comprensible. Sin duda va a ser uno de mis objetivos el intentar aprender Processing, después veremos como se da.

Por otra parte , esta mañana he recibido un link que creo interesante. Se trata de la utilización del módulo wifi ESP8266, el cual es más potente de lo que parece.
ESP8266

Coincido. Mi impresión actual es que Processing podría ser la mejor opción, pero he querido comentarlas todas.

(01-09-2015, 07:43 PM)ArturoS escribió: Las ESP8266 ya son otro mundo, y se alejan del control desde arduino y pueden funcionar por libre y programarse con lua (creo), además las ultimas release lleva un montón de GPIO (https://drive.google.com/file/d/0B6HhsEC...V1V0E/view)

Tienes un foro solo para ello http://www.esp8266.com/ (recuerdo haber visto foro/blog en cristiano pero no lo localizo ahora), creo que ya profundizan mas en el IOT de lo que necesitamos

Algunos enlaces
http://www.akirasan.net/programacion-dir...o-esp8266/
http://recetastecnologicas.blogspot.com....p8266.html
http://marcosvr.com/2014/12/16/modulo-wifi-esp8266/

Si os interesa, aquí teneis el 07, 08 o 12e con placa de conexiones por 2.40€ (pero el chino cudeiro, manda la placa sin soldar)

Os contesto a ambos. He investigado y probado el ESP8266. Fue mi primera opción, pero después de darle al tema muchas vueltas terminé optando por HC-05. Te explicaré mi motivos.

Como ventaja el ESP8266 también es muy barato pero si lo vas a usar para implementar una red local, creo que mejor usar Bluetooth, y si por el contrario quieres usarlo desde cualquier lugar del mundo que tenga acceso a Internet, estarás ofreciendo demasiadas oportunidades a los tarados que buscan como causar estragos en Internet. Para algunos destruir el acuario de alguien seguro que tiene mucho morbo. Yo creo que la seguridad que ofrece ESP8266 es muy pequeña.

Se puede conseguir que un ESP8266 ofrezca un servicio similar al de una página web, pero no es un servidor WEB. A la hora de recibir datos, limpia todo el empaquetado TCPIP y nos envía por su puerto serie los datos limpios y muy fáciles de usar. Eso nos ahorra tener que hacer esa limpieza olvidándonos de la gestión del TCPIP y de otros detalles, pero finalmente no tenemos la funcionalidad de un servidor WEB. En realidad, no tenemos siquiera la funcionalidad de una verdadera conexión WiFi ya que no tenemos acceso al stack o al socket IP. Nos lo dan todo hecho pero solo permite intercambiar peticiones sencillas y no podemos hacer cosas como implementar un servidor seguro (https), ni permite el uso de POST method, ni otra serie de recursos útiles para tener una conexión a prueba de ataques. No se puede porque no no es un auténtico servidor web.

En estas condiciones poner un formulario de entrada para autentificar al usuario tiene el peligro de que esa comunicación, al viajar sin cifrado, pueda ser interceptada muy fácilmente. Podríamos llamarlo pseudoservidor-Web-ESP8266.

Como sistema de monitorización podría servir si no te importa que curioseen, pero si quieres poder usarlo como interfaz de usuario de tu controlador, existen limitaciones técnicas importantes para poder convertirlo en un sistema seguro.

Yo no me rindo fácilmente. Una idea para conseguirlo sería recurrir a usar un sistema de claves de un solo uso y de esa forma aunque que te pillen la clave daría igual.

La alternativa a un ESP8266 sería montar un auténtico servidor web. Por ejemplo lo puedes montar en un Raspbery Pi. Además, puestoas a complicar la red local, a este le puedes conectar a varios HC-05 por distintas conexiones serie. Se pueden hacer un montón de cosas sofisticadas y extrañas.

Si usas diferentes ESP8266 para diferentes controladores en tu casa, no podrás dar servicio a todos ellos a través de un único router porque este sale a Internet con una única dirección Ip pública. Usar un servicio no-ip es un truco que funciona con una única dirección pública y te da acceso a un solo servidor.

Con Bluetooth tener una pequeña red de dispositivos bluetooth gobernados desde un único terminal Android es muy sencillo y veo bastantes ventajas en empezar por este lado.
#33
Son bastantes las pruebas de dimeo en ventiladores que he venido realizando desde hace algún tiempo y creí que era un tema ya dominado.

El caso en que en mi última prueba el ventilador funcionaba en CC a 12v pero no en mi circuito de dimeo con TIP120, que es el que se usa en este proyecto. Finalmente me dí cuenta que era un problema de ese ventilador, pero puede pasar en muchos otros.

Por lo visto, algunos ventiladores presentan una impedancia muy alta, casi infranqueable para los pulsos PWM. Usé esta vez un ventilador de 5 cmts de bajo ruido a 12v y no había forma de dimearlo.

Para verificar mis sospechas, puse un condensador en paralelo y el ventilador funcionó, pero el condensador que usé era un electrolítico de 470 microfaradios y el ventilador funcionaba a plena potencia con solo una potencia de dimeo al 5%.

Ahora, usando un condensador de 20 microfaradios el comportamiento del ventilador con el dimeo es tan bueno como el de un ventilador de baja impedancia.
No tengo osciloscopio pero la forma de la onda será muy diferente.

Me pregunto ahora cuantos sufridos seguidores míos habrán tropezado con este problema y que quizás decidió no preguntar.

La solución es la que acabo de referir, aunque la capacidad del ventilador para solucionarlo puede variar en función de la impedancia del mismo.

Sugiero probar con condensadores de 4.7, 10, 22, y 47 Microfaradios 35v.

El programita Test_CaoBT_Mini, que subí el otro día, usa un dimeo a frecuencia estándar de 490Hz. Sería mas correcto usar la frecuencia de 30Hz que es la que vamos a usar para el refrigerador por suprimir el zumbido ya que a frecuencia estándar los bobinados de los ventiladores producen un sonido audible que puede llegar a ser molesto.

La frecuencia de dimeo, también tiene un efecto sobre la impedancia del ventilador, y en caso de tener que usar un condensador, puede hacer que tengamos que usar una capacidad ligeramente menor con una frecuencia más alta.

A mí el ventilador que ha dado problemas me funciona bien cuando uso un condensador de 20 microfaradios en paralelo ya sea con el dimeo a frecuencia estándar como con el dimeo a una baja frecuencia de 30Hz.

Variar el código para modificar la frecuencia de dimeo a 30Hz se puede hacer incluyendo los módulos FrecPWM de CAO1. Yo suelo renormbrar los módulos en cada proyecto por si decido hacer modificaciones.

En el programa principal TestMiniCaoArdu.ino hay que modificar un par de líneas.

Código:
#include "CaoRefr_SerialFmt.h"        //
#include "CaoRefr_DS18x20.h"            //
#include "CaoRefr_Turn.h"        //
#include "CaoRefr_Parm.h"
#include "CaoRefr_Buzz.h"
#include "CaoRefr_Sensor.h"
#include "CaoRefr_FrecPWM.h"    // << - añadir esta linea
#include "CaoRefr_MathMisc.h"
#include "CaoRefr_Lcd.h"

      [...]

void setup(){

    [...]

    Buzz.Beep();
    FrecPWM.SetFrec30Hz_PWM_Motors(); // << --Añadir esta línea
    Serial.begin(9600);

Podeis cambiarlo o dejarlo como está, no es una modificación crítica, pero habría sido mejor incluirla desde el principio.
#34
(03-09-2015, 02:18 PM)Antonio Castro escribió: Son bastantes las pruebas de dimeo en ventiladores que he venido realizando desde hace algún tiempo y creí que era un tema ya dominado.

El caso en que en mi última prueba el ventilador funcionaba en CC a 12v pero no en mi circuito de dimeo con TIP120, que es el que se usa en este proyecto. Finalmente me dí cuenta que era un problema de ese ventilador, pero puede pasar en muchos otros.

Por lo visto, algunos ventiladores presentan una impedancia muy alta, casi infranqueable para los pulsos PWM. Usé esta vez un ventilador de 5 cmts de bajo ruido a 12v y no había forma de dimearlo.

Para verificar mis sospechas, puse un condensador en paralelo y el ventilador funcionó, pero el condensador que usé era un electrolítico de 470 microfaradios y el ventilador funcionaba a plena potencia con solo una potencia de dimeo al 5%.

Ahora, usando un condensador de 20 microfaradios el comportamiento del ventilador con el dimeo es tan bueno como el de un ventilador de baja impedancia.
No tengo osciloscopio pero la forma de la onda será muy diferente.

Me pregunto ahora cuantos sufridos seguidores míos habrán tropezado con este problema y que quizás decidió no preguntar.

La solución es la que acabo de referir, aunque la capacidad del ventilador para solucionarlo puede variar en función de la impedancia del mismo.

Sugiero probar con condensadores de 4.7, 10, 22, y 47 Microfaradios 35v.

El programita Test_CaoBT_Mini, que subí el otro día, usa un dimeo a frecuencia estándar de 490Hz. Sería mas correcto usar la frecuencia de 30Hz que es la que vamos a usar para el refrigerador por suprimir el zumbido ya que a frecuencia estándar los bobinados de los ventiladores producen un sonido audible que puede llegar a ser molesto.

La frecuencia de dimeo, también tiene un efecto sobre la impedancia del ventilador, y en caso de tener que usar un condensador, puede hacer que tengamos que usar una capacidad ligeramente menor con una frecuencia más alta.

A mí el ventilador que ha dado problemas me funciona bien cuando uso un condensador de 20 microfaradios en paralelo ya sea con el dimeo a frecuencia estándar como con el dimeo a una baja frecuencia de 30Hz.

Variar el código para modificar la frecuencia de dimeo a 30Hz se puede hacer incluyendo los módulos FrecPWM de CAO1. Yo suelo renormbrar los módulos en cada proyecto por si decido hacer modificaciones.

En el programa principal TestMiniCaoArdu.ino hay que modificar un par de líneas.

Código:
#include "CaoRefr_SerialFmt.h"        //
#include "CaoRefr_DS18x20.h"            //
#include "CaoRefr_Turn.h"        //
#include "CaoRefr_Parm.h"
#include "CaoRefr_Buzz.h"
#include "CaoRefr_Sensor.h"
#include "CaoRefr_FrecPWM.h"    // << - añadir esta linea
#include "CaoRefr_MathMisc.h"
#include "CaoRefr_Lcd.h"

      [...]

void setup(){

    [...]

    Buzz.Beep();
    FrecPWM.SetFrec30Hz_PWM_Motors(); // << --Añadir esta línea
    Serial.begin(9600);

Podeis cambiarlo o dejarlo como está, no es una modificación crítica, pero habría sido mejor incluirla desde el principio.
Muy buen apunte, este tipo de problemas a veces quedan sin resolver siendo tan sencilla la solución.
Precisamente el ventilador que uso como refrigerador de la caja donde tengo el control domótico le ocurría algo parecido, el PWM tenía que estar al 55% para que empezará a funcionar, y después de muchas pruebas, le puse un condensador de 10mF y se solucionó.
Hoy me ha llegado el Arduino Pro micro y el conversor USB para programarlo, ya solo me falta el HC-05 y podré realizar todas las pruebas, ya tengo ganas.
#35
(03-09-2015, 03:44 PM)rubenmas escribió: Muy buen apunte, este tipo de problemas a veces quedan sin resolver siendo tan sencilla la solución.

En informática y en electrónica cuando algo no funciona, es porque algo no está bien, pero en caso de que funcione, no es seguro que esté todo correcto.

La sorpresas pueden venir con retraso. Una de las cosas que me dió bastante lata fue la impermeabilización de la sonda DS18B20. Incluso las que venden como sumergibles terminan dando problemas. Es un tema bastante crítico. Por esa razón procuro centrarme en unos pocos elementos hardware para llegar a conocerlos mejor.
#36
Primera PCB_Terminada, montada y probada.

[Imagen: T5BGYJB.jpg]
La PCB la diseño Ruben en EAGLE. En la imagen se ve muy grande pero queda muy pequeñita.

Es una primera versión, porque conviene colocar mejor algunos componentes, pero se puede usar, está probada y funciona perfectamente. Es de una gran ayuda.


.zip   CaoBt_Refrig_Mini_V1_Eagle.zip (Tamaño: 58.88 KB / Descargas: 9)

He procesado una de las imágenes de EAGLE para que salga el fondo blanco y que salga mejor en la impresora para guiarme mientras montaba la placa.
[Imagen: O4a9NAc.png]

Veis un par de tiras de pines a los costados del Arduino. En realidad hay otras dos sobre las que va pinchada la plaquita de del Arduino Pro Mini que también puede pincharse en una Bread Board. Cosa que recomiendo hacer inicialmente para ir probando.

Las tiras de pines laterales que veis a los costados vienen muy bien para hacer conexiones extra ya sea para añadir funcionalidad o para hacer verificaciones.

Recomiendo empezar montando únicamente la etapa de alimentación y aseguraros que al Arduino le llegarán los 5v en los pines correctos midiendo con el polímetro.
#37
Para el que tenga la posibilidad de hacerse una PCB siempre va a quedar más pequeño y más profesional, pero también se puede partir de una placa de topos un pelín mayor e ir cableando con cuidado de no equivocarse.

El esquema se ve mejor en la imagen realizada con fritzing
[Imagen: IrXUj3K.png]
#38
Va quedando muy chula/práctica, en hora buena Antonio.

Llevo tiempo con esto y se de que va, pero para uno que acabe de aterrizar convendría referenciaras algo sobre los conectores (que son y para que).

Para no forzar tener que meterlo en una caja transparente, creo que los led informativos no deberían ira placa sino unidos por cortos cables para colocarlos en la pared de la caja

¿Ese conector arriba de pro mini con cables blanco amarillo, que es, una ñapa de A4 A5 para el I2C, según el patillaje diferente de cada versión del pro mini?

Yo a ver si miro debajo las piedras y encuentro algo de tiempo para proseguir, que últimamente demasiados follones me rodean.
#39
(08-09-2015, 01:04 PM)ArturoS escribió: Va quedando muy chula/práctica, en hora buena Antonio.

Llevo tiempo con esto y se de que va, pero para uno que acabe de aterrizar convendría referenciaras algo sobre los conectores (que son y para que).

El problema es que son diseños que pueden ir variando. Es mejor que la gente pregunte aquí las dudas concretas porque se resuelven en seguida. La información es bastante amplia y a poco que la gente investigue sabrá para que son.

(08-09-2015, 01:04 PM)ArturoS escribió: Para no forzar tener que meterlo en una caja transparente, creo que los led informativos no deberían ira placa sino unidos por cortos cables para colocarlos en la pared de la caja

Posibilitar poner un LED en la PCB siempre interesa porque no te fuerza a instalarlo en la PCB.

Si hicieramos una caja a la medida con una impresora 3D incluso podrías hacer que los LEDs soldados en la PCB encajaran el la caja como en muchos montajes profesionales.

(08-09-2015, 01:04 PM)ArturoS escribió: ¿Ese conector arriba de pro mini con cables blanco amarillo, que es, una ñapa de A4 A5 para el I2C, según el patillaje diferente de cada versión del pro mini?

Yo a ver si miro debajo las piedras y encuentro algo de tiempo para proseguir, que últimamente demasiados follones me rodean.

En efecto. Mis Arduinos Pro Mini tienen esos pines que se usan en el bus I2C en ese sitio.
#40
Os comento un poco las cosas en las que estoy trabajando.

Libro sobre CaoBT
En este momento, estoy muy enfocado en escribir un libro sobre este proyecto. Inicialmente pensé escribir un pequeño manual sobre CaoBT_Refrig_Mini, pero son muchos los temas que he necesitado investigar hasta hacer posible este proyecto y en una pequeña guía quedaban demasiados temas sin comentar. Temas que no son triviales. El libro de CAO1 ocupó 70 páginas y este va por 80 páginas y no comenta las cosas que ya se explicaron en el anterior. Me va a costar terminarlo pero en CAO1 tenemos un único controlador y en CaoBT hay tres sistemas diferentes. 1) Arduino 2)HC-05 y 3) Android.

Nueva placa para CaoBT
Paralelamente he trabajado con Ruben en el diseño de una placa para CaoBT que fuera más versátil. La que habéis visto hasta ahora estaba especialmente pensada para el refrigerador CaoBT_Refrig_Mini, una maravilla, pero en la nueva se ha pensado en hacer un placa multipropósito y hemos considerado la posibilidad de que use no solo Arduino Pro Mini sino también Arduino Pro Micro.

Todo ello lleva mucho trabajo de prueba y error, pero yo creo que la nueva línea de controladores que va a salir de aquí serán barata, muy potente y con mejores posibilidades de escalar a sistemas cada vez más potentes.

Respecto al lenguaje Processing
Es un tema que de momento lo he dejado de lado.
Tiene un gran número de librerías incluso redundantes, algunas de gran calidad, pero como todo entorno de programación nuevo tiene el problema de una comunidad de usuarios inmadura y de una falta de soporte para la installación en los diferentes S.O.
Las aplicaciones básicas suelen funcionar a la primera pero en Linux otras aplicaciones que hacen uso de ciertas librerías, pueden faltar o colisionar con las existentes en el sistema para versiones diferentes y que dan lugar a errores de ClassNotFoundException.
En Linux la mayoría de los problemas derivan de que la versión de java que se descarga con Processing es incompatible con la versión java del S.O. Es de suponer que, por una parte el tipo de licencia de Oracle Java 7 que funciona muy bien con Processing y por otra las incompatibilidades de OpenJDK 7 con Processing tienen la culpa de que aún no exista una solución perfecta para su instalación en Ubuntu.
Es un lenguaje nuevo y sometido a constantes actualizaciones y seguro que los problemas que acabo de comentar se terminarán solventando.

Cosas en las que podéis ir trabajando
Si alguno está haciendo pruebas con HC-05 puede comentarlo aquí, y así vamos preparando el terreno y resolviendo dudas.
Son muchas las prácticas que se pueden hacer con una breadboard un Arduino Pro Mini, un HC-05 y un Android.
#41
Hola, Saludos.

He hecho algunos proyectos con este módulo y funciona a la perfeción, solo debo recalcar que yo uso microcontroladores PIC de Microchip, para configurar este módulo yo uso el mismo convertidor USB a serial TTL que ustedes comentan pero con software diferente: Terminal v1.93b y Termite 3.2.



Espero les sirva como a mi. -good.gif
#42
(22-11-2015, 07:26 PM)Stban escribió: Hola, Saludos.

He hecho algunos proyectos con este módulo y funciona a la perfeción, solo debo recalcar que yo uso microcontroladores PIC de Microchip, para configurar este módulo yo uso el mismo convertidor USB a serial TTL que ustedes comentan pero con software diferente: Terminal v1.93b y Termite 3.2.

Espero les sirva como a mi. -good.gif

Ya lo creo que sirve, porque HC-05 en modo comandos es un pelín caprichoso. La solución que yo he propuesto o la tuya podrían dejar de funcionar si alguna de las versiones de estos programas, que emulan terminal serie, cambia.
#43
Este tema estaba algo parado; primero porque he estado trabajando en otros proyectos, y luego porque me surgió la necesidad urgente de automatizar los cambios de agua en mi acuario de 450 litros. Por esa razón me decidí a realizar un cambiador de agua automatizado que me ha llevado más tiempo del que calculé.

Dada la complejidad del proyecto he dejado la parte del interfaz Bluetooth para más adelante (todo llegará), pero ya he usado la PCB que hemos desarrollado Ruben y yo.

Se trata de una placa que se llama CaoBT01 y se ha diseñado para que fuera versátil y permita montar diferentes circuitos con Arduino en ella. Todo el excelente trabajo en EAGLE lo realizó Ruben.

La placa ya está preparada para conexión Bluetooth pero todo este tema está pendiente.

Para más información: Cambiador de agua automático basado en Arduino (Parte 2)
#44
Este hilo empezó en diciembre de 2013.
Al ser el primer proyecto CaoBT he querido que fuera lo más completo posible para servir de referencia a futuros proyectos.
http://ciberdroide.com/AcuBioMed/primer-...e-acuario/

Usuarios navegando en este tema: 1 invitado(s)


Salto de foro: