martes, 20 de marzo de 2018

LABORATORIO 5


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

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 = 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))     
            {} 
         }   
    }

}

SIMULACIÓN




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

  1.        Se usó al micro controlador en aplicaciones de control electrónico.
  2.        Se desarrolló y ejecuto programas en un micro controlador PIC
  3.           Se configuro y se ejecutó el programa en interfaces básicas del micro controlador.
  4.         Se conoció el Display LCD y su funcionamiento
  5.          Se configuro el programa eficientemente el LCD
  6.       Se programó HMI para proyecto actual.


CONCLUSIONES

  1. Aplicación de los recursos disponibles donde el programa trabajo con el código compilado para realizar la actividad
  2.          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.
  3.          Realizar la rutina repetitiva con el programa puede limitarse haciendo uso de otra directiva justo al final
  4.          calcular la respuesta midiendo o aproximándolo en ms, sea dependiendo de lo que se solicite.
  5.        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














1 comentario: