Con una pantalla LCD en un pequeño chip como un attiny85 no es realmente duro y hasta el reciente no incluso creo justificada una instructable, pero he recibido preguntas sobre él, para que así pueda ampliar sobre el proceso.
Con el attiny tener sólo un máximo de 6 pines disponibles, que es obvio que no puede controlar directamente todos los pernos de la Hitachi estándar base de LCD
Un poco más de un año, se describe cómo agregar un LCD a un Attiny u otro chip, usando sólo 2 pines. Ese circuito hace uso de un HC164 cambio de registro, pero como módulos I2C de LCD son muy baratos e incluso LCD con un módulo ya está en marcha también es baratos, así uno puede utilizar I2C en el Attiny85.
I2C
El attiny85 puede simular I2C en PB2 (pin 7) (SCL) y PB0 (pin 5) (SDA). La biblioteca de 'Alambre' que se utiliza para leer y escribir bytes en el puerto I2C en el arduino no funciona sobre el attiny. Necesita la biblioteca TinyWireM para actuar como un maestro I2C
Biblioteca
La biblioteca estándar de Arduino no puede utilizarse para I2C en el Attiny porque hace una llamada a 'Wire.h' y que no es compatible con el Attiny.
La biblioteca 'NewLCD' de Francisco Malpartida es mi favorito, pero también que falla en el uso de I2C para el Attiny porque hace una llamada a la biblioteca de alambre. Una modificación para que funcione con Attiny85 puede encontrarse aquí.
La biblioteca 'Bro Hogan' sin embargo funciona. Se trata básicamente de la misma biblioteca de la biblioteca arduino estándar LCD, pero es modificado para reconocer la Attiny85 y el Attiny2313 y luego hace una llamada a 'TinyWireM' en lugar de 'Alambre'.
Adafruit también proporciona una librería que funciona con el Attiny85 y que se describe en otro instructivo. Que usando la biblioteca de Bro Hogan aquí.
Evitando problemas
Mayoría de los problemas que pueden surgir se relacionan con el IDE que confunde en cuanto a las bibliotecas. Si está utilizando la biblioteca estándar de Arduino LCD, mejor reemplazarlo por la biblioteca de Bro Hogan. Si está utilizando la biblioteca de Malpartida y quieren tenerlo (ya que es una gran biblioteca), moverlo fuera del camino. Coge toda la carpeta y salir de la carpeta sketchbook/bibliotecas. Asegúrese de que tiene la biblioteca de TinyWireM instalada y asegúrese de que sus bibliotecas son hasta la fecha.
Si por cualquier motivo no puede o no quiere mover la biblioteca de Malpartida fuera del camino, ya sea cambiar el nombre de los módulos LiquidCrystal_I2C.h y LiquidCrystal_I2C.cpp en esa biblioteca, o poner los archivos BroHogan LiquidCrystal_I2C.h y LiquidCrystal_I2C.cpp en el directorio de bosquejo (y cambiar el llamado anzuelo en paréntesis).
Programación el Attiny
Supongo que sabes cómo hacerlo. Sin embargo a funcionarte a través de algunos obstáculos:
Quemar el bootloader! Probablemente estoy diciendo cosas que mucha gente ya sabe pero usted se sorprenderá cómo muchas personas no saben.
Ahora obviamente no hay ningún cargador de arranque para el attiny85, pero el proceso de quemar el bootloader pone los fusibles de lo attiny de modo de fábrica, en el modo que desea utilizar en. Así, suponiendo que utilizas el Arduino como ISP:
Sube el Programa ISP a tu Arduino
poner el attiny en su escudo de programa
-> Ve a 'Herramientas-Board' elegir 'Attiny'
Vaya a 'Herramientas-procesador' -> elegir Attiny85
Vaya a 'Herramientas-reloj' -> elegir 8 Mhz (o 1 si se prefiere)
Ir a 'Herramientas-Burn bootloader'
hecho.
Luego subo el programa (ver siguiente paso) del IDE
Ir a la 'Carga de dibujo usando el programador de'
hecho
"Hey, mi IDE dice que hay versiones de algunas bibliotecas"
Las nuevas versiones del IDE le dirá también cuando hay versiones de algunas de sus bibliotecas y a menudo, la biblioteca de cristal líquido se sugiere para una actualización. No si tienes la biblioteca Bro Hogan, se sustituirá por ejemplo la biblioteca de robot PA, mientras que la biblioteca de Malpartida probablemente será totalmente eliminada.
Conexión de la pantalla LCD.
El módulo I2C tiene 4 conexiones: Vcc, SCL, SDA, tierra.
que se conectan como sigue a lo Attiny:
Attiny85 <> – LCD
VCC (pin8) <> – Vcc
SCL (pin7) <> – SCL
SDA (pin5) <> – SDA
GND (pin4) <> – GND