• No se han encontrado resultados

Capítulo 4 Pruebas y resultados

4.4. Pruebas del sistema embebido

Con el objetivo de verificar que el sistema embebido implementado en circuito impreso funciona adecuadamente, se llevó a cabo una prueba de desempeño, la cual fue diseñada de la siguiente manera. En dicha prueba, se determinaría el precio de tres productos y se anexaría el precio de estos a la cuenta del usuario. Además se escanearía un cuarto producto, el cual no está registrado en la base de datos, con el objetivo de ver la función que el prototipo realiza en estos casos. Después de haber anexado a la cuenta los precios de los tres productos registrados, estos serían retirados de la cuenta del usuario uno por uno.

A continuación se muestran los pasos que se siguieron para la realización de la prueba descrita anteriormente y los resultados obtenidos de esta. Con el objetivo de mostrar de manera adecuada los resultados obtenidos, se adjuntaron una serie de fotografías en la cual se puede ver el prototipo funcionando.

En la figura 4.10 se muestra al sistema embebido funcionando en conjunto con el sistema de almacenamiento de energía eléctrica, el cual le proporciona al sistema embebido la energía eléctrica que necesita para operar adecuadamente. En dicha figura también se puede apreciar al lector de códigos de barras, el cual se encuentra conectado al sistema embebido.

De esta forma, se podría decir que el prototipo propuesto se encontraba bajo condiciones iniciales, de modo que ya se podía proceder a realizar las pruebas de desempeño.

Vsc

58

Figura 4.10 Sistema embebido funcionando en conjunto con el sistema de almacenamiento de energía eléctrica.

El conjunto de productos que se utilizaron durante esta prueba de desempeño se muestran en la figura 4.11. Dichos productos fueron una Coca-cola de 600ml, un videojuego, un disco de música y un libro. De los cuatro artículos, el que no se encuentra registrado en la base de datos del sistema embebido es el libro. Cabe mencionar que en los códigos de barras de los productos cuya información se encuentran registrada en la base de datos implementada en el sistema embebido, se pueden apreciar en el apéndice D, de la sección de anexos.

Antes de comenzar a registrar productos, se verificó que la cuenta de usuario que mostraba el sistema embebido efectivamente se encontrará vacía ($0.00). Lo anterior se puede ver en la figura 4.12.

Después de realizar esta verificación se procedió a identificar el primer artículo, el cual fue la Coca- cola de 600ml. En la figura 4.13 se puede apreciar esto.

59

Figura 4.12 Cuenta de usuario vacía al iniciar el sistema embebido.

Figura 4.13 Escaneo de una Coca-cola de 600ml.

Una vez que se realizó la lectura del código de barras de la Coca-cola de 600ml, el sistema embebido detecto que este artículo efectivamente se encuentra dentro de la base de datos y por ende, mostró la información referente a este producto en la pantalla LCD (figura 4.14), al mismo tiempo que le muestra al usuario el mensaje “Anexar a cuenta?”. A partir de ese momento, el usuario tiene aproximadamente 5 segundos para decidir si agregará a su cuenta el monto del producto recién escaneado ó lo restará de su cuenta. En dado caso que el usuario quiera restar el costo de un producto determinado (presionando el botón de restar a cuenta), cuando la cuenta de usuario se encuentra vacía, el sistema embebido mostrará el mensaje de “Cuenta vacia” durante 5 segundos, con el objetivo de indicarle al usuario que no se puede realizar esa operación. Pero debido a que el objetivo de la prueba era agregar el monto de tres productos a la cuenta de usuario, para después restarlo, la siguiente acción que se realizo fue la de anexar el costo de la Coca-cola de 600ml a la cuenta de usuario.

Cabe mencionar que si el usuario no realiza ninguna acción dentro de los 5 segundos que el sistema embebido le otorga para tomar una decisión, el sistema embebido simplemente volverá a mostrar el mensaje “Elija producto” junto con el valor actual de la cuenta de usuario.

60

Figura 4.14 Sistema embebido mostrando la información de un artículo recién escaneado.

Para agregar el precio de la Coca-cola de 600ml (y de cualquier producto que se encuentre dentro de la base de datos), simplemente se tiene que presionar el botón de agregar a cuenta instantes después de haber identificado un producto. Dicho botón es el que se encuentra en medio de la fila de botones de selección, siendo el ubicado a la izquierda de este el de reinicio del sistema embebido y el colocado a su derecha el botón de restar a cuenta. En la figura 4.15 se muestra la manera en que se anexó a cuenta el monto correspondiente a la Coca-cola de 600ml, el cual fue de $8.50.

Figura 4.15 Se anexa a cuenta el monto de una Coca-cola de 600ml.

Una vez que se presionó el botón de agregar a cuenta, el sistema embebido anexó este valor a la cuenta de usuario y después mostró en la pantalla LCD el estado actual de la cuenta a pagar. Como se puede ver en la figura 4.16, la cuenta de usuario de se vio modificada, cambiando de $0 a $8.50, el cual es el precio asignado a una Coca-cola de 600ml.

61

Figura 4.16 Cuenta de usuario modificada, después de agregar el monto de un producto a cuenta.

Del mismo modo que se agregó a la cuenta de usuario el monto de una Coca-cola de 600ml, se anexaron las cantidades correspondientes a un disco de música y un videojuego. Este proceso se puede observar en las figuras 4.17, 4.18, 4.19, 4.20, 4.21, 4.22.

Figura 4.17 Escaneo de un disco de música.

62

Figura 4.19 Cuenta de usuario modificada, después de haber anexado a cuenta el costo de un disco de música.

Figura 4.20 Escaneo de un videojuego.

63

Figura 4.22 Cuenta de usuario modificada, después de haber anexado a cuenta el costo de un videojuego.

Una vez que se agregaron a la cuenta de usuario el costo de los tres productos mencionados anteriormente, la cuenta de usuario alcanzó un monto de $609.75. El siguiente paso a realizar dentro de la prueba de desempeño era el de tratar de identificar un producto que no se encontrará registrado en la base de datos implementada dentro del sistema embebido. Dicho producto en este caso era un libro, el cual, como se muestra en la figura 4.23, fue escaneado y el sistema embebido no fue capaz de identificarlo, debido a que no se encontraba registrado dentro de la base de datos (figura 4.24).

64

Figura 4.24 El sistema embebido al no identificar un producto, muestra el mensaje “No registrado”.

Una vez que se corroboró que el sistema embebido realiza las acciones pertinentes en caso de que se intente identificar un producto que no se encuentra registrado dentro de la base de datos, se procedió a eliminar el monto correspondiente a los producto que fueron anexados a la cuenta de usuario anteriormente. Para lograr esto, simplemente se tenía que escanear el código de barras de cada producto y cuando el sistema embebido mostrará la información referente al producto recién escaneado, se presionaba el botón de restar a cuenta. De esa manera el monto referente al producto recién identificado, era restado de la cuenta de usuario. Este proceso se realizó con los tres productos que se agregaron anteriormente a la cuenta de usuario y se puede apreciar en las figuras 4.25, 4.26, 4.27, 4.28, 4.29 y 4.30.

65

Figura 4.26 Cuenta de usuario modificada después de haber retirado el monto perteneciente a una Coca-cola de 600ml.

Figura 4.27 Escaneo de un videojuego para después eliminarlo de la cuenta de usuario.

66

Figura 4.29 Escaneo de un disco de música para después eliminarlo de la cuenta de usuario.

Figura 4.30 Cuenta de usuario modificada después de retirar el monto perteneciente a un disco de música.

Una vez que se retiraron de la cuenta de usuario los tres productos anexados anetriormenate a esta, la cuenta volvío a su estado inicial, siendo ahora de $0.00. De esta forma, los resultados obtenidos en las pruebas realizadas anteriormente demostraron que el sistema embebido realizó las funciones que se esperaba que este realizará, de manera adecuada. Cabe destacar que el funcionamiento del sistema embebido es limitado, esto debido a que solo lleva un seguimiento del valor almacenado en la cuenta de usuario, más no un registro ó invetario de productos anexados a la cuenta, que ayude a tener un mejor control de esta. Por lo tanto, un usuario podría modificar de manera incorrecta su cuenta al momento de retirar productos, si esque no tiene cuidado. Para poder darle solución a esta problemática, se hacen algunas propuestas en la sección de recomendaciones de esta tesis.

67

Conclusiones.

Al término de los trabajos realizados en este proyecto de tesis, se logró desarrollar un dispositivo a nivel prototipo que cumple con la mayoría de los objetivos planteados inicialmente. Siendo los objetivos cumplidos, los siguientes:

 Determinar e implementar un sistema digital que satisfaga las especificaciones planteadas.  Almacenar y emplear la energía generada de manera adecuada.

Por lo tanto, no se logro autogenerar la energía eléctrica requerida por el prototipo, a través de la transformación de la energía cinética (la cual es generada por el movimiento del carrito de compras al ser desplazado por el usuario) en energía eléctrica. Cabe destacar que, aunque si se logró generar energía eléctrica de la manera inicialmente planteada, esta no era suficiente para tener una correcta operación del prototipo. Por lo tanto no se contó con un generador eléctrico capaz de generar la suficiente energía eléctrica para que el sistema digital implementado funcione.

Además, una función que inicialmente se propuso que realizara el sistema digital, finalmente no se logró implementar. Esta función era la actualización o modificación de la base de datos (en la cual se almacenan los códigos, nombres y precios de distintos productos) a través de una interfaz de comunicación inalámbrica. La principal razón por la cual esta función no se desarrollo, fue debido al poco tiempo con que se contó para el desarrollo del prototipo.

Pero a pesar de estas limitantes, mediante el desarrollo del prototipo propuesto en esta tesis, se llegó a la conclusión general de que es factible desarrollar un dispositivo que cumpla con todas las especificaciones anteriormente planteadas. Más sin embargo esto requiere un tiempo de desarrollo prolongado ó un equipo de desarrollo conformado por más personas, las cuales deben ser especialistas en distintas áreas. Lo anterior debido a que en este proyecto se involucran distintas áreas de la ingeniería electrónica, como la electrónica analógica, digital, de potencia y telecomunicaciones. Además, otras áreas que son ajenas a la ingeniería electrónica, como la mecánica y la electromecánica, también se ven involucradas.

Adicionalmente, el prototipo desarrollado puede servir como precedente ó referencia, para la realización de trabajos que complementen lo hecho en este proyecto de tesis ó busquen utilizar algún componente en específico que haya sido empleado en este proyecto (como supercapacitores, lectores de códigos de barras, microcontroladores, compiladores, entre otros).

Recomendaciones y trabajos futuros.

Aunque el prototipo propuesto en esta tesis es funcional, aun es necesario que se realicen trabajos de desarrollo para que este cumpla con todas las especificaciones de diseño que fueron planteadas en un inicio. Por lo tanto se contempla que se realicen las siguientes acciones en un trabajo posterior al realizado en este proyecto.

 Lograr implementar algún método de generación de energía eléctrica que sea capaz de generar la cantidad de energía necesaria para que el prototipo pueda funcionar. Ya sea este un mejor generador eléctrico al probado en este proyecto u otra fuente generadora de energía eléctrica.

 Implementar una interfaz de comunicación inalámbrica dentro del sistema digital, para de esa forma, proporcionarle al prototipo la función de actualización ó modificación de la base de datos de manera inalámbrica.

 Mejorar el algoritmo implementado dentro del microcontrolador, con el objetivo de optimizar y añadir funciones al prototipo.

68

 Mejorar la administración y consumo de la energía eléctrica que el prototipo emplea. Esto mediante el uso de modos “sleep” con los que cuentan algunos dispositivos implementados en el prototipo propuesto. También se puede obtener un mejor consumo de energía mediante el uso de otro microcontrolador que consuma menos energía eléctrica, como puede ser el PIC16F1936, el cual cuenta con una nueva tecnología que optimiza su consumo de energía eléctrica (tecnología nano Watt, de Microchip) [15].

En caso de que se quiera continuar con el desarrollo de este proyecto, se deben de tomar en cuenta las siguientes recomendaciones.

 Se debe de conocer y entender la forma en que trabaja un microcontrolador, así como saber cómo emplearlo y programarlo (ya sea en lenguaje ensamblador, C u otro).

 Se debe de comprender la manera en que trabajan y se emplean los supercapacitores.  En caso de buscar darle solución al problema de la generación de energía eléctrica, se

debe de investigar acerca de los métodos de construcción de generador que cumpla con los requerimientos que se solicitan en este proyecto.

 En caso de buscar darle solución al problema de la actualización de la base de datos empleada en el prototipo, de manera inalámbrica, se recomienda el uso de módulos de comunicación que empleen protocolos de comunicación populares, con la finalidad de no tener muchas complicaciones a la hora de implementarlos.

 Si se busca darle solución a los dos problemas anteriormente mencionados, se recomienda solucionar primero el problema de la actualización de la base de datos de manera inalámbrica, ya que sea cual sea el módulo de comunicación que se emplee, este consumirá energía eléctrica, lo cual se verá reflejado en las características que deba de satisfacer el generador de energía eléctrica que sea propuesto.

 Si se llega a resolver el problema de la actualización de la base de datos empleada en el prototipo, de manera inalámbrica, sería muy buena idea desarrollar una aplicación en la PC host que gestione la base de datos de los productos y precios que se actualizaran en la base de datos del prototipo.

 Se recomienda mejorar la manera en que el sistema embebido lleva el control de la cuenta de usuario, mediante la implementación de un inventario de productos, dentro del algoritmo del sistema embebido, ya que con el algoritmo empleado actualmente el usuario puede modificar su cuanta de manera incorrecta.

 Mejorar la manera en que la energía eléctrica es consumida por el sistema embebido, esto mediante la correcta implementación del modo “sleep” del microcontrolador PIC16F877A.

Otra manera de ahorrar energía eléctrica puede ser mediante la implementación de otro

microcontrolador que consuma menos energía, como podría ser el caso del microcontrolador PIC16F1936.

Una vez que se halla logrado generar suficiente energía eléctrica, sería conveniente hacer

una estimación sobre cuanta energía es generada, bajo diferentes velocidades de desplazamiento.

Mejorar la construcción del dispositivo propuesto, con el objetivo de hacerlo más robusto.

Esto para evitar que el dispositivo se dañe debido a un uso descuidado o rudo por parte del usuario.

69

Anexos

Durante el desarrollo del prototipo propuesto en esta tesis se implementaron y generaron una serie de recursos y contenidos que no podían ser incluidos en los capítulos principales, por lo tanto, estos contenidos fueron alojados en esta sección.

Cabe mencionar que independientemente del contenido escrito en esta sección, también se incluye un CD en el cual se almacenan los distintos archivos que se generaron en la elaboración del prototipo propuesto (programas, simulaciones, esquemas, fotolitos, etc), con el objetivo de facilitar la comprensión del proceso de elaboración del prototipo, así como también su reproducción y mejora.

Apéndice A – Datos técnicos de MS180 linear imager scanner de la marca Unitech.

Operación y Desempeño

Velocidad de barrido 45scans/seg

Ratio de contraste de impresión 45% mínimo

Resolución 4 mils mínimo

Angulo de escaneo 30 °- 150 °

Profundidad de campo

Desempeño 0 - 0.6 pulgadas en 4 – 13 mils

0 - 1 pulgadas en 40 mils

Amplitud de campo

Desempeño 0 – 2 pulgadas de distancia

Modos de operación

Tipos Gatillo, flash ó continuo

Interfaz Keyboard wedge

Simbologías

Tipos Code 39 Standard and Full ASCII, Codabar,

UPC/EAN with supplement codes,

UCC/EAN128, Interleaved 2 of 5, MSI/Plessy code, Standard 2 of 5, China Postal, Code(Toshiba Code), Label Code IV and V, Delta Distance code, Code93, Code128, Code32(Italian Pharmacy)

Óptica

Dispositivo receptor Elemento linear de imágenes 2160

70

Fuente de alimentación

Voltaje de alimentación +5Vdc +/- 5%

Corriente de operación 100.5 mA a 5V

Corriente en modo de espera 21.3 mA a 5V

Tiempo de Vida de interruptor Más de un millón de interrupciones de

interruptor

Volumen de sonido beep >70dB

Empaque

Dimensión 7.4"H x 3.46"W x 3.15"D

Peso 4.4 onzas

Material de la carcasa 30%PC + 70% ABS, UL94U0

Contorno de forma Manejable y cómoda a la mano, con logotipo de

Unitech al frente. Ambiental Temperatura de operación 32ºF a 122ºF Temperatura de almacenamiento -4ºF a 140ºF Humedad 20% RH ~ 85% RH Precio: $600.0

71

Apéndice B – Programa implementado.

Debido a que es un componente importante dentro del prototipo propuesto, el programa implementado en el sistema embebido no podía ser excluido de esta tesis. Aunque a continuación se muestra el código implementado, también se anexaran dentro de un CD los archivos necesarios para poder implementar y modificar dicho programa (.hex, .coff, .c).

#include<built_in.h> //Librería para seccionar datos del //tipo flotante

// Conexiones de Modulo LCD

sbit LCD_RS at RB7_bit; sbit LCD_EN at RB6_bit; sbit LCD_D4 at RB5_bit; sbit LCD_D5 at RB4_bit; sbit LCD_D6 at RB3_bit; sbit LCD_D7 at RB2_bit;

sbit LCD_RS_Direction at TRISB7_bit; sbit LCD_EN_Direction at TRISB6_bit; sbit LCD_D4_Direction at TRISB5_bit; sbit LCD_D5_Direction at TRISB4_bit; sbit LCD_D6_Direction at TRISB3_bit; sbit LCD_D7_Direction at TRISB2_bit;

//Coexiones de Modulo PS/2

sbit PS2_Data at RA4_bit; sbit PS2_Clock at RA5_bit;

sbit PS2_Data_Direction at TRISA4_bit; sbit PS2_Clock_Direction at TRISA5_bit;

//Vectores que tendrán el nombre del producto y el //código de barras, se guardaran en la EEPROM serial //i2c. (Se aplicará este formato a todos los productos, 10 //localidades para nombre y 16 para código de barras). //Estos datos se encuentran en memoria de programa.

const char out1[]="75007614 Coca-Cola "; const char out2[]="010722231835 Wolverine "; const char out3[]="013388330232 SSF4 X360 "; const char out4[]="825646866267 MUSE TR CD"; const char out5[]="013388991020 UMVC3 "; const char out6[]="730865900114 KOF XIII ";

//Todos los mensajes de la interfaz.

const char msj1[]="Elija Producto "; const char msj2[]="Anexar a cuenta?"; const char msj3[]="Cuenta $ "; const char msj4[]="Cuenta Vacia $0 "; const char msj5[]="Producto No "; const char msj6[]="Anexado a Cuenta"; const char msj7[]="No registrado ";

//Variables, txt->vector donde se cargaran todos los //mensajes a desplegarse en LCD, datt->vector que //contendrá los datos que se grabaran en la EEPROM,

Documento similar