WebQuest Tecnología e Informática Informática Reutilizar Un Lcd De Un Fax Rohm Rcm2055R
Reutilizar Un Lcd De Un Fax Rohm Rcm2055R
Publicado el 12 Febrero de 2013
Autor: Joel Yañez
Introducción
.Como reutilizar un LCD de un fax ROHM RCM2055R
Ficha técnica
Área:Tecnología e Informática
Asignatura:Informática
Edad: Entre 13-14 años
Herramientas:
Códigos QR
Diagramas causa efecto
Notice: Undefined offset: 99 in /home/edutek/eduteka.net/proyectos/gp/webquest/ver.php on line 144
Tarea
Este módulo tiene 24 pines, y están numerados en dos columnas iniciando al frente del PCB, en la esquina inferior izquierda con el pin 1.
Procesos
El display cuenta con una sección de una línea de 16 caracteres 5x8 puntos, una de 4 caracteres de 7 segmentos, y otros símbolos propios del fax
La única dificultad que encontré en la reutilización de este LCD con un microcontrolador de la serie PIC 16F es que la numeración de los pines no coincide con ningún tutorial qe se pueda encontrar en internet para lcd, que generalmente son de 14 pines,
Recursos
.
Sin éxito al buscar en la web, encontré otra alternativa al revisar la rotulación del chip del lcd, y como regularmente se usa el mismo para la mayoría de display antiguos, tuve suerte, pues era un HD4478, así que me di a la tarea de buscar el datasheet para ubicar los pines RS,RW, y E.
Teniéndolos ubicados y también las entradas de bits, bastó con identificar con el multimetro la ubicación de los mismos entre los 24 pines del modulo quedando identificados de la siguiente manera, y solo para la línea de 16 caracteres de 5x8 puntos.
Inmediatamente solde unos pequeños cables para hacer las pruebas correspondientes, y nuevamente encontré un detalle, el LCD, solo trabajaba con 4 bits, así que desolde, desde D0 hasta D3, y cómo solo había trabajado anteriormente con 8 bits, no entendia por que no se visualizaban adecuadamente los textos. Reconfigure el código en basic compiler del PIC SIMULATOR IDE 6.9 (que por cierto acabo de adquirir una licencia por 15 euros) para que trabajará a 4 bits y con el reloj interno del PIC16F833 a 8mhz. Y finalmente lograre ver el texto en el LCD de una línea de 16 caracteres.
Este es el código para un prototipo de espejo parabólico para concentrar energía calorífica solar que se enfoca automáticamente, que se trabaja con los alumnos de la Preparatoria 174 del municipio de Atlacomulco en el Estado de México.
Puede pegarse en Basic Compiler del Pic simulator IDE y simularse con un pic16f883
__________________________________________
AllDigital
Define CONF_WORD = 0x28f4 'el reloj interno debe ponerse a 8 mhz
Define CONF_WORD_2 = 0x3eff
Config RC3 = Output
Config PORTA = Input
TRISA = 0xff
ADCON1 = 1
Config RB5 = Output
Config RB4 = Output
Config RB3 = Output
Define LCD_BITS = 4
Define LCD_DREG = PORTC
Define LCD_DBIT = 4
Define LCD_RSREG = PORTB
Define LCD_RSBIT = 5
Define LCD_RWREG = PORTB
Define LCD_RWBIT = 4
Define LCD_EREG = PORTB
Define LCD_EBIT = 3
Dim a As Word
Dim b As Word
Dim e As Word
Dim adc_0 As Word 'ldr
Dim adc_1 As Word 'lrd2
Dim adc_2 As Word 'temperatura
a = 0
b = 0
e = 0
adc_0 = 0
adc_1 = 0
adc_2 = 0
RC3 = 1
Lcdinit LcdCurBlink
WaitMs 500
Lcdcmdout LcdClear
Lcdout "SEGUIDOR" 'solo 8 caracteres a la vez
Lcdcmdout LcdLine2Home
Lcdout " SOLAR" 'aparecene en una linea por ser de 4 bits
WaitMs 1000
RC3 = 0
Lcddefchar 0, 11, 10, 10, 11, 8, 8, 28, 28 'temperatura
Lcddefchar 1, 0, 0, 10, 10, 0, 17, 14, 0 'sonrisa
Lcddefchar 2, 4, 21, 14, 27, 14, 21, 4, 0 'sol
Lcddefchar 3, 0, 0, 0, 0, 0, 0, 0, 0
Lcddefchar 4, 28, 20, 28, 0, 3, 4, 4, 3 'grados centigrados
WaitMs 3000
loop:
Adcin 0, adc_0
Adcin 1, adc_1
Adcin 2, adc_2
a = a + adc_0
b = b + adc_1
e = e + adc_2
WaitMs 100
Adcin 0, adc_0
Adcin 1, adc_1
Adcin 2, adc_2
a = a + adc_0
b = b + adc_1
e = e + adc_2
WaitMs 100
Adcin 0, adc_0
Adcin 1, adc_1
Adcin 2, adc_2
a = a + adc_0
b = b + adc_1
e = e + adc_2
a = a / 30
b = b / 30
e = e / 6
Lcdcmdout LcdClear
Lcdout 2, #a, 3, 2, #b
Lcdcmdout LcdLine2Home
Lcdout 3, 0, #e, 4, 3, 3, 1
If a < 40 Then
RC3 = 1
Endif
If a > 40 Then
RC3 = 0
Endif
a = a - a
b = b - b
e = e - e
WaitMs 100
Goto loop
End
Como simple aficionado sin preparación oficial en electrónica o programación, me vi en la necesidad de encontrar un código para generar caracteres especiales para este tipo de LCD, y sobre todo para el único compilador que se utilizar PICSIMULATOR IDE, y encontré pistas en la pagina http://infotronikblog.blogspot.mx/2009/11/caracteres-especiales-lcd.html
Me fascino la facilidad en la que se puede crear figuras para matriz de caracteres ser 5x8 puntos, y la simplicidad con que se graban en la GRAM del LCD.
Evaluación
.“Caracteres especiales LCD
Aquí tenéis un sencillo tutorial sobre la creación de nuevos caracteres o símbolos en Displays alfanuméricos.Estos LCDs tienen normalmente un controlador HD44780 o compatible y se componen de una matriz de 5 píxeles horizontales por 8 verticales por carácter. En su memoria CGRAM puede almacenar hasta 8 nuevos caracteres.
La aplicación de símbolos es muy utilizada para crear animaciones o en indicadores de estado, como podría ser el triángulo para Play, cuadrado para Stop, símbolo de batería, etc...
Esta matriz con cuadros nos ayudara a calcular los Bytes necesarios para crear un carácter o símbolo nuevo.
Los cuadrados coloreados en negro se suman de manera horizontal para formar una linea,
y cada linea se suma independientemente.
Ahora solo nos falta enviar la información al microcontrolador de la siguiente manera:
Lcddefchar 0, 0, 10, 31, 31, 31, 14, 4, 0”
*Retomado de http://infotronikblog.blogspot.mx/2009/11/caracteres-especiales-lcd.html
La memoria interna del LCD tiene espacio para 8 caracteres diseñados por uno mismo, y con el comando Lcddefchar se define en qué posición se almacenará.
Por ejemplo un en la posición 1 un recuadro completamente negro se genera con el código
Lcddefchar 1, 31, 31, 31, 31, 31, 31,31, 31
Y lo proyectamos como:
Lcdout 1
Con algunas fórmulas en Excel se puede hacer una plantilla para dibujar manualmente los caracteres, y generar la secuencia de números para pegarla después de Lcddefchar 0, en el Basic compiler del Pic simulator IDE.
En mi plantilla, solo hay que escribir un “8” en cada casilla para que se vuelva negra la celda. Lo comparto en: https://www.dropbox.com/s/z05nnalvrdvrp71/Hacer%20caracteres%20%20para%20%20lcd.xlsx
Notas
.*Nota: toda la información que aparece en los Proyectos de Clase y WebQuest del portal educativo Eduteka es creada por los usuarios del portal.