Go Down

Topic: Librería LCDi2cR para el display LCD03 ya no está disponible (Read 1 time) previous topic - next topic

complubot

Hola

Intento descargarme la librería LCDi2cR del playground  http://arduino.cc/playground/Code/LCDi2c pero al parecer el archivo LCDi2cR.zip ya no está disponible. Lo he buscado y no hay manera. ¿Alguien lo tienen?

Gracias

Eduardo
Centro de Robótica Educativa
www.complubot.com

fm

Utiliza mejor la libreria "New LiquidCrystal". En principio es mas rapida y deberia soportar los mismos mecanismos que la que indica la del playground.
   

fm

Es posible que no te funcione, ese LCD utiliza un PIC para hacer de interfaz con el exterior y probablemente no haga de pasarela y pase los comando estandar del chip de Hitachi.
   

complubot

Efectivamente, el LCD03 tiene un juego de comandos distinto, por eso lo suyo es usar la librería LCDi2cR que ya está modificada o repetir el trabajo de nuevo modificando una actual. ¿Nadie tiene esta librería descargada?

Eduardo
Centro de Robótica Educativa
www.complubot.com

ferfeso

Hola!

Si no recuerdo mal el display del que hablas esta controlado por un PIC16F819, el cual hace de "interprete" entre el bus I2C y el propio controlador del LCD que creo recordar que es el clasico HD44...

Yo jugue con esa placa asi que puedo copiar informacion y "defines" que en su dia me parecio muy util y asi te puedes crear tu mismo lo que necesites...


/*
 
  LCD03 - I2C/Serial LCD

  Este modulo trabaja tanto en modo I2C como Serial, configurable mediante puente,
  que es chequeado en el proceso de arranque

  Requiere solo alimentacion de 5 Voltios y puede ser manejado solo por 2 pines

  Compuesto de 4 filas de 20 Caracteres, y puede ser conectado a un teclado matricial de 3 Columnas y 4 Filas
 

  CONEXIONES
  ----------
 
    Vcc--------
    SDA/TX-----      XX On Serial     
    SCL/Rx-----      OO Off I2C
    Gnd--------
                     | | | | | | |
                     | | | | | | ----- Receives ROW 2 Status (8)
                     | | | | | ------- Receives ROW 3 Status (7)
                     | | | | --------- OUTPUTS  Scan PULSE to COL 3
                     | | | ----------- Receives ROW 4 Status (8)
                     | | ------------- OUTPUTS  SCAN Pulse to column 1
                     | --------------- Receives ROW 1 Status (8)
                     ----------------- OUTPUTS  SCAN Pulse to column 2
                     

  MODO I2C
  --------
 
  La velocidad de las comunicaciones son mas rapidas que la de proceso por el display por lo que existe un Buffer FIFO de 64 bytes que puede ser consultado para evitar el desborde y perdida de datos.
 
  Las lineas SCL y SDA deben referenciarse a VCC (pull-up) mediante 2 resistencias, con valores estandar de entre 1k8 y 10k considerandose el valor de 1k8 el mas adecuado para evitar ruidos.

  El Bus I2C tiene un buffer de 32 Bytes por lo que no se pueden volcar mas caracteres al LCD en un solo envio.
 
  Formato del protocolo de comunicion 

    Wire.beginTransmission(Address);
    Wire.send(Registro);
    Wire.send(Dato);
    Wire.endTransmission();


  El modulo LCD03 tiene 4 Registros, 3 de los cuales son de solo lectura y el cuarto escritura y lectura


  MODO SERIAL
  -----------

  La configuracion del modo Serial es 9600 bps, sin paridad y 2 stop bits.

  Con esta velocidad se puede obviar la consulta al Buffer FIFO

  Las señales son de 5v, por lo que no puede ser conectado directamente a un puerto RS232, se debe usar un MAX232 o equivalente para adaptar los niveles.

 
  KEY PAD
  -------

  Se puede conectar a un teclado matricial de 3x4 tipico, cuyas teclas son leidas a intervalos regulares.
 
  El resultado se puede obtener leyendo los registros 1 y 2 del dispositivo para el modo I2C
  o por medio del comando de lectura para el modo Serial, obteniendose los dos Bytes Bajo y Alto
 
  Cada tecla pulsada aparece como nivel alto en cada bit asociado

                                      1 2 3
                                      4 5 6
                                      7 8 9
                                      * 0 #
 
               High  byte                          Low   byte              
    0   0   0   0  4/3 4/2 4/1 3/3 3/2     3/1 2/3 2/2 2/1 1/3 1/2 1/1
    0   0   0   0   #   0   *   9   8       7   6   5   4   3   2   1


  GENERADOR DE CARACTERES
  -----------------------
 
  Mediante el comando apropiado se puede generar hasta 8 caracteres localizados en las posiciones 128-135 mientras el modulo este alimentado.
 
  Como cada caracter del LCD esta compuesto por 5x8bits la informacion a enviar es 1xxDDDD
                
                        Bit                Sent        27 (char generate command)
                  7 6 5   4 3 2 1 0   Byte       128 (location to be filled)
       Byte 0   1 x x   0 0 0 0 0   128        128 (byte 0)
       Byte 1   1 x x   0 0 1 0 0   132        132 (byte 1)
       Byte 2   1 x x   0 1 1 1 0   142        142 (byte 2)
       Byte 3   1 x x   1 0 1 0 1   149        149 (byte 3)
       Byte 4   1 x x   0 0 1 0 0   132        132 (byte 4)
       Byte 5   1 x x   0 0 1 0 0   132        132 (byte 5)
       Byte 6   1 x x   0 0 1 0 0   132        132 (byte 6)
       Byte 7   1 x x   0 0 0 0 0   128        128 (byte 7)

 
  CAMBIO DE DIRECCION DEL MODULO
  ------------------------------

  La version V4+ o superior puede redireccionarse dentro del bus I2C, en el rango 0xC6 1100 0110, 0xC8 1100 1000 0xCA 1100 1010, 0xCC 1100 1100, 0xCE 1100 1110
 
  Esto se realiza mediante el envio de la siguiente secuencia
 
    0x19   ( 1st byte of change address command )
    0xA0   ( 2nd byte of change address command )
    0xAA   ( 3rd byte of change address command )
    0xA5   ( 4th byte of change address command )
    0xC6,  0xC8,0xCA,0xCC or 0xCE    ( new address to map LCD03 at )

  La version 4+ muestra su direccion en el display cada vez que es alimentado.

*/
/////////////////////////////////////////////////////////////////////////////////

#define lcdAddress           0X63 // Direccion 0XC6 con bit rotado a la derecha
//
#define lcdRegCommand           0 //Write
#define lcdRegFifoBuffer        0 //Read
#define lcdRegKeypadStateLow    1 //Read
#define lcdRegKeypadStateHigh   2 //Read
#define lcdRegVersion           3 //Read
//
// Comandos I2C + Serial
//
#define lcdNull                  0 // Ignorado/sin funcion
#define lcdCursorHome            1 // Posiciona el cursor al primer caracter (Arriba izquierda)
#define lcdSetCursorAbs          2 // Coloca cursor a la posicion entre 1-80/32, especificada por el siguiente byte
#define lcdSetCursorRel          3 // Coloca cursor a linea y columna (siguientes 2 bytes)
#define lcdHideCursor            4 // Oculta cursor
#define lcdUnderlineCursor       5 // Subraya cursor
#define lcdBlinkingCursor        6 // Activa parpadeo cursor
#define lcdBackspace             8 // Borra caracter anterior al cursor
#define lcdHorizontalTab         9 // Salto de tabulador, por defecto 4 posiciones
#define lcdLineFeed             10 // Baja una linea (sin cambiar columna)
#define lcdLineUp               11 // Sube una linea (sin cambiar columna)
#define lcdClearScreen          12 // Limpia pantalla y salta a Home
#define lcdCR                   13 // Salto a la siguiente linea
#define lcdClearColumn          17 // Limpia columna y mueve cursor a la derecha
#define lcdTabSet               18 // Establece tamaño tabulador (1-10)
#define lcdBacklightOn          19 // Iluminacion panel posterior ON
#define lcdBacklightOff         20 // Iluminacion panel posterior OFF
#define lcdChangeAddress        25 // Comando para cambio de direccion del modulo       
#define lcdCustomCharGenerator  27 // Comando para generacion de caracteres
#define lcdDoubleKeypadScanRate 28 // Dobla la frecuencia de escaneo para el keypad (20hz)
#define lcdNormalKeypadScanRate 29 // Frecuencia escaneo estandar (10hz)
//
// SOLO para Modo Serial
//
#define lcdFIFOStatus           14 // Devuelve estado FIFO, numero de bytes libres (0-64)
#define lcdSoftwareVersion      15 // Devuelve version del soft (1 byte)
#define lcdKeypadStatus         16 // Devuelve informacion de Keypad  (byte bajo primero) 
//

flico

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy