Sunteți pe pagina 1din 15

Electrónica Digital

Otoño 2019
Clave:
LMT3011

Segunda Evaluación
“Código para una cafetera”

Erika Medel Jarillas ID: 152878

Eblin Juarez Monge ID: 154616


Edgar Arturo Juarez Fuentes ID:152919
Objetivo
-Realizar un código C para el funcionamiento de una cafetera, descrito en el archivo de trabajo, con los
conocimientos adquiridos en clase.

-Conocer y ampliar nuestra forma de usar los comandos aprendidos en C.

-Aprender a ser más lógicos a la hora de programar.

Introducción
Hacer proyectos puede ser o no tan complicado, todo eso dependerá del cocimiento que tengas, la
practica que la experiencia te haya dado y el compilador que utilizas. A medida que el curso ha avanzado
nos hemos dado cuenta de que el lenguaje “assembler” no llega a ir al mismo paso que el avance de la
complejidad de los microcontroladores. Es por ello por lo que en este momento del curso nos hemos
especializado en el lenguaje C, ya sea con XC8 o con CCS, pero utilizando siempre esos comandos. Este
proyecto va a probar que mas que prender un led se pueden hacer cosas mas complejas con un
microcontrolador y un buen lenguaje de programación.

Descripción del proyecto


El programa que se encargo es realizar un código para utilizarlo en una cafetera, la cual cumplirá distintas
etapas, las cuales son:

• Seleccionar el número de tazas(máximo=4), estas pudiéndose seleccionar con el botón “Option”


y el teclado.
• Escoger la concentración del café (10%-100% en porcentajes de diez en diez) de la misma manera
que el número de tazas.
• Prender los distintos leds a medida que se avanza en las actividades de moler, filtrar y cargar.
• Ver el llenado de cada taza a través de una matriz de leds.
• Con el botón “Clear” y el botón “*” del teclado se podrá reiniciar el proceso, en cualquier
momento.
• Con el botón “Select” y con el botón “#” se puede avanzar entre las dos primeras etapas.

Lista de entradas/salidas.
Lista de entradas

-Un teclado matricial 4x3 - Tres pulsadores (Push-button)


Teclado conectado al Puerto B/ Los tres pulsadores conectados al puerto A (RA0-RA2).
Lista de salidas

-Un LCD 2x16(conectado al puerto D)

-Una matriz de LEDs 5x7 (conectada al puerto C y puerto A (RA3-RA7)

-3 LEDS, que indican la etapa del proceso: moler, cargar y filtrar. (conectados al puerto E)
Diagrama de flujo
Diagrama eléctrico de conexiones

Listado de programa debidamente comentado.

Ilustración 1 En esta etapa del código se incluyeron las librerías, además de la configuración que va a utilizar el PIC, se agrega
también los valores que va a utilizar la matriz de LEDS.
Ilustración 2 Se definen las variables globales y se declaran las funciones y subrutinas.

Ilustración 3 Se define la función del precalentamiento, en ella se utilizó la palabra "Pre-heating" la cual fue separada en 6
segmentos para que en total se cumplieran los 5 segundos. (833 ms cada uno).
Ilustración 4 Se declara lo que aparecerá en el LCD previo a introducir el número de tazas

Ilustración 5 Esta subrutina aparece a lo largo del código y no sirve para poder hacer un reset en cualquier momento, con la tecla
"*" o el botón "Clear".
Ilustración 6 Se configura para que el número de tazas pueda ser seleccionado mediante el teclado o la tecla "Option"

Ilustración 7 Dependiendo el número de tazas se activará el case correspondiente.


Ilustración 8 Dependiendo de que número de tazas se hayan escogido, con esta subrutina se puede avanzar a preguntar por el
porcentaje.

Ilustración 9 Se define la configuración preterminada del porcentaje además de agregar de nuevo la posibilidad de un reinicio.
Ilustración 10 Se escoge el número de tazas, ya sea con el teclado o el botón "Option".

Ilustración 11 Dependiendo el número de concentración se activara el case correspondiente.


Ilustración 12 Con esta parte del código a partir del case se nos permite avanzar, con el botón “Option” o el “#”, a la última parte.
Ilustración 13 Esta parte del código esta diseñada para cada número de tazas escogido, se utiliza para saber cuántas veces se
hará uso de la función "preparar".

Ilustración 14 Primer parte del final, en esta se ejecuta la función "moler" en 5 segundos. Solo activa un led mientras esta en uso.
Ilustración 15 Segunda parte del final. En esta durante dos segundos se prende un LED para saber que el proceso de filtrado está
en uso. Además de, introducir la función del filtrado la cual nos activara nuestra matriz de leds.

Ilustración 16 Código para la matriz de LEDS.


Pruebas realizadas, problemas encontrados.
Los problemas encontrados era como juntar los distintos conocimientos en uno solo, por ejemplo, el uso
de una matriz de leds al mismo tiempo que ir cargando el programa y que siguiera en un ciclo. Otro
problema y que se encontró solución es el llenado de la taza a la par de la matriz de LEDS, con ella la
solución que se dio y se esta por probar es hacer uso de un sensor ultrasónico. Otro problema que surgió
y que se resolvió con resta el valor ASCII de cada símbolo fue el uso de las teclas “#” y “*”.

Hablando de pruebas, el código se iba probando siempre en el programa “Protheus” para poder
saber cómo este iba funcionando. Las pruebas y problemas, como todo programador sabrá, fueron
infinitas pero al final necesarias para que el programa cumpliera su propósito.

Video
https://youtu.be/pqE0MFhqDlY
Conclusiones
La configuración inicial del microcontrolador nos hizo comprender mejor las librerías que se pueden
utilizar ya que las necesidades del sistema nos fueron presentado las dudas y las consultas dentro del
mismo microcontrolador para satisfacer las tareas requeridas. Para la configuración de la matriz de LED
es necesario revisar cómo está conectada en la simulación y la dirección que se quiera dar. Las
declaraciones de variables globales, funciones y subrutinas fueron sencillas de aplicar gracias al lenguaje
de alto nivel que se ocupó. Las condiciones dentro del algoritmo son importantes para el conteo de las
tazas y el porcentaje que se quiera indicar, para que esto pueda suceder de manera aleatoria es necesario
realizar las funciones anteriores para colocarlas en subrutinas para que sea posible la reproducción de
tantas veces como número de tazas que se ha seleccionado.

Bibliografía
García Breijo Eduardo, Compilador CCCS y Simulador PROTEUS para microcontroladores PIC, 1a Edición,
Alfaomega, 2008 Bates Martin P., PIC Microcontrollers: An Introduction to Microelectronics, Third Edition,
Newnes Elsevier, 2011

Compilador C CCS y simulador Proteus: para microcontroladores pic, Eduardo García Brejio, AlfaOmega
Grupo Editor, 2010.

S-ar putea să vă placă și