domingo, 22 de abril de 2018

LABORATORIO 8

JUEGO DE TIRO A CANASTA CON INDICADOR DE PUNTOS

FASE 4

IMPLEMENTACION DEL PROYECTO

1. COMPETENCIAS ESPECIFICAS DE LA SESIÓN

  • CONOCER EL PROCESO DE DESARROLLO DE UN PROYECTO CON PIC
  • APLICAR LAS TÉCNICAS DE PROGRAMACIÓN CONOCIDAS HASTA EL MOMENTO
  • APLICAR ESTOS CONOCIMIENTOS EN LA REALIZACIÓN DE UN PROYECTO

2. MARCO TEÓRICO




3. EVIDENCIAS DE LA TAREA EN LABORATORIO








4. OBSERVACIONES 



5. CONCLUSIONES



6. FOTO GRUPAL







LABORATORIO 7

TERMOSTATO DIGITAL CON PANTALLA LCD

FASE NRO 2

MANEJO DEL TIMER Y  LAS INTERRUPCIONES

1. COMPETENCIA ESPECIFICA DE LA SESIÓN 
  • CONOCER EL FUNCIONAMIENTO Y LA CONFIGURACIÓN DE LAS INTERRUPCIONES
  • CONOCER EL FUNCIONAMIENTO Y LA CONFIGURACIÓN DEL TIMER CERO
  • APLICAR ESTOS CONOCIMIENTOS EN LA REALIZACIÓN DE UN CRONOMETRO

2. MARCO TEÓRICO



Un temporizador contador PIC es un registro que aumenta su valor en una unidad con cada 4 ciclos de reloj al cual se encuentre funcionando el microcontrolador PIC, si por ejemplo la frecuencia del oscilador es de 4MHz, entonces  el ciclo de trabajo del microcontrolador PIC será de 1us, por lo que el temporizador contador PIC aumentará  su  valor de uno en uno en cada microsegundo; por ejemplo cuando el temporizador aumenta su valor en 10 unidades habrán transcurrido 10us.

El temporizador contador PIC es utilizado para obtener medidas de tiempos muy precisas, de ahí que se le da el nombre de temporizador, en este caso el temporizador contador PIC funciona con el reloj del sistema; pero también puede ser utilizado para realizar conteos, por lo que también se le llama contador, en este caso el temporizador contador PIC ya no aumenta su valor de uno en uno en cada ciclo de trabajo, sino que lo hará mediante el flanco de subida o el flanco de bajada de alguna señal que llegue a un pin del PIC, estos pines son identificados como TxCKI donde x es el número temporizador contador PIC que será usado como contador.
El temporizador contador PIC puede producir interrupciones.
Los microcontroladores PIC suelen tener varios temporizadores, como ejemplo se utilizará el PIC16F877A, el cual tiene 3 temporizadores que son llamados timer0, timer1 y timer2, el tiempo que tarda el temporizador contador PIC en aumentar su valor de unidad en unidad, se puede modificar por programa mediante el uso de prescalers, siendo de esta manera mucho mas provechosos; dependiendo del modelo de microcontrolador PIC utilizado, no todos los temporizadores pueden ser utilizados como temporizador y también como contador.
El registro en los microcontroladores PIC donde se guardan y realizan los aumentos de uno en uno del temporizador PIC, es llamado registro temporizador contador y es representado por TMRx, donde x es el número de temporizador contador PIC que puede ser 0, 1, 2, dependiendo del número de temporizadores con que cuente el microcontrolador PIC; el temporizador contador PIC puede ser de 8 bits o de 16 bits.
El temporizador contador PIC puede aumentar sus valores de 0 a 255 si es de 8 bits como el timer0, o de 0 a 65535 si es de 16 bits como el timer1, cada vez que estos registros alcanzan su máximo valor se reinician, volviendo a contar desde su valor mínimo hasta su máximo, ademas pueden ser programados para provocar interrupciones.
Para el uso del temporizador contador PIC se cuenta además con un grupo de registros mediante los cuales se puede lo puede configurar de acuerdo a las necesidades que se tengan.
El registro temporizador contador PIC TMR1 puede ser utilizado para tareas de comparación, captura y el registro TMR2 es utilizado para la obtención de señales  de modulación de ancho de pulso o PWM, siendo para ello necesario el uso de otros registros.
3. EVIDENCIAS DE LAS TAREAS EN LABORATORIO

EJERCICIO 1

CCS C COMPILER



#include <16f877a.h>             // Incluimos archivo con PIC a utilizar
#use delay (clock=20M)           // Indicamos al compilador que trabajaremos a 20Mhz
#fuses HS, NOPROTECT, NOWDT      // Configuración básica de los fusibles

#define LCD_ENABLE_PIN        PIN_D3   //Definimos los pines a ser utilizados por la
#define LCD_RS_PIN            PIN_D2   //pantalla LCD
#define LCD_RW_PIN            PIN_C7 
#define LCD_DATA4             PIN_D4
#define LCD_DATA5             PIN_D5
#define LCD_DATA6             PIN_D6
#define LCD_DATA7             PIN_D7
#include <lcd.c>                 // Incluimos librería para manejar Pantalla LCD

int centesimas=0,segundos=0,minutos=2;

#int_TIMER0                      // FUNCION DE INTERRUPCION POR
void TIMER(VOID)                 // DESBORDAMIENTO DEL TIMER 0
{
   ++centesimas;                 // incrementar una centésima
   if (centesimas>99)
      {
      ++segundos;                // si llegamos a 100, incrementar un segundo
      centesimas=0;
      }
   if (segundos>59)
      {
      ++minutos;                 // si llegamos a 60, incrementar un minuto
      segundos=0;
      }
   if (minutos==3)                // si llegamos a 3 minutos, hacer alguna acción
      {
      minutos=0;
      disable_interrupts (INT_TIMER0);          //habilita interrupcion de timer0
      // agregar cualquier otra acción necesaria.
      }
 
   set_timer0 (61);              //reinicar cuenta desde 61
}

void main ()
{
   lcd_init () ;                                // Inicializamos pantalla LCD
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);   //configuracion del timer0
   set_timer0 (61);                             // interrupción cada centésima
   enable_interrupts (INT_TIMER0);              //habilita interrupcion de timer0
   enable_interrupts (GLOBAL);                  //todas las interrupciones activadas
 
   printf (lcd_putc, "\f***CRONOMETRO***") ;    // Mandamos mensaje por única vez

 
   WHILE (true)
   {
      lcd_gotoxy(2,2);
      Printf(lcd_putc,"Tiempo %02u:%02u",minutos, segundos);
    }
}

PROTEUS (VIRTUAL)








ENTRENADOR (FÍSICO)


EJERCICIO 2








VÍDEO




4. OBSERVACIONES

  • ·        Se utilizó al microcontrolador en aplicaciones de control electrónico.
  • ·        Se desarrolló y ejecuto programas en un microcontrolador PIC
  • ·        Programación y configuración interfaces básicas del microcontrolador.
  • ·        Conocimiento del proceso de desarrollo de un proyecto con PIC
  • ·        Aplicar todas las técnicas de programación conocidas hasta este momento.
  • ·        Aplicación de conocimientos hasta ahora en la realización de un proyecto.
  • ·        Los display a veces presentan problemas.


5. CONCLUSIONES


  •       La tarjeta  además de aplicada en la experiencia nos sirve de muchas maneras, haciendo uso de los códigos.
  •       El formato aplicado en la secuencia de comandos tiene que ser respetado, además de las condicionales que algunos de estos poseen, como por ejemplo al mostrar una palabra larga o corta, poniendo decimales o enteros.
  •       Al realizar el conteo decreciente debe establecerse el fin de la ejecución del programa, así como volver hacia un punto inicial.
  •        La forma de ejecución de actividades debe estar regida por toda la secuencia de comandos y solo debe estar limitada a hacer uso de las extensiones disponibles que esta posea.
  •      Orden y disposición de directrices como VOID , INT, deben estar en lugares específicos , junto con la orden que se les asigno.





6. FOTO GRUPAL




domingo, 1 de abril de 2018

LABORATORIO 6


TERMOSTATO DIGITAL CON PANTALLA LCD

FASE 2

LECTURA DE ENTRADAS ANALÓGICAS Y SENSOR DE TEMPERATURA

1. COMPETENCIA ESPECIFICA DE LA SESIÓN 
  • Lecturas analógicas de un canal del PIC
  • Configuración de un sensor de Temperatura
  • Lectura analógica es un pantalla LCD
2. MARCO TEÓRICO
  • Entrada/Salida
    Los microcontroladores poseen una serie de terminales (también llamados pines o patas) que funcionan como entradas y salidas de señales analógicas y/o digitales.


    Para comprender el concepto de entradas y salidas podemos pensar en señales de voltaje. Una entrada es un terminal que permite que se le aplique una señal de voltaje, lo cual le permite al microcontrolador interpretar que algo está sucediendo y que se debe comportar de una forma determinada. Veamos un ejemplo:





3. EVIDENCIAS DE TAREAS EN EL LABORATORIO

1. EJERCICIO DE PRUEBA




En este ejercicio de prueba se utilizo 8 bits lo cual nos permite contar de 0 a 255 

2. SE REALIZO LOS SIGUIENTES CAMBIOS


EJERCICIO 1

a.-Donde dice “#device adc=8” cambie por “#device adc=10”; convierta la variable “lectura”

en entero de 16 bits y la línea printf cambie “%4u” por “%4lu”.



EJERCICIO 2




b.- Convierta el valor leído en valor de voltaje de 0 a 5 voltios. Para esto cambie la variable “lectura” a variable tipo float y configure su forma de mostrarse en el LCD. Luego, en la función While(true), añada la instrucción “lectura = lectura / 204.6”. Cambie las instrucciones para que en la pantalla del LCD aparezca algo así “Tensión: 3.456 v”.









En este ejercicio 2 nos pide hacer la regulación del voltaje de la entrada al entrenador (placa) , también que cambiemos la variable a tipo float, esto nos permite que se muestren los decimales y ya no sean enteros, en la linea 32 se pidió añadir los comandos dichos y por ultimo en la linea 34 se cambio a "Tensión: %1.3f v" esto quiere decir que sera 1 unidad y 3 decimales, todo después de "f"  se mostrara en la pantalla LCD como letra.





c.- Finalmente agregue una condición IF para que si el valor de voltaje supera 4.5 voltios,
mostrar el mensaje “WARNING” en la primera línea del LCD.




IF. Esto quiere decir: si la lectura es mayor, igual a 4.5 se mostrara la palabra "WARNING" , podemos notar que hay un enorme espacio después de warning, es para que cuando se imprima en la pantalla LCD no se muestre "LECTURA ANALOGICA" y el ElSE quiere decir: sin embargo habrá de imprimir "LECTURA ANALOGICA".

vídeo de la tarea en laboratorio




4. OBSERVACIONES



  • Se usó al micro controlador en aplicaciones de control electrónico.
  • Se desarrolló y ejecuto programas en un microcontrolador PIC
  • Se programó y configuro  interfaces básicas del micro controlador.
  • Se realizó lecturas analógicas de un canal del PIC
  • Se configuro señales recibidas de temperatura


5. CONCLUSIONES



  • La aplicación y análisis de los datos a usar nos mostrara los datos sean enteros o decimales mediante el uso de códigos como u, lu, o float.

  • La configuración de la salida de datos mostrada en el display es de suma importancia ya que manejara una lógica basada en la potencia de código binario  en la cual nos otorgara una respuesta hasta un número limitado

  • El manejo de variables  en la mayoría de los casos guarda correlación teniendo un punto de referencia
  • Se puede colocar mensajes para que sirva como signo de advertencia, ya que al trabajar con dispositivos programados, pueden mostrar inconvenientes de distinto tipo

  • La experiencia muestra la traducción de señales para un uso informativo y con una correcta escritura del microcontrolador.


6. FOTO GRUPAL