martes, 25 de septiembre de 2018

Laboratorio 5

MICROCONTROLADORES

Programación de una Pantalla LCD

1.COMPETENCIA ESPECIFICA DE LA SESION
  •  Conocer el Display LCD y su funcionamiento
  •  Programar eficientemente el LCD.
  •  Programar HMI para proyecto actual.


Edinson Medina Torres
Demostrando la finalización de los 3 niveles del 
JUEGOS  Light Bot


CERTIFICADO DE FINALIZACIÓN DEL JUEGO



Demostrando el funcionamiento en la ventana de código 

Se dispone de una pantalla LCD. Elaborar un programa que INCREMENTE un número en 150 unidades cada vez que se presione un pulsador.

DECREMENTE dicho número en 25 unidades cada vez que se presione otro pulsador.

Si el valor del número supera 1000 unidades, mostrar en la pantalla LCD en la primera línea: “FULL”. 

Si el valor llega a ser menor o igual a 10, mostrar “VALOR MINIMO”. En ambos casos el valor del número no debe incrementarse ni decrementarse.





Resultado Mikroingenieria
Edinson Medina Torres
TEMA 7: PANTALLA DE LCD

EDINSON MEDINA TORRES

CONCLUSIONES:

  • Se reconoció el Display LCD 16 x 2 y su funcionamiento, en lo teórico y en la practica con el entrenador en físico y en el digital en el programa PROTEUS.
  • Se programo adecuadamente de acuerdo a los requerimientos solicitados por el laboratorio Nº 5 el LCD y en su desarrollo se emplearon las librerias 16f877a.h y lcd.c para la utilizacion de la pantalla LCD.
  • Se realizo las diferentes modificaciones al programa dado por el profesor para que nos muestren en el LCD a mas de 1000 unidades "FULL" y en menores a 10 unidades "valor minimo". 
  • Se realizo el reconocimiento y la empleacion del codigo printf (lcd_putc, "Valor: %4lu", dato), para cuando se emplea el % (int), y el 4 (espacios) y LU (16 bit).
OBSERVACIONES:

  1. En los códigos programados para el programa de incremento y decremento para que nos muestre en el LCD se utilizo diferentes comandos para que puedan ser visualizados en el pantalla  "printf (lcd_putc, " CONTADOR")".
  2. Para el caso lcd_gotoxy(X,Y), para determinar la posición en la que se mostrar en el LCD en la que X( seria la columna) y Y (la fila) .
  3. En las ultimas filas del grupo de los 2 IF principales usados para este laboratorio se le agrego un WHILE, que nos realizaba un bucle repetitivo hasta de dejar de presionar o pulsar los pulsadores D0 y D1.
Alex Chuctaya Quispe

Demostrando la finalización de los 3 niveles del 
JUEGOS  Light Bot


Demostrando el funcionamiento en la ventana de código 


Alex Chuctaya Quispe
* Conclusiones 

- Realizo ejercicios en la pantalla LCD con el lenguaje C. 
- Se trabajó con el código printf (lcd_putc," "), para la realización del laboratorio.
- Se programó un LCD para saber su comportamiento en el entrenador.
- Se simule y se pruebo en el entrenador el programa del LCD de acuerdo al código de programación.
- Se comprendió el funcionamiento del display LCD para el laboratorio.

* Observations

- Se utilizó el código ELSE para que al momento de decremento del número 1000, este ya no aparezca la palabra full, sino contador.
- El mismo procedimiento se utilizó para cuando este incremente del número 0, este ya no aparezca la palabra mínimo sino contador.
- Se observo que al usar el WHILE este impida que hubiese anti rebotes al momento de seguir aumentado de 150 sí que este había que se quede en 1000.
- Al momento de querer cambiar la palabra "FULL" esta se combinaba con la palabra "CONTADOR" haciendo que aparezca la palabra "FULLADOR", por eso se le aumenta espacios a la palabra "FULL"

   Andres Benavente Quispe


Demostrando la finalización de los 3 niveles del 
JUEGOS  Light Bot



Demostrando el funcionamiento en la ventana de código 

GRUPO DE MESA

Andres Benavente Quispe
Edinson Medina Torres
Alex Chuctaya Quispe
Ricardo Tenorio Bustinza


miércoles, 12 de septiembre de 2018

LABORATORIO NRO. 3

MICROCONTROLADORES

PROGRAMACIÓN CON DISPLAY DE 7 

SEGMENTOS

1.COMPETENCIA ESPECIFICA DE LA SESION
  • Conocer el Display de 7 segmentos y su funcionamiento.
  • Conocer las técnicas de multiplexación.
  • Programar HMI para juego de encestar.


2. MARCO TEÓRICO:


Una variable es un objeto nombrado capaz de contener un dato que puede ser modificado durante la ejecución de programa. Es necesario especificar el tipo de dato que se le asigna a una variable  (int, float otros). Estas variables son almacenadas en la memoria RAM y el espacio de memoria que ocupan es en bytes, en la que depende de su tipo.

tipo  nombre_variable = valor inicial
Ejemplo:

float voltaje=0;
int8 suma=0;
int contador=10;

Nombre
Tamaño
Alcance
 short
 16 bits 
 desde -32.768 hasta 32.767
 unsigned short
 16 bits 
 desde 0 hasta 65535
 int
32 bits 
 desde -2.147.483.648 hasta 2.147.483.647
 unsigned int
32 bits 
desde 0 hasta  4.294.967.295
 long
32 bits 
 desde -2.147.483.648 hasta 2.147.483.647
 unsigned long
32 bits 
 desde 0 hasta 4.294.967.295 
 long long
64 bits 
 desde   -9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807
 unsigned long long
64 bits 
 desde 0 hasta 18.446.744.073.709.551.615

2.1. Descripción de los TIPOS DE VARIABLES: entero, entero con signo,  
       etc

Tipo "int" o entero:

Las variables enteras almacenan números enteros dentro de los límites de cada uno de sus tamaños. A su vez, esos tamaños dependen de la plataforma, del compilador, y del número de bits que use por palabra de memoria: 8, 16, 32... No hay reglas fijas para saber el tamaño, y por lo tanto, el mayor número que podemos almacenar en cada tipo entero: short int, int o long int`


Tipo "long long":

Este tipo no pertenece al estandar ANSI, sin embargo, está disponible en compiladores GNU, como el que se usa en Linux o el que usa el propio Dev-C++ (y otros entornos de desarrollo para Windows).

Este tipo ocupa el siguiente puesto en cuanto a tamaño, después de long int. Como en los otros casos, su tamaño no está definido, pero sí sabemos que será mayor o igual que el de long int.

Tipo "float" o coma flotante:

Las variables de este tipo almacenan números en formato de coma flotante, esto es, contienen un valor de mantisa y otro de exponente, que, para entendernos, codifican números con decimales.
Aunque el formato en que se almacenan estos números en un ordenador es binario, podemos ver cómo es posible almacenar números muy grandes o muy pequeños mediante dos enteros relativamente pequeños, usando potencias en base 10. Por ejemplo, tenemos para la mantisa un valor entero, m, entre -0.99 y 0.99, y para el exponente un valor, e entre -9 y 9.

Tipo "bool" o Booleano:

Las variables de este tipo sólo pueden tomar dos valores true (verdadero) o false (falso). Sirven para evaluar expresiones lógicas. Este tipo de variables se puede usar para almacenar respuestas, por ejemplo: ¿Posees carné de conducir? O para almacenar informaciones que sólo pueden tomar dos valores, por ejemplo: qué mano usas para escribir. En estos casos debemos acuñar una regla, en este ejemplo, podría ser diestro->true, zurdo->false.


3. EVIDENCIA DE TAREAS EN LABORATORIO:
Se tiene un sistema con 2 pulsadores (D0, D1) de entrada y 3 displays de salida,además de un zumbador en el pin E1. Programe según lo siguiente:


a. Al empezar el programa, se debe mostrar el número 500.b. Al presionar D0, el número mostrado se debe incrementar en 5 unidades, además debe zonar un pitido. c. Al presionar D1, el número mostrado debe disminuir 5 unidades pero de de 1 en 1 cada segundo.d.Si el número llega a ser mayor a 600, debe sonar 3 pitidos





Demostrando el funcionamiento en la tarjeta entrenadora



Demostrando el funcionamiento en la ventana de codigo 



Resultado Mikroingenieria
Edinson Medina Torres


Jean Pierre Carranza Cavani


Andres Benavente Quispe



4. CONCLUSIONES:

  • Se utilizo al microcontrolador en aplicaciones de control electrónico, tanto en la simulacion y como en fisico (tarjeta entrenadora). 
  • Se desarrollo y ejecutar las configuraciones solicitadas para este laboratorio en un microcontrolador PIC 
  • Se realizo el traslado y posicion de los jumper de la tarjeta entrenadora para que opere deacuerdo a lo que se requiere. 
  • Se considero algunos comandos en el programa C Compiler, para uno de los casos seria el comando Visualizar, en la que nos permitira  que la parte programada enn ese sector o grupo que este pueda visualizar los procedimientos hechos.


5. OBSERVACIONES

  • Se debe considerar el orden del display, para al realizar la progrramacion este funcione o ejecute correctamente.
  • Como se vio en el caso la falta declaración del valor "i", no compilaba correctamente, demostrando que en la sección de las directivas sin la declaración del tipo esa secuencia de código de compilara adecuadamente.
  • Los símbolos  de + y -, nos indicara que el valor se incrementara o disminuira deacuardo al numero dado.
6. FOTO GRUPAL:
-



Integrantes
Jean Pierre Carranza Cavani
Andres Benavente Quispe
Edinson Medina Torres