JUEGO DE TIRO A CANASTA CON
INDICADOR DE PUNTOS
FASE 5
IMPLEMENTACIÓN DEL JUEGO
1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
- Conocer el Display LCD y su funcionamiento
- Programar eficientemente el LCD
- Programar HMI para proyecto actual.
2. MARCO TEÓRICO:
Pantalla LCD 16x2 (2x16)
DESCRIPCIÓN:
Pantalla LCD de uso común en proyectos de electrónica, utiliza una interfaz paralela. La pantalla requiere 11 pines de entrada/salida para mostrar el mensaje. Muy utilizada con microcontroladores PIC y Arduino.
FUNCIONAMIENTO DE UNA PANTALLA LCD:
El LCD modifica la luz que lo incide. Dependiendo de la polarización que se esté aplicando, el LCD reflejará o absorberá más o menos luz. Cuando un segmento recibe la tensión de polarización adecuada no reflejará la luz y aparecerá en la pantalla del dispositivo como un segmento oscuro. Seguro que más de un lector habrá visto este fenómeno en calculadoras, relojes, etc.
DESCRIPCIÓN:
Una pantalla de cristal líquido o LCD (Liquid Cristal Display) es un dispositivo para la presentación de imágenes o caracteres. En este caso usaremos uno basado en el µControlador Hitachi 44780 o compatible, que muestra 16 o 20 caracteres en 1, 2 o 4 líneas. Las funciones de control son iguales para todos los modelos.
3. EVIDENCIAS DE TAREAS EN EL LABORATORIO:
EJERCICIO 1
#include <16f877a.h>
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT
#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_A0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int16 dato;
void main ()
{
lcd_init () ;
printf (lcd_putc, " CONTADOR") ;
dato = 44;
WHILE (true)
{
IF (!input(PIN_D0)) /
{
dato = dato + 7;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D0))
{}
}
IF (!input(PIN_D1))
{
dato = dato - 5;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D1))
{}
}
}
}
ENTRENADOR
EJERCICIO 2
Se implemento un dato +150, cuando el dato sea mayor igual a 1000 se habrá de imprimir la palabra "FULL" y cuando el dato sea 0 la palabra "VALOR MÍNIMO"
PROGRAMA EN CCS C COMPILER
#include <16f877a.h>
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT
#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_A0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int16 dato;
void main ()
{
lcd_init () ;
printf (lcd_putc, " CONTADOR") ;
dato = 0;
WHILE (true)
{
IF (!input(PIN_D0))
{
dato = dato + 150;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D0))
{}
IF (dato>1000)
{ dato=1000;
lcd_gotoxy(1,1);
printf (lcd_putc, " FULL ") ;
}
}
IF (!input(PIN_D1))
{
lcd_gotoxy(1,1);
printf (lcd_putc, " CONTADOR ") ;
dato = dato - 150;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D1))
{}
IF(dato==0)
{ dato=0;
lcd_gotoxy(1,1);
printf (lcd_putc, " VALOR MINIMO ") ;
}
}
}
}
ENTRENADOR
VIDEO
OBSERVACIONES
- Se usó al micro controlador en aplicaciones de
control electrónico.
-
Se desarrolló
y ejecuto programas en un micro controlador PIC
- Se configuro y se ejecutó el programa en
interfaces básicas del micro controlador.
- Se conoció el Display LCD y su funcionamiento
- Se configuro el programa eficientemente el LCD
- Se programó HMI para proyecto actual.
CONCLUSIONES
- Aplicación de los recursos disponibles donde el
programa trabajo con el código compilado para realizar la actividad
- Uso de los comandos dirigidos tanto a generar
letras o caracteres como decimales requieren el uso de un código conjunto en el
cual también se designa lo que lo
distingue a los datos entregados.
- Realizar la rutina repetitiva con el programa
puede limitarse haciendo uso de otra directiva justo al final
- calcular la respuesta midiendo o aproximándolo
en ms, sea dependiendo de lo que se solicite.
- El manejo de los displays debe de ser ordenado
en le código tanto para señalar que este
es abierto como ordenar que aparezcan
los datos que uno desea.
FOTO GRUPAL
JUEGO DE TIRO A CANASTA CON
INDICADOR DE PUNTOS
FASE 5
IMPLEMENTACIÓN DEL JUEGO
1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
- Conocer el Display LCD y su funcionamiento
- Programar eficientemente el LCD
- Programar HMI para proyecto actual.
2. MARCO TEÓRICO:
Pantalla LCD 16x2 (2x16)
DESCRIPCIÓN:
Pantalla LCD de uso común en proyectos de electrónica, utiliza una interfaz paralela. La pantalla requiere 11 pines de entrada/salida para mostrar el mensaje. Muy utilizada con microcontroladores PIC y Arduino.
FUNCIONAMIENTO DE UNA PANTALLA LCD:
El LCD modifica la luz que lo incide. Dependiendo de la polarización que se esté aplicando, el LCD reflejará o absorberá más o menos luz. Cuando un segmento recibe la tensión de polarización adecuada no reflejará la luz y aparecerá en la pantalla del dispositivo como un segmento oscuro. Seguro que más de un lector habrá visto este fenómeno en calculadoras, relojes, etc.
DESCRIPCIÓN:
Una pantalla de cristal líquido o LCD (Liquid Cristal Display) es un dispositivo para la presentación de imágenes o caracteres. En este caso usaremos uno basado en el µControlador Hitachi 44780 o compatible, que muestra 16 o 20 caracteres en 1, 2 o 4 líneas. Las funciones de control son iguales para todos los modelos.
3. EVIDENCIAS DE TAREAS EN EL LABORATORIO:
#include <16f877a.h>
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT
#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_A0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int16 dato;
void main ()
{
lcd_init () ;
printf (lcd_putc, " CONTADOR") ;
dato = 44;
WHILE (true)
{
IF (!input(PIN_D0)) /
{
dato = dato + 7;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D0))
{}
}
IF (!input(PIN_D1))
{
dato = dato - 5;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D1))
{}
}
}
}
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT
#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_A0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int16 dato;
void main ()
{
lcd_init () ;
printf (lcd_putc, " CONTADOR") ;
dato = 44;
WHILE (true)
{
IF (!input(PIN_D0)) /
{
dato = dato + 7;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D0))
{}
}
IF (!input(PIN_D1))
{
dato = dato - 5;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D1))
{}
}
}
}
ENTRENADOR
EJERCICIO 2
Se implemento un dato +150, cuando el dato sea mayor igual a 1000 se habrá de imprimir la palabra "FULL" y cuando el dato sea 0 la palabra "VALOR MÍNIMO"
PROGRAMA EN CCS C COMPILER
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT
#define LCD_ENABLE_PIN PIN_D3
#define LCD_RS_PIN PIN_D2
#define LCD_RW_PIN PIN_A0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
int16 dato;
void main ()
{
lcd_init () ;
printf (lcd_putc, " CONTADOR") ;
dato = 0;
WHILE (true)
{
IF (!input(PIN_D0))
{
dato = dato + 150;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D0))
{}
IF (dato>1000)
{ dato=1000;
lcd_gotoxy(1,1);
printf (lcd_putc, " FULL ") ;
}
}
IF (!input(PIN_D1))
{
lcd_gotoxy(1,1);
printf (lcd_putc, " CONTADOR ") ;
dato = dato - 150;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %lu", dato) ;
while (!input(PIN_D1))
{}
IF(dato==0)
{ dato=0;
lcd_gotoxy(1,1);
printf (lcd_putc, " VALOR MINIMO ") ;
}
}
}
}
VIDEO
OBSERVACIONES
- Se usó al micro controlador en aplicaciones de control electrónico.
- Se desarrolló y ejecuto programas en un micro controlador PIC
- Se configuro y se ejecutó el programa en interfaces básicas del micro controlador.
- Se conoció el Display LCD y su funcionamiento
- Se configuro el programa eficientemente el LCD
- Se programó HMI para proyecto actual.
CONCLUSIONES
- Aplicación de los recursos disponibles donde el programa trabajo con el código compilado para realizar la actividad
- Uso de los comandos dirigidos tanto a generar letras o caracteres como decimales requieren el uso de un código conjunto en el cual también se designa lo que lo distingue a los datos entregados.
- Realizar la rutina repetitiva con el programa puede limitarse haciendo uso de otra directiva justo al final
- calcular la respuesta midiendo o aproximándolo en ms, sea dependiendo de lo que se solicite.
- El manejo de los displays debe de ser ordenado en le código tanto para señalar que este es abierto como ordenar que aparezcan los datos que uno desea.
FOTO GRUPAL