sábado, 19 de junio de 2010

DS1307: Reloj en tiempo real con 18F2550

El DS1307 de Dallas Semiconductor (Maxim) es una solución muy interesante cuando necesitamos trabajar con eventos que requieren puntualidad y exactitud a lo largo del tiempo. Este pequeño circuito integrado es uno de los más populares relojes RTC (Real Time Clock) del mercado por su sencillez de uso y por su confiabilidad a largo plazo. Preparado para ofrecerte la hora hasta el año 2100. El DS1307 a fondo en este artículo.

La flexibilidad de trabajo que nos ofrece el bus I2C hoy nos trae una aplicación muy útil e importante para los momentos en que necesitamos controlar dispositivos o aplicaciones en las que la exactitud horaria es un factor fundamental. El DS1307 de Dallas Semiconductor (Maxim) es un dispositivo que se conoce como “Reloj de Tiempo Real” (Real Time Clock – RTC) que opera a través del bus I2C y que, además de brindarnos la hora con minutos y segundos, posee un calendario que contempla los años bisiestos hasta fin de siglo, es decir, hasta el año 2100.

Entre las características destacadas, posee una salida (configurable por software) que, en nuestro caso, la utilizamos como “segundero luminoso”, y la posibilidad de trabajar con una pequeña batería para almacenar los datos mientras el sistema se encuentra desconectado de la alimentación. Además, esta pequeña alimentación de respaldo permite mantener funcionando el oscilador maestro del reloj con un consumo ínfimo de 300nA, según su hoja de datos. Una simple batería de Litio CR2032 puede brindarnos un funcionamiento satisfactorio durante 10 años. ¿Te parece poco? Conectar un artefacto que construimos hace tres años y que siga estando siempre ajustado en fecha y hora es algo muy interesante de experimentar.



Si te interesa construir un verdadero sistema de Real Time Clock, continúa leyendo este artículo.

sábado, 12 de junio de 2010

BootLoader para 18F2550

Un BootLoader es un pequeño conjunto de instrucciones que forman un programa y se graban, en este caso en un microcontrolador, para permitir un posterior manejo y actualización de sus programas internos (firmware) sin necesidad de utilizar programadores (hardware) específicos. Es decir, utilizas un programador (o quemador) de microcontroladores una única vez para cargarle el mencionado BootLoader al microcontrolador y luego te bastará con una sencilla aplicación en tu ordenador para cambiar a tu antojo el funcionamiento de tus sistemas. Todo mediante una vulgar conexión al puerto USB. Las plataformas modernas que se asemejan a Arduino (incluida ésta) utilizan este sistema de programación y nosotros no podíamos quedar afuera. Ahora la programación está al alcance de todos.

Es imposible resumir en un sumario de pocas palabras las infinitas ventajas que posee un BootLoader. Sólo debes imaginarte la situación: tu hardware, tu ordenador y un cable de conexión USB entre ambos. Eso es todo lo que necesitas para transformar al entrenador NeoTeo en un voltímetro, en un videojuego, en un operador de servomotores y en miles de cosas más. A pesar de que el conector ICSP es una de las herramientas maestras de las que dispone una persona que se dedica a experimentar con microcontroladores, la utilización de un BootLoader te ahorra el uso de un hardware adicional de trabajo como es el programador (o quemador).

Un ejemplo de las miles de ventajas que puedes tener sería este: Tú le has vendido a Max una aplicación y luego de un tiempo de uso él te expresa su lamento y pesar sobre algunas deficiencias del producto, mientras te comenta que desearía que hagas algunas mejoras para lograr un funcionamiento óptimo y acorde a sus necesidades. ¿Qué deberías hacer en esa situación? ¿Pedirle a Max que desarme todo el equipo y te lo envíe? Imposible. ¿Viajar tú de un país a otro para cambiar dos líneas de programa, conectar el hardware programador y demorar menos de cinco minutos en resolver el problema? ¡De locos! En cambio, si el sistema inicial posee la sencilla carga previa de un BootLoader, le envías a Max un pequeño archivo por correo electrónico y él mismo podrá actualizar la versión de firmware con un elemental cable USB conectado a su ordenador. Así trabajan Arduino, Amicus y todas las plataformas similares que compiten en la web. Así de sencillo y tentador. ¿Quieres verlo? Observa como se cambia de una aplicación a otra diferente en apenas algunos segundos.



Este extenso artículo continúa aquí.