Herramientas de usuario

Herramientas del sitio


viejulcd

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

viejulcd [01/02/2009 19:59]
zako
viejulcd [08/02/2017 21:21]
Línea 1: Línea 1:
-====== ViejuLCD ====== 
  
-El ViejuLCD es un dispositivo hardware, basado en un microcontrolador AVR, que controla un display de texto LCD (estandard Hitachi HD 44780) a través del bus USB (con emulacion serial con un chip FTDI). 
- 
-En la parte hardware, se compone de un microcontrolador AVR ATtiny2313, con un cristal de 3.6864Mhz, conectado al lcd en modo 4 bits de datos, y con su puerto UART conectado a un FTDI ft232rl para hacer de interface al puerto USB. Se puede hacer una version para el puerto serie, conectando un max232 en lugar del FTDI. Ver [[ViejuLCD-Serie]] 
- 
-El microcontrolador,​ tiene cargado un firmware que hace todo el control del LCD y del puerto serie, asi, se pueden enviar datos y comandos al LCD con un sencillo protocolo. 
- 
- 
- 
-==== Protocolo ==== 
- 
-Los datos se envian en ASCII plano al ViejuLCD, y dependiendo del caracter que reciba, el lcd lo mostrará por pantalla, o ejecutará un comando especial. 
- 
-Los valores ascii del 0h al 7h son los caracteres definibles por el usuario que el protocolo permite definir. 
- 
-Los comandos especiales, se enviarán precedidos del byte 9h que pondra el ViejuLCD en modo comando, a la espera de los siguientes bytes dependiendo del comando especifico que vaya a continuación. 
-hay comandos que serán solo un byte (como borrar la pantalla), o comandos que esperan más bytes como parámetros. 
- 
-De momento se definen los siguientes comandos: 
- 
-  9h - Entra en modo comando. 
-  --------------------------- 
- 
-     0h - Sin param. - Borra la pantalla y vuelve al inicio (fila 1, columna 1). 
- 
-     1h - Sin param. - Mueve el cursor al inicio. 
- 
-     2h - +2 bytes   - Mueve el cursor a la posicion Columna, Fila (x,y) especificada por los dos bytes que se pasan de parametros (se empieza en 0,0). 
- 
-     3h - +1 byte    - Apaga o enciende el LCD. El parámetro es un byte. 0h apaga el lcd, 1h lo enciende. 
- 
-     4h - +1 byte    - Modifica el brillo del BackLight del LCD. El parámetro es un byte. 0h apagado, 1h brillo bajo, 2h brillo alto. 
- 
-     5h - +1 byte    - Hace un Scroll de la pantalla en una unidad. El parámetro es un byte, 0h scroll a la derecha, 1h a la izquierda. 
- 
-     8h - +9 bytes   - Define un caracter personalizado. El segundo byte indica que caracter definir de los 8 disponibles (0h-7h), ​ 
-                       los siguientes bytes definen el caracter. Los caracteres son de 5x8, se pueden calcular los valores ​ 
-                       a mandar de la siguiente manera: 
- 
-       ​| ​  ​bits ​   | byte 
-  fila | 76543210 ​ | valor 
-  ------------------------ 
-  000  |     ​xxx ​  | 0x0E 
-  001  |    x   ​x ​ | 0x11 
-  010  |    x  xx  | 0x13 
-  011  |    x x x  | 0x15 
-  100  |    xx  x  | 0x19 
-  101  |    x   ​x ​ | 0x11 
-  110  |     ​xxx ​  | 0x0E 
-  111  |    xxxxx  | 0x1F 
- 
- 
- 
-==== Componentes ==== 
- 
-Para empezar, recopilo las tiendas online que conozco donde es mas barato pillar los componentes para los primeros prototipos: 
- 
-**FTDI FT232RL**: Chip de Interfaz USB. 3€ en SparkFun. Hay que sumar los gastos de envio desde USA, pero un pedido de 5 o más ya sale a cuenta. 
-http://​www.sparkfun.com/​commerce/​product_info.php?​products_id=650 
- 
-**AVR ATTiny2313**:​ Microcontrolador:​ En ebay, una tienda los tiene MUY baratos (0.74€). Además tambien tiene las pantallas LCD: Los gastos de envio son 2.5 euros pidamos uno o 10, asi que merece la pena pillar 10. xD 
-http://​cgi.ebay.es/​ws/​eBayISAPI.dll?​ViewItem&​ssPageName=STRK:​MEWAX:​IT&​item=320333796374 
- 
-**LCDs**: Sin comentarios:​ El mismo tio de Ebay... tiene muchos modelos, creo que lo ideal por precio es ir a por los de 16 o 20 caracteres por dos lineas... luego el color... a vuestra elección. Aunque el firmware soporta hasta los de 20x4 lineas eh. Dejo el enlace a la tienda: Fijaros que tengan retroiluminacion (with b/l): 
-2x16: http://​shop.ebay.es/​merchant/​artronicpl?​_nkw=lcd+2x16&​_sacat=0&​_fromfsb=&​_trksid=m270.l1313&​_odkw=lcd&​_osacat=0 
-2x20: http://​shop.ebay.es/​merchant/​artronicpl?​_nkw=lcd+2x20&​_sacat=0&​_fromfsb=&​_trksid=m270.l1313&​_odkw=lcd+2x16&​_osacat=0 
-4x16: http://​shop.ebay.es/​merchant/​artronicpl?​_nkw=lcd+4x16&​_sacat=0&​_fromfsb=&​_trksid=m270.l1313&​_odkw=lcd+4x20&​_osacat=0 
-4x20: http://​shop.ebay.es/​merchant/​artronicpl?​_nkw=lcd+4x20&​_sacat=0&​_fromfsb=&​_trksid=m270.l1313&​_odkw=lcd+4x16&​_osacat=0 
- 
-**Conectores USB**: Tengo varios conectores mini-usb que no uso, asi que podemos empezar con esos, a no ser que querais un usb tipo "​b"​ mejor que no son caros: 
-http://​cgi.ebay.es/​5x-Female-USB-Connector-Type-B-MSP430-Freescale-Arduino_W0QQitemZ180319089096QQcmdZViewItemQQptZBI_Connectors_Switches_Wire?​hash=item180319089096&​_trksid=p3286.c0.m14&​_trkparms=72%3A895|66%3A2|65%3A12|39%3A1|240%3A1318 
- 
-**Cristal**:​ de 3.6864Mhz: Nada, céntimos... facil ganar una puja asi: 
-http://​cgi.ebay.es/​ACT-HC49-SMX-3-6864-MHz-Crystal_W0QQitemZ300290194802QQcmdZViewItemQQptZUK_BOI_Electrical_Components_Supplies_ET?​hash=item300290194802&​_trksid=p3286.m63.l1177 
- 
-**Potenciometro del contraste**:​ de 10K... en cualquier tienda muy baratos... aunque como siempre, en ebay, mas baratos todavia, 10 por 3 euros: 
-http://​cgi.ebay.es/​Variable-Resistor-Potentiometer-085-10k-pk-of-10-IN-UK_W0QQitemZ260351811888QQcmdZViewItemQQptZLH_DefaultDomain_3?​_trksid=p3286.m20.l1116 
- 
-Lo demas son alguna resistencia y condensadores,​ que tengo de sobra en stock. 
- 
- 
-==== Esquema del prototipo ==== 
- 
-{{vieju_lcd.png|}} 
- 
-==== PCB del prototipo ==== 
- 
-{{viejulcd.png|}} 
viejulcd.txt · Última modificación: 08/02/2017 21:21 (editor externo)