Este documento proporciona instrucciones para conectar y programar un módulo LCD controlado por conexión serie o I2C. Incluye cómo enviar comandos de control al LCD, programar mensajes predefinidos, mostrar la hora y fecha, y configurar una alarma.
Configuracion y conceptos basicos de switchjesalvatierra
Esta es una pequeña descrpcion de configuracion de switches CISCO. Si bien no todos los equipos se configuran de la misma manera la logica o modos de configuracion se adapta a cualquier equipo, mas aun cuando se esta empezando con lo basico.
Configuracion y conceptos basicos de switchjesalvatierra
Esta es una pequeña descrpcion de configuracion de switches CISCO. Si bien no todos los equipos se configuran de la misma manera la logica o modos de configuracion se adapta a cualquier equipo, mas aun cuando se esta empezando con lo basico.
En la presentación Interfaz LCD, se define lo que es un Display de Cristal Líquido, sus variantes paralelas y seriales y se describe de forma muy puntual los tipos de memorias, sus aplicaciones y sus usos; así mismo, se muestran las opciones de conexión con un microcontrolador y los algoritmos de inicialización, envío de comandos y caracteres, escritos en lenguaje C para que sean fáciles de exportar a diferentes compiladores de diferentes microcontroladores.
Ésta versión esta pensada para uso didáctico y puede ser utilizada y modificada, haciendo referencia al trabajo aquí presentado.
aqui les traigo el famoso pickit2 modificado no hay ningun plano en la web igual a este, este plano es producto de los demas pikit2 de los cuales me base para hacer este.
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos display cátodo común y el teclado 4x4.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
▷ Teclado numérico 4x4
✅ Descripción
▷ El presente proyecto hace uso de dos displays cátodo común y un teclado 4x4.
Vamos a implementar un programa que muestra el código de la tecla presionada en los display.
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
Simulation:
https://youtu.be/rvsUvkgi8ro
Se diseño un circuito para lectura de temperatura utilizando el sensor LM35, la lectura se mostro mediante un multiplexor en 4 displays de siete segmentos (Ánodo y Cátodo Común), para el desarrollo del proyecto se utilizo la tarjeta Arduino Uno con el microcontrolador ATmega328P.
A circuit for temperature reading was designed using the LM35 sensor, the reading was shown by means of a multiplexer on 4 seven-segment displays (Anode and Common Cathode), for the development of the project the Arduino Uno card was used with the ATmega328P microcontroller.
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en HonduraspptxWalterOrdoez22
Es un conjunto de diapositivas creadas para la información sobre la importancia que tienen la interpol en honduras y los tratados entre ambas instituciones
Ipsos, empresa de investigación de mercados y opinión pública, divulgó su informe N°29 “Claves Ipsos” correspondiente al mes de abril, que encuestó a 800 personas con el fin de identificar las principales opiniones y comportamientos de las y los ciudadanos respecto de temas de interés para el país. En esta edición se abordó la a Carabineros de Chile, su evaluación, legitimidad en su actuar y el asesinato de tres funcionarios en Cañete. Además, se consultó sobre el Ejército y la opinión respecto de la marcha en Putre.
1. Serie/i2C LCD y Reloj
1/10
Conexionado del módulo LCD para ser controlado por conexión serie:
El PICAXE-18 puede ser el entrenador de
sistemas PICAXE-18x.
La conexión de salida del PICAXE-18 (output7)
tiene que ser directa sin pasar por el Darligton
ULN2803.
Instrucciones para el control del LCD(comandos de control):
A continuación se describen las instrucciones de control del módulo LCD. Cada código deberá
ser enviado al módulo usando la subrutina wrins. Estas instrucciones se pueden usar para hacer
los mensajes más interesantes: scroll, parpadeo, etc.
Los comandos de control tienen prefijado el código (254).
Código Instrucción
1 Borrar display y poner cursor al principio de la primera línea
2 Mueve el cursor y muestra la ventana en principio de primera línea
4 Modo de escritura de derecha a izquierda
5 Escritura en modo scroll hacia la izquierda
6 Modo de escritura de izquierda a derecha
7 Escritura en modo scroll hacia la derecha
10 Apaga el display del LCD
12 Oculta el cursor
13 Cursor parpadea intermitentemente
14 Enciende el display y el cursor
16 Mueve el cursor una posición a la izquierda
20 Mueve el cursor una posición a la derecha
24 Scroll de la ventana una posición a la izquierda
28 Scroll de la ventana una posición a la derecha
128 Mueve el cursor al principio de la primera línea
192 Mueve el cursor al principio de la segunda línea
y Mueve en la línea 1, posición x (y = 128+x)
y Mueve en la línea 2, posición x (y = 192+x)
Nota: “ventana” es la posición donde se mostrará el carácter
Caracteres:
Código Instrucción
0 Time (fecha/hora)
1-7 Mensajes predefinidos
8-128 ASCII caracteres (ver anexo A)
129-252 Caracteres varios (dependen del tipo de LCD)
253 Comando especial: escritura en memoria
254 Comando especial: comando carácter
255 Reservado para futuros usos
2. Serie/i2C LCD y Reloj
2/10
Comandos de escritura:
Los comandos de escritura en el módulo LCD tienen prefijado el código (253).
Se debe dejar un período de espera de 1000 ms (pause 1000) entre comandos de escritura.
Código Instrucción
0 Set clock time
1-7 Set mensajes predefinidos 1-7
8 Set alarma (date/time)
9 Set alarma (intervalo)
10 Turn alarma off
Programa TEST del Módulo LCD:
inicio:
pause 500 ‘espera para la inicialización del LCD
bucle:
serout 7,N2400, (254,128) ‘mueve cursor al principio de la primera línea
serout 7,N2400, (“Hola”) ‘presenta texto en pantalla LCD
end
Programación de mensajes predefinidos dentro del módulo LCD:
El módulo admite la programación de hasta 7 mensajes (1..7) de 16 caracteres cada uno. Estos
mensajes quedarán almacenados aunque se desconecte el módulo LCD.
Los mensajes se defines de la forma (1), (2),…(7).
Los mensajes 1, 3, 5 y 7 se muestran en la línea 1 del display.
Los mensajes 2, 4 y 6 s muestran en la línea 2 del display.
La carga del mensaje en el módulo se realiza mediante el comando (253), seguido de la
dirección de memoria y el propio mensaje.
Ejemplo:
inicio:
pause 500
bucle:
serout 7,N2400, (253,1,”Jugador1= “)
pause 1000
serout 7,N2400, (253,1,”Jugador2= “)
pause 500
goto bucle
Visualización de mensajes predefinidos:
Se pueden visualizar los mensajes que previamente fueron definidos solo basta con enviar su
código del mensaje (1)..(7).
Si se van a visualizar más de un mensaje es necesario hacer una pausa de 10ms (pause 10) entre
mensaje y mensaje con el fin de poder hacer la carga de la memoria interna del LCD.
3. Serie/i2C LCD y Reloj
3/10
Ejemplo:
inicio:
pause 500
bucle:
serout 7,N2400, (1)
pause 10
serout 7,N2400, (2)
pause 500
goto bucle
Visualización de mensajes predefinidos combinado con variables:
Es posible la combinación de la visualización de mensajes predefinidos con textos
alfanuméricos almacenados en variables. Las variables se declaran precedidas del símbolo #,
por ejemplo: #b1.
Veamos un ejemplo de combinación de ambos métodos de visualización. Visualizaremos el
resultado alcanzado por dos jugadores de los que se les ha definido un mensaje previo
“player1=” como mensaje (1) y “player2=” como mensaje (2). Las variables que indican la
puntuación alcanzada por cada jugador se almacenarán en b1 y b2 respectivamente. El código
del programa quedaría de la siguiente forma:
inicio:
pause 500
bucle:
serout 7,N2400, (1)
pause 10
serout 7,N2400, (254,137,#b1,” “)
serout 7,N2400, (2)
pause 10
serout 7,N2400, (254,201,#b2,” “)
let b1 = b1 + 1
let b2 = b2 + 1
pause 500
goto bucle
Nota:
Notar que los mensajes con código (1 o 2) son los primero que se visualizan. Posteriormente se
produce un retardo de 10 ms (pause 10). Por último se visualizará el resultado almacenado en
las variables (#b1 o #b2). El valor a visualizar, almacenado en las variables, deberá hacerse en
una posición determinada (posterior al mensaje, 9 caracteres). Para #b1 será: (254,137) o sea
128+9 y para #b2: (254,201) resultado de 192+9.
También se le añaden dos espacios con el fin de que en la siguiente escritura sobrescriba la cifra
antior con espacios para no ser visualizados (caso de que la cifra anterior tenga más dígitos que
la actual).
4. Serie/i2C LCD y Reloj
4/10
Visualización de caracteres especiales:
La aplicación Programming Editor contiene un wizard (asistente) que permite la creación de
caracteres definidos por el propio usuario. Veamos como se utiliza:
1. Seleccionar el wizard en el menú:
PICAXE → Wizards → Axe033 Serial
LCD.
2. Aparecerá un editor de caracteres de
forma que se dibujará el carácter a crear
mediante el clic en la casilla
correspondiente. También deberemos
indicarle el pin de salida (en este módulo
es el 7) y la dirección de la CGRAM.
3. Por último hacer clic en Copy preload
data para copiar el código generado en el
portapapeles de Windows (también lo
pega directamente sobre la pantalla de
edición del código).
Funcionamiento del reloj/alarma:
El módulo LCD controlado por i2C se puede
utilizar como reloj/alarma pero deberemos
añadirle:
• Una pila de Litio de 3V.
• DS1307 (C.I. reloj en tiempo real).
Instrucciones de montaje:
1. Colocar el DS1307 en el zócalo de 8 pines destinado para su conexión. Tener
cuidado con la disposición del mismo.
2. Colocar la pila de litio de 3V en su alojamiento con la cara positiva hacia arriba.
Nota:
La pila de litio conserva el reloj DS1307 funcionando cuando el suministro de energía principal
no está conectado. Esto garantiza el tiempo preciso dentro del módulo. La pila de litio no da
energía a la pantalla de cristal líquido o a la salida de pulsos. La duración de la pila está
estimada en 10 años.
5. Serie/i2C LCD y Reloj
5/10
Input/output Power conexiones:
Main header (V+, 0V):
Se conectará la alimentación principal del módulo (5-6V DC).
Si se desea conectarlo a 4,5V se debe colocar un puente en J2
(power). Este puente cortocircuita el diodo de protección de
tensión D1, dado que como tiene una caída de tensión de 0,7V
que podría poner la pantalla muy oscura con una tensión
inferior a 4,5V.
Main header (SDA and SCL):
Éstas son las conexiones del modo de trabajo del i2C. Solo pueden usarse cuando un puente ha
sido soldado en J1 para colocar el módulo en modo i2C.
Main header (OUT):
Salida de la alarma. Cuando se acciona pone a nivel alto la salida OUT durante 5 segundos.
Puede conectarse cualquier dispositivo cuyo consumo no supere los 20mA.
Pulse Output (PLS):
La salida PLS entrega una onda cuadrada de 1 Hz (1 pulso por segundo) cuando el reloj
opcional DS1307 está conectado. Unas resistencias de 330 están conectados en la placa para
permitir a un LED conectarlo directamente y producir una señal intermitente. La corriente de
salida máxima es de 20 mA.
Clock Jumper (CLK):
Si se elige esta opción el módulo se pone en funcionamiento como reloj (CLK). Durante este
modo las instrucciones no pueden ser enviadas por conexión serie. La salidad de pulsos y
alarma funcionan con noralidad. En la pantalla del LCD se mostrará en tiempo en todo
momento, cuando la alimentación principal está conectada.
LCD Backlight (LCD) (El LCD del modulo no tiene luz de fondo):
Si el LCD dispone de luz de fondo se puede ajustar la iluminación. Se debe soldar los
conexiones “A” y “K” del LCD a la placa y añadir una resistencia en RB del valor indicado en
el Datasheet del fabricante del LCD.
Resonador Tuning (RST):
Entrada para calibración del oscilador interno.
6. Serie/i2C LCD y Reloj
6/10
Programación de la hora del módulo LCD:
Para configurar la hora del reloj del módulo se deberá utilizar un pequeño programa que se
cargará a un PICAXE. A continuación se muestra la estructura del programa. Una vez se envié
el programa al módulo la pila de litio mantendrá la hora exacta durante 10 años. En el ejemplo
se configurará el reloj para las 22:00 del 25/11/01. La carga se efectuará con la instrucción de
escritura (253), seguida por la dirección de memoria del reloj (0), la fecha y la hora (”25/11/01
22.00 “):
inicio:
pause 500
ajuste:
serout 7,N2400, (253,0,”25/11/01 22:00 ”)
pause 1000
end
Nota:
La fecha y la hora se deben configurar exactamente como se muestra, usando el formato de hora
de 24 horas: dd/mm/aa hh:mm. Los mensajes de escritura siempre deben ser de 16 caracteres de
longitud, por ello se le debe agregar a la configuración dos espacios en blanco para llegar a los
16 caracteres. Tener en cuenta que después de cada orden de escritura se debe producir un
lapsus muerto de 1000 ms (pause 1000). El último serout muestra la fecha y hora para
comprobar que se ha configurado correctamente.
Para configurar la fecha y hora de forma exacta hacer la carga del proigrama con un minuto de
anterioridad y posteriormente resetear el PICAXE justo en el momento que se cumpla el
minuto.
Visualización de la hora:
El mensaje de Time será actualizado con la fecha/hora cada vez que se use. El mensaje se
visualizará usando el código de caracteres 0. La fecha/hora se visualizará en la segunda línea del
LCD.
El siguiente programa visualiza el mensaje 1 en la primera línea y la fecha/hora en la segunda
línea. La pantalla se actualizará cada 0,5 segundos.
inicio:
pause 500
ajuste:
serout 7,N2400, (1)
pause 10
serout 7,N2400, (0)
pause 500
goto ajuste
7. Serie/i2C LCD y Reloj
7/10
Programación de la alarma:
El pin de salida de la alarma se acciona (nivel alto durante 5 segundos) cuando se alcanzo el
tiempo prefijado para el disparo de la misma. La alarma puede estar configurada para mostrar
continuamente fecha/hora (código de escritura 8), o bien puede repetir la presentación
fecha/hora cada cierto tiempo (código de escritura 9).
La duración de la alarma debe estar programado en el módulo usando un pequeño programa
corriendo en un PICAXE-18 con el programa que se especifica mas adelante en el ejemplo.
Ajuste de la alarma a un tiempo específico:
Para programar el reloj registro de la alarma para las 07:30 de cada día (código de escritura 8),
usar el siguiente programa. Este programa carga la instrucción de escritura (253), seguida par la
dirección de la alarma (8) y del tiempo (“00/00/00 07:30”)
inicio:
pause 500
ajuste:
serout 7,N2400, (253,8,”00/00/00 07:30 ”)
pause 1000
end
Nota:
La fecha y la hora deben configurarse exactamente como se muestra. Se le deben añadir dos
espacios al final del texto para garantizar que el mensaje tiene 16 caracteres. También debe
tenerse en cuenta que se debe añadir un tiempo de retardo después de una orden de escritura de
1000 ms (pause 1000).
Ejemplo:
Para activar el despertador el primer día de todos los meses de todos los meses a medianoche
inicio:
pause 500
ajuste:
serout 7,N2400, (253,8,”01/00/00 00:00 ”)
pause 1000
end
8. Serie/i2C LCD y Reloj
8/10
Ajuste de la alarma en un intervalo de tiempo:
Para configurar la alarma para accionarse durante un intervalo de tiempo, en lugar de un tiempo
exacto, usar el código de escritura 9 en lugar de 9. Por ejemplo, para disparar la alarma cada
diez minutos (usando código de escritura 9):
inicio:
pause 500
ajuste:
serout 7,N2400, (253,9,”00:10:00 ”)
pause 1000
end
Para configurar la alarma cada 30 segundos:
inicio:
pause 500
ajuste:
serout 7,N2400, (253,9,”00:00:30 ”)
pause 1000
end
Para configurar la alarma cada 2 horas:
inicio:
pause 500
ajuste:
serout 7,N2400, (253,9,”02:00:00 ”)
pause 1000
end
Nota:
El intervalo de disparo de la alarma es configurado por el número de horas (00 a 23), minutos
(00 a 59) y segundos (00 a 59). El intervalo práctico menor es de 10 segundos, debido a los 5
segundos de duración de la salida de la alarma. Comprobar que la longitud de los textos debe
ser de 16 caracteres por lo que se le agregarán 8 espacios en blanco.
Ajuste del paro de la alarma:
Para desactivar cualquier tipo de alarma enviar el comando 10. Este comando no requiere
rellenar de espacios en blanco hasta los 16 caracteres.
inicio:
pause 500
ajuste:
serout 7,N2400, (253,10)
pause 1000
end
9. Serie/i2C LCD y Reloj
9/10
Anexo A:
Cuadro de caracteres memorizados en la CGRAM del módulo LCD
10. Serie/i2C LCD y Reloj
10/10
Anexo B:
Prácticas para el manejo del módulo LCD
Práctica 1:
Crear un programa para poner en hora el reloj y que muestre la hora.
Práctica 2:
Crear un programa que visualice la temperatura en el LCD
‘**************************
‘***** Termómetro **********
‘**************************
inicio:
readtemp 1,b1
pause 500
serout 7,N2400, (254,128)
serout 7,N2400, ("Temperatura:",#b1," C")
goto inicio