He publicado una nueva librería que pretende reemplazar la librería "LiquidCrystal" que viene como estándar en el SDK Arduino.
Esta librería se caracteriza por ser una librería genérica y extensible de tal forma que se puedan escribir drivers nuevos para controlar LCDs basados en el Hitachi HD44780 (la mayor parte de los LCDs alfanuméricos) usando cualquier mecanismo de comunicación (bus paralelo, SPI, I2C, Serie).
Esta primera versión soporta la misma funcionalidad e interfaz que la librería "LiquidCrystal" estándar (controlar un LCD con 4 u 8 hilos) y también permite controlarla usando el bus I2C junto con una tarjeta de expansión (como la I2CLCDextraIO).
La librería es realmente una jerarquía de clases, donde la clase "LiquidCrystal" es la clase abstracta base de la que todas las implementaciones se derivan. Por lo tanto, cualquier proyecto que hagáis puede cambiar el tipo de control del LCD tan solo cambiando 2 líneas de código. La ventaja, usar 4 u 8 lineas de control o poder encadenar hasta 8 LCDs encadenados en el I2C usando tan solo 2 pines de la cualquier placa basada en Arduino.
Todos los que ya uséis la librería "LiquidCrystal" solo tendréis que añadir 2 líneas de código (un include y la creación del objeto - variable). Muy, muy fácil de usar.
Además, la librería lleva de seria algunas mejoras que hacen que sea más rápida que la original.
Está escrita con vistas a la futura entrega del SDK de Arduino 1.0 (de hecho está probada con el SDK 1.0-RC2.
Para los que quieran simplemente tener más pines de entrada salida, también he escrito otra librería para controlar la tarjeta de expansión.
Toda la documentación la podéis encontrar en:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
Esta librería está probada con varios LCDs y con la placa I2CLCDextraIO, de la imagen.
Espero que la disfrutéis.