Control de emisoras de radioaficionado con Arduino [1]: Enunciado del problema

Actualmente se cuenta con una gran cantidad de emisoras de radioaficionado llegando a un punto que hace complicado su uso por la gran cantidad de trastos que hacen falta para usarlas todas. Por ello se desea un aparato que permita interconectar un único micrófono con todas las emisoras, también se quiere que ese micrófono solo este activo cuando se pulse un pedal, el cuál se deberá de desconectar pasado cierto tiempo.

(más…)

Leer Más

Actualización 1.4 de la librería RTC para reloj Dallas DS1307 y DS3231

He aprovechado estos días para actualizar la librería, prácticamente rehaciéndola entera salvo el código de un par de métodos que he conservado.

Ahora la librería cambia automáticamente entre horario de verano e invierno, permite configurar cada dato del reloj de forma individual, o conjunta, y permite obtener sus datos desde objeto de datos o si se prefiere como una cadena de texto lista para imprimir.

(más…)

Leer Más

Módulo WiFi TLG10UA03 de bajo coste para Arduino

Sin duda algo de lo que más se echaba en falta en Arduino era algún modulo que añadiera conectividad WiFi de forma barata. Porque si, si es cierto que hay shields muy completas o incluso un par oficiales, pero estas no bajan de los 30-70€ la unidad. O incluso el nuevo Arduino Yun presentado hace unos meses que además de WiFi también integra un Linux embebido, pero estamos en las mismas, todo eso es muy caro si lo que queremos montar es un proyecto sencillo y barato.

Por ello me sorprendió hace unos meses al enterarme de que había un modulo WiFi muy económico, y no solo eso si no que todas la comunicaciones se hacían de forma transparente al Arduino por lo que se simplifica mucho la programación y ahorramos mucha memoria al no necesitar ninguna librería.

(más…)

Leer Más

Lo que da de sí la clausula #define de C!

En Arduino la función sizeof() devuelve el número de bytes que ocupa una variable o array. También podemos usarla para saber el número de elementos que tiene un array, para ello se obtiene el tamaño en bytes del array y se divide por el tamaño que tiene el tipo de dato que estamos usando:

De este modo sizeof(array) devuelve 14 porque el array tiene 7 elementos y cada uno de ellos ocupa 2 bytes, ese 14 se divide después por sizeof(int), 2 bytes, y da como resultado 7 elementos.

Para que el código sea genérico y no haya que indicarle el tipo de dato, se puede usar el siguiente código:

El problema es que queda feo y muy largo si debemos de repetirlo muchas veces. Por ello otra solución mas ingeniosa seria crearnos una macro que contenga ese código.

Control Remoto de Alumbrado – Versión 2

Fue por el año 2011 cuando comencé este proyecto, sencillo pero al mismo tiempo útil, que por entonces permitía controlar la iluminación de la habitación mediante un pulsador en la pared, que sustituía al típico interruptor, y también un mando a distancia cualquiera, de la tv, pc, etc. para controlarlo todo.

En esta ocasión he rehecho todo y por ello le he cambiado el nombre a “versión 2” pues los cambios son tantos que bien se merecen un punto y aparte. Ahora la lámpara ha pasado a ser un ventilador de techo por lo que además de luz también hay que controlar las aspas del ventilador!

(más…)

Leer Más

Pantalla LCD por comunicación I2C para Arduino

Por lo general las pantallas LCD para Arduino suelen necesitar bastantes pines digitales para funcionar, de 6 a 13 según la pantalla, y eso hace que nuestro Arduino se quede sin pines para conectar otras cosas.

Pero eso tiene fácil solución, simplemente hace falta usar un modulo que convierta la conexión en paralelo de la pantalla a conexión en serie mediante alguno de los protocolos de comunicación que soporta Arduino.

(más…)

Leer Más