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

«Super» cargador USB para coche

Hace años para poder disponer de un cargador en condiciones en el coche decidí montar uno de PSP de 2A, ya que por aquel entonces era lo mejor que supe encontrar. Sin embargo ahora ya se ha quedado corto pues con 2A cargas un móvil y poco más.

Ahora hay bastantes mas cargadores para elegir, de entre ellos yo me he decantado por un ORICO MPU-4S, que cuenta con 4 conectores USB que ofrecen 2.4A por puerto haciendo un total de 9.6A.

(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
Aside

Arduino: Alarma (cuenta atrás)

Enunciado:

Programar el Arduino para que cuando llegue una hora determinada se encienda un LED. Fuente: fc

Código: