36
IMPLEMENTACIÓN PRÁCTICA PARA EL CURSO DE PROGRAMACIÓN DE SISTEMAS EMBEBIDOS USANDO TARJETA INTEL GALILEO DIEGO ALEXANDER LANDAZURY DIAZ

IMPLEMENTACIÓN PRÁCTICA PARA EL CURSO DE PROGRAMACIÓN DE SISTEMAS EMBEBIDOS USANDO TARJETA INTEL GALILEO

Embed Size (px)

DESCRIPTION

ANTEPROYECTO

Citation preview

METODOLOGA DE GESTIN DE PROYECTOS ACADMICOS PARA LA FACULTAD DE INGENIERA UNIVERSIDAD SANTIAGO DE CALI

IMPLEMENTACIN PRCTICA PARA EL CURSO DE PROGRAMACIN DE SISTEMAS EMBEBIDOS USANDO TARJETA INTEL GALILEO

DIEGO ALEXANDER LANDAZURY DIAZ

UNIVERSIDAD SANTIAGO DE CALIFACULTAD DE INGENIERASISTEMESCALI2015IMPLEMENTACIN PRCTICA PARA EL CURSO DE PROGRAMACIN DE SISTEMAS EMBEBIDOS USANDO TARJETA INTEL GALILEO

DIEGO ALEXANDER LANDAZURY DIAZ

ASISTENCIA DOCENTEINGENIERA DE SOFTWARE

DIRECTOR DEL TRABAJO DE GRADODIEGO FERNANDO MARIN LOZANOMAGISTER EN INFORMATICA

UNIVERSIDAD SANTIAGO DE CALIFACULTAD DE INGENIERASISTEMASCALI2015CONTENIDO

pg.

INTRODUCCIN 3

1. PLANTEAMIENTO DEL PROBLEMA 42. JUSTIFICACIN 53. OBJETIVOS 63.1 GENERAL 63.2 ESPECIFICOS 63.3 ALCANCE 64. MARCO REFENCIAL 74.1 MARCO CONTEXTUAL 74.2 MARCO CONCEPTUAL Y TEORICO 74.2.1 Sistemas Embebidos 74.2.2 Estructura de un Sistema Embebido 74.2.3 Intel Galileo 84.2.4 Caractersticas de la Placa Intel Galileo 94.2.4.1 Descripcin de la placa Intel Galileo 94.2.4.2 Proceso para establecer la conexin de la tarjetaIntel Galileo con el Computador mediante LAN 114.2.4.3 Descripcin del software a utilizar 134.2.5 Laboratorios a desarrollar en el curso de Sistemas Embebidos. 144.2.5.1 Elementos a utilizar durante la elaboracinde los laboratorios del curso de Sistemas Embebidos. 16 4.3 ESTADO DEL ARTE 185. DISEO METODOLGICO PRELIMINAR 205.1 METODOLOGA SELECCIONADA 205.2 PLAN DE TRABAJO 20 5.2.1 Entregables principales del proyecto 215.3 CRONOGRAMA 215.4 PRESUPUESTO DETALLADO 216. BIBLIOGRAFIA 23

INDICE DE FIGURAS

pag

Figura 1. Tarjeta Intel Galileo "Vista Frontal" 8Figura 2. Tarjeta Intel Galileo "Vista Trasera" 8Figura 3. Componentes Clave 9Figura 4. Archivos descomprimidos en la tarjeta SD 11Figura 5. Interfaz del programa puTTY 11Figura 6. Entorno de desarrollo Linux 12Figura 7. Interfaz del programa Processing 13Figura 8. LEDs 16Figura 9. Potencimetros 16 Figura 10. LED RGB 16Figura 11. Display LED de 7-Segmentos 17Figura 12. Joystick shield 17Figura 13. LCD 16 x 2 17

INDICE DE TABLAS

pag

Tabla 1 Componentes Claves 10Tabla 2 Entregables principales del proyecto 21Tabla 3 Cronograma 21Tabla 4 presupuesto 21

NTRODUCCIN

La Universidad Santiago de Cali, y la Facultad de Ingeniera nos brindan una carrera completa. En estos momentos el departamento de las TIC nos ofrece complementar nuestros estudios con el curso de programacin de sistemas embebidos, este curso se oferta cada semestre y puede ser cursado por estudiantes de todos los programas de la facultad de ingeniera.Este curso se desarrolla bajo el entorno de hardware libre, utilizando como principal herramientas las plataformas de desarrollo Arduino, ya que son de fcil acceso y han proporcionado la capacidad de procesamiento y memoria que hasta el momento los estudiantes han requerido.Este curso se ha venido desarrollando con xito cada semestre, pero como las tecnologa no para en los ltimos 4 aos las plataformas de desarrollo han ido aumentando y a medida que aumenta se le aaden ms capacidades en el alcance en cuanto a puertos perifricos, capacidad de procesamiento y resolucin de los convertidores anlogos y digitales, por lo que es importante revisar el actual contenido del curso y as replantear el desarrollo de los laboratorios para que se pueda abrir paso a la utilizacin de estas nuevas tecnologas.

1. PLANTEAMIENTO DEL PROBLEMA

En curso de Programacin de Sistemas Embebidos que ofrece la Universidad Santiago de Cali se vienen desarrollando 12 en los cuales se ensea desde como prender un led, pasando por el envo de mensajes a una matriz de led y finalizando en el envi de un mensaje a un display por medio de internet y aparte de eso se pide desarrollar un proyecto final elegido por el estudiante.El desarrollo de este se curs viene ejecutando, bajo el entorno de hardware libre y especialmente utilizando la placa de desarrollo Arduino, esto es muy conveniente ya que todos los componentes de Arduino son muy econmicos y fciles de conseguir.Dentro de la ingeniera de sistemas estar a la vanguardia de las nuevas tecnologas es un punto esencial, pero como bien sabemos el curso de programacin de sistemas embebidos siempre se ha desarrollado con Arduino, como bien sabemos la rpida evolucin de las tecnologas implica que siempre tengamos que estar innovando y mejorando la tecnologa que utilizamos para as tener una educacin de alta calidad y al nivel de las grandes universidades del mundo.Al final del curso se pide elaborar un proyecto donde el estudiante debe utilizar todo lo aprendido en el curso para desarrollar algo totalmente diferente, aqu es donde la imaginacin del estudiante toma vuelo y se imagina realizando proyectos realmente complejos, esto es un gran problema ya que la plataforma Arduino no cumple muchas veces con los requerimiento que necesitan los estudiantes, y saben obligados a ltima hora cambiar todo su esquema para as desarrollar algo que este al nivel de arduino. Sea visto el caso de intentos desarrollar el curso de programacin de sistemas embebidos con placas de desarrollo distintas a Arduino, como es el caso de la raspberry pi y launchpad, pero estas placas son totalmente diferentes a Arduino al poco tiempo de estar elaborando los laboratorios desisten ya que la compatibilidad es nula y se ven obligados a continuar el curso con Arduino, esta no la idea ya que el objetivo principal es estar a la vanguardia de las nuevas tecnologas y as poder ingresar en un mercado competitivo y dejar el nombre de la Universidad Santiago de Cali en lo ms alto.

2. JUSTIFICACIN

Con la implementacin de una nueva placa de desarrollo en el curso de programacin de sistemas embebidos, se espera que los estudiantes realicen proyectos realmente complejos, ya que esta placa ofrecer caractersticasmuchos mejores a las que tiene la actual placa de desarrollo que est usando en el curso.La placa Galileo de Intel es la placa que se desea implementar para la elaboracin de los laboratorios que se realizan en el curso de Sistemas Embebidos ya que ofrece. Gran capacidad de procesamiento. Un puerto Ethernet incorporado. Una entrada cliente donde se pueden conectar perifricos externos (teclado, cmara). Ranura SD para poder utilizar la imagen de Linux y programar en diferentes lenguajes.Al mismo tiempo con la implementacin de esta nueva placa, se desarrollara una gua que permita que el conocimiento que se obtendr al realizar este proyecto pueda ser utilizado e implementado por los estudiantes de la universidad Santiago de Cali no solo para el curso de Programacin de Sistemas Embebidos sino que tambin para la realizacin de sus futuros trabajos de grado.Es necesario tomar en consideracin que las tecnologas avanzan a pasos agigantados y para estar a la vanguardia tenemos que incursionar en nuevas tecnologas y esta es una de ellas, ya que nos permitir ir ms all de nuestros lmites y ser ms competitivos a nivel acadmico.

3. OBJETIVOS

3.1. OBJETIVO GENERAL

Desarrollar una Implementacin practica para el curso de programacin de sistemas embebidos usando tarjeta Galileo de Intel.

3.2. OBJETIVOS ESPECFICOS

Llevar a cabo un anlisis de la compatibilidad con lo que actualmente se est desarrollando con la plataforma Arduino.

Realizar la adaptacin de los laboratorios del curso de Sistemas Embebidos bajo la plataforma Intel Galileo.

Definir un esquema que permita la utilizacin de la placa Intel Galileo en la actualizacin del curso de programacin de Sistemas Embebidos.

Construir una gua que permita la socializacin e implementacin del uso de la plataforma Intel Galileo por parte de los estudiantes de la Universidad Santiago de Cali.

3.3. ALCANCE

Este proyecto est enfocado principalmente en la implementacin de una nueva plataforma de desarrollo, para as realizar una actualizacin de los laboratorios que se desarrollan del curso de sistemas embebido, sin embargo esto no significa que la placa de desarrollo que actualmente se est utilizando sea desechada, al contrario lo que se busca es una interaccin entre las dos plataformas para logar alcanzar el objetivo que es la actuacin de los laboratorios y el desarrollo de futuros proyecto de grado que los estudiantes de la Universidad Santiago de Cali deseen realizar.

Este proceso de mejoramiento permitir la interaccin de los estudiantes con la nueva placa de desarrollo Galileo de Intel, y as mismo se le suministrara una gua completa, desde como instalar el software, hasta como se deben llevar a cabo la utilizacin de esta nueva placa de desarrollo.

4. MARCO REFERENCIAL

4.1 MARCO CONTEXTUAL

La Utilizacin de software y hardware libre en la Universidad Santiago de Cali, es parte fundamental en la enseanza que se realiza en el curso de Programacin de Sistemas Embebidos ya que es una forma que los estudiantes tienen de aprender de estas tecnologas que cada da va en aumento.

Por esta razn se desea implementar el uso de la plataforma Intel Galileo principalmente en el curso de Programacin de Sistemas Embebidos que oferta la facultad de ingeniera de la Universidad Santiago de Cali, ya que esto permitir que los estudiantes tengan acceso a un entorno de desarrollo mucho ms completo, as mismo se espera que los estudiantes de otras facultades vean la importancia y el alcance que tienen estas tecnologas y as puedan hacer uso de ellas para el desarrollo de sus futuros proyectos de grado.

4.2 MARCO CONCEPTUAL Y TEORICO

4.2.1 Sistemas Embebidos

Un sistema embebido (SE) o sistema empotrado es una combinacin de hardware y software diseado especficamente para realizar unas determinadas funciones, habitualmente formando parte de un sistema de mayor entidad. La caracterstica principal es que emplea para ello uno o varios procesadores digitales (CPUs) en formato microprocesador, microcontrolador o DSP lo que le permite aportar inteligencia al sistema anfitrin al que ayuda a gobernar y del que forma parte.

Estos sistemas solucionan un problema especfico, el sistema embebido contiene una sola pastilla de silicio, es muy posible encontrar sistemas embebidos en muchos de los aparatos electrnicos que usamos diariamente, como por ejemplo el controlador de temperatura que tiene la nevera, el horno y hasta el microondas. (Galeano, 2009)

4.2.2 Estructura de un Sistema Embebido

Las principales caractersticas de un sistema embebido son el bajo costo y consumo de potencia. Dado que muchos sistemas embebidos son concebidos para ser producidos en miles o millones de unidades, el costo por unidad es un aspecto importante a tener en cuenta en la etapa de diseo. Generalmente, los sistemas embebidos emplean procesadores muy bsicos, relativamente lentos y memorias pequeas para minimizar los costos.

En estos sistemas la velocidad no solo est dada por la velocidad del reloj del procesador, sino que el total la arquitectura se simplifica con el fin de reducir costos. Normalmente, un sistema embebido emplea perifricos controlados por interfaces seriales sincrnicas, las cuales son muchas veces ms lentas que los perifricos empleados en un PC.

Como se mostr anteriormente, un sistema embebido debe enfrentar fuertes restricciones de recursos, por tanto normalmente deber hacer uso de sistemas operativos especiales, denominados de tiempo real (RTOS Real time operating system).Los sistemas embebidos debern reaccionar a estmulos provenientes del ambiente, respondiendo con fuertes restricciones de tiempo en muchos casos, por lo tanto, un sistema se dice que trabaja en tiempo real si la informacin despus de la adquisicin y tratamiento es todava vigente. Es decir, que en el caso de una informacin que llega de forma peridica, los tiempos de adquisicin y tratamiento deben ser inferiores al perodo de actualizacin de dicha informacin. Un sistema embebido puede o no ser de tiempo de real dependiendo de los requerimientos especficos de la aplicacin que se quiere implementar.

Los programas en estos sistemas se ejecutan minimizando los tiempos muertos y enfrentando fuertes limitaciones de hardware, ya que usualmente no tienen discos duros, ni teclados o monitores, una memoria flash reemplaza los discos y algunos botones y una pantalla LCD normalmente reemplazan los dispositivos de interfaz. El software que controla un dispositivo de hardware, por ejemplo n una memoria ROM, Flash o un circuito integrado se conoce como Firmware. Tpicamente la programacin en estos dispositivos se realiza en lenguaje ensamblador o en lenguaje C, actualmente se han desarrollado algunas mquinas virtuales y otros compiladores que permiten el diseo de programas ms complejos. Adems se puede encontrar depuradores, simuladores, ases de datos, GUIs, metodologas entre otras herramientas para el diseo y programacin de este tipo de sistemas. (Galeano, 2009)

4.2.3 Intel Galileo

Figura 1. Tarjeta Intel Galileo "Vista Frontal" Figura 2. Tarjeta Intel Galileo "Vista Trasera"Fuente: (INTEL, 2014)

Galileo es una tarjeta microcontroladora basada en el procesador de aplicaciones Intel Quark SoC X1000, un sistema en chip (SoC) de clase Intel Pentium de 32 bits. Es la primera tarjeta basada en la arquitectura Intel diseada para ser compatible, pin a pin, en hardware y software con Shields de Arduino diseados para Uno R3. Los pines digitales del 0 a 13 (y el Aref adyacente y pines GND), Las entradas analgicas entre 0 y 5, el cabezal de alimentacin, el conector ICSP, y los pines adyacentes AREF y GND del puerto UART (0 y 1), estn todos en los mismos lugares que en el Arduino Uno R3. Esto tambin se conoce como la distribucin de pines Arduino 1.0.

Galileo est diseado para soportar los Shields que operan a 3.3 V o 5 V. El voltaje de funcionamiento bsico de Galileo es 3.3V. Sin embargo, un puente (jumper) en la tarjeta permite la conversin de voltaje a 5V en los pines de E / S. Esto proporciona soporte para los Shields Arduino Uno de 5V, el cual es su comportamiento predeterminado. Al cambiar la posicin del puente, la conversin de tensin por voltaje se puede desactivar para proporcionar un funcionamiento de 3.3 V en los pines de E / S.

Por supuesto, la tarjeta Galileo tambin es compatible con el ambiente de software de desarrollo Arduino, lo que hace que su usabilidad y la familiarizacin sea instantnea.

Adems de la compatibilidad de hardware y software, la tarjeta de desarrollo Galileo tiene varios estndares de puertos de entrada y salida del mundo de las PCs, y caractersticas para expandir el uso nativo y las capacidades ms all de del sistema de Arduino. Una ranura mini-PCI Express, un puerto Ethernet de 100Mb, una ranura para Micro-SD, un puerto serie RS-232, un puerto cliente USB, y una memoria Flash NOR de 8 Mbytes vienen de serie en la tarjeta. (INTEL, 2014)

4.2.4 Caractersticas de la Placa Intel Galileo

4.2.4.1Descripcin de la placa Intel Galileo

Figura 3. Componentes ClaveFuente: (INTEL, 2014)Tabla 1 Componentes ClavesNumeroComponenteDescripcin

1Puerto EthernetConecta el Galileo hasta cualquier 10/100 Mb / s LAN.

2Puerto serial RS-232Es un puerto de 3,5 mm "estreo".

3RS-232RS- 232 transceptor

4Cliente USB 2.0Puerto que permite la conexin con la computadora paraprogramar el Galileo mediante la interfaz de Arduino.

52.0 Host USBPuerto por el cual se pueden conectar perifricos externos mediante dispositivos USB como teclados, almacenamiento masivo, etc. Con un concentrador USB, se pueden conectar hasta 128 dispositivos a este puerto.

6SPI FlashMemoria de 8 Mbyte que permite almacenar el firmware y el ltimo boceto.

7SPI Flash Program PortPuerto que permite la programacin del SPI FlashEl valor predeterminado es 4 MHz para apoyar escudos Arduino. Programable hasta 25 MHz.

8ArduinoInterfacePines digitales compatibles con arduino.

9ADCConvertidor anlogo a digital.

10Intel Quark SoCX1000Es el corazn de la Galileo.Este es un procesador de 32 bits construido sobre la arquitectura x86. velocidad de reloj de 400 MHz 16KB L1 Cach 512 KB de SRAM Ncleo individual, hilo sencillo

11ICSP6 -pin en el circuito de programacin de serie ( ICSP ), ubicado apropiadamente para conectar a los escudos existentes. Estos pines soportan la comunicacin SPI.

12256 MB DDR3 RAMMemoria de256 Mbytes

13Arduino InterfacePines analogos compatibles con arduino.

14JTAG Debug Port10 pines para la depuracin.

15GPIO Expandermodulacin de ancho de pulso proporcionado por una junta de expansin

16Micro SD slotranura micro SD para la instalacin de la imagen Linux

175V PowerPuerto para conectar adaptador de CA a CC que alimenta la placa. Con alimentacin de 5V en hasta 3A.

18VoltageRegulatorGenera alimentacin de 3,3 voltios.

19Eth PHY Transistor de la capa fsica del Ethernet

Fuente: (INTEL, 2014)(Intel, March 2014)

4.2.4.2 Proceso para establecer la conexin de la tarjeta Intel Galileo con el Computador mediante LAN

Linux Imagen

1. Para hacer uso de la imagen de Linux lo primero que debemos realiza es la descarga de la imagen del sitio http://www.intel.com/support/galileo/sb/CS-035101.htm en este link se podr encontrar un archivo comprimido de la imagen el cual se debe descomprimir dentro de la tarjeta SD.

Figura 4. Archivos descomprimidos en la tarjeta SD

2. Insertamos la tarjeta SD, en la ranura que se encuentra ubicada en la placa Intel galileo, la conectamos a 5V y conectamos el cable de red LAN y mediante el programa PUTTY podremos establecer la conexin por medio de la IP.

Figura 5. Interfaz del programa puTTYFuente: Propia

3. Una vez se establezca la conexin ya podremos tener acceso a herramientas, como SSH, Python, Node.js y OpenCV.

Figura 6. Entorno de desarrollo LinuxFuente: Propia

4.2.4.3 Descripcin del software a utilizar

Processing

Processing es un lenguaje de programacin basado en Java, al estar basado en java tiene la posibilidad de heredar todas las funcionalidades que java ofrece. Inicialmente este lenguaje de programacin, se cre para servir de prototipo en la creacin de proyectos de software, y de esta manera ensear los fundamentos de programacin de una forma visual; actualmente Processing se ha convertido en una herramienta de desarrollo.

Entre las caractersticas que caben destacar de este lenguaje de programacin, se encuentran las siguientes:

Descarga gratuita y de cdigo abierto. Posibilidad de crear programas con salida 2D, 3D o PDF. OpenGL integracin de aceleracin 3D. Distribucin bajo licencia GNU. Posee ms de 100 bibliotecas que amplan las posibilidades del software. Existe variedad de documentacin.

Processing se puede ejecutar tanto en Windows, como Mac OS y Linux, donde las pruebas ms extensivas sobre estabilidad y rendimiento se hacen sobre Windows y Mac OS. Como se mencion anteriormente en una de las caractersticas de este lenguaje, Processing trabaja bajo la licencia GPL.

Es muy fcil de utilizar, y su descarga muy sencilla solo se debe acceder a https://processing.org y escoger el sistema operativo en el cual se est trabajando. (processing)

Figura 7. Interfaz del programa ProcessingFuente: Propia4.2.5 Laboratorios a desarrollar en el curso de Sistemas Embebidos.

Los siguientes son los laboratorios del curso de programacin de sistemas embebidos ofertado por al faculta de ingeniera de la Universidad Santiago de Cali, que actualmente es impartido por el Docente Diego Fernado Marin.

Lab1: Controlar 8 LEDs desde el Intel Galileo, un LED encendido que se mueve de izquierda a derecha.

Lab2: Controlar 8 LEDs desde el Intel Galileo, uno LED encendido que se mueve de izquierda a derecha cuyos tiempos de encendido y apagado se controlan desde dos potencimetros.

Lab3: Controlar 8 LEDs desde el Intel Galileo, un LED encendido que se mueve en forma continua de izquierda a derecha, va una interfaz grfica en Processing/ControlP5 para controlar el tiempo de encendido y el tiempo de apagado.

Lab4: Controlar un LED RGB desde el Intel Galileo, va PWM con 3 potencimetros, uno para cada color.

Lab5: Controlar un LED RGB desde el Intel Galileo, va PWM con una interfaz grfica en Processing/ControlP5 para controlar el valor de cada color.

Lab6: Controlar 8 LEDs desde el Intel Galileo, a travs de unIC 74HC595, definiendo mnimo 8 patrones de movimiento que son controlados desde una interfaz grfica en Processing/ControlP5. Ms informacin sobre elIC 74HC595

Lab7: Controlar desde el Intel Galileo, unDisplay LED de 7-Segmentos, a travs de unIC 74HC595, para mostrar un nmero de 0 a 9, dependiendo de la posicin del Potencimetro.

Lab8: Manipular en la pantalla del computador un objeto grfico usando Processing, con los datos ledos en el Intel Galileo desde unJoystick shield.

Lab9: Controlar desde una interfaz en Processing, el patrn de movimiento y colores en un mdulo de 8 LEDs RGB controlado con un Intel Galileo.

Lab10: Mostrar un mensaje desplazndose de izquierda a derecha en una matriz LED 8x8 a travs deIC MAX7219 enviado desde un Intel Galileo, pueden usar una interfaz Processing.

Lab11: Enviar desde una pgina web un mensaje a una pantallaLCD 16x2conectada al Intel Galileo, pueden usar una interfaz Processing.

Lab12: Mostrar un mensaje desplazndose de izquierda a derecha en una pantallaLCD 16x2enviado desde el Intel Galileo.

4.2.5.1 Elementos a utilizar durante la elaboracin de los laboratorios del curso de Sistemas Embebidos.

Diodos emisores de luz (LEDs).

Figura 8. LEDsFuente:(Lasso, 2011)

Un LED es un componente electrnico que permite el paso de corriente en un solo sentido y al ser atravesado por la misma, emite luz.

El LED tiene polaridad ya que funciona polarizndolo de una sola forma, es un diodo (componente rectificador con la peculiaridad de que adems de permitir el paso de corriente en un solo sentido, al hacerlo emite luz y sa es primordialmente su funcin), tiene un borne que debe conectarse a negativo y el otro debe conectarse a positivo. El borne negativo es el ctodo y el positivo el nodo.(Lasso, 2011)

Potencimetros

Figura 9. PotencimetroFuente: (Artero, 2013)

Los potencimetros es una resistencia de valor variable, son capaces de medir la posicin angular y pequeos desplazamientos de posicin lineal. Segn el tipo de posicin a medir tendremos dos tipos distintos de dispositivos pero la idea bsica es comn.

Constan de una resistencia a travs de la cual hay una determinada diferencia de potencial. Adems hay un contacto unido a la resistencia pero que se puede deslizar a su alrededor; este elemento es conocido como wiper. (Artero, 2013)

LED RGB

Figura 10. LED RGBFuente: (Lasso , 2011)

Tiene 1 nodo y 3 Ctodos. Cmo el nodo es el borne comn entre los 3 LEDs internos, debe estar alimentado siempre para que al alimentar los ctodos segn el orden que se desee, podamos obtener los colores que queramos. Esto quiere decir que si dejamos conectado el nodo como corresponde al borne positivo de la fuente de alimentacin, en base a cual ctodo conectemos a masa obtendremos el color correspondiente. Y s, se pueden alimentar los 3 LEDs al mismo tiempo o generar todo tipo de combinaciones. (Lasso , 2011)

Display LED de 7-Segmentos

Figura 11. LED de 7-SegmentosFuente: (Opencockpits, 2012)

Un Display de este tipo est compuesto por siete u ocho leds de diferentes formas especiales y dispuestas sobre una base de manera que puedan representarse todos los smbolos numricos y algunas letras. Los primeros siete segmentos son los encargados de formar el smbolo y con el octavo podemos encender y apagar el punto decimal. (Opencockpits, 2012)

Joystick shield

Figura 12. Joystick shieldFuente: (Artero, 2013)

Es un mdulo de control en 2D, compatible con Arduino. Nos permite tener un dato analgico en los ejes X e Y, esto a travs de la manipulacin de una palanca que se encuentra conectada fsicamente a un preset produciendo un divisor de voltaje al realizar los desplazamientos en la palanca. El Joystick tiene una posicin por default que es el centro y existen desplazamientos tanto para el eje X e Y, en cada movimiento el dispositivo enva una variacin de voltaje, permitindonos con esto poder identificar la posicin exacta Del joystick a travs de la interpretacin del voltaje en los puertos analgicos del Arduino. (Artero, 2013)

LCD HD44780

Figura 13. LCDFuente: (Adafruit Industries, 2014)

LCD HD44780

Es un display alfanumrico de matriz de puntos, es un dispositivo de interfaz formado por una pantalla de cristal liquido o LCD, sobre la que se pueden mostrar mensajes formados por distintos caracteres: letras, nmeros, smbolos. Se encuentran en diferentes formatos: 2x8, 2x16, 4x20.

Estos dispositivos vienen gobernados por un microcontrolador, que normalmente va incorporado sobre la misma placa de circuito impreso que soporta el LCD.

El controlador HD44780 se encarga de gestionar el display, polariza los puntos de la pantalla, genera los caracteres, desplaza la pantalla y muestra el cursor. (Adafruit Industries, 2014)

4.3 ESTADO DEL ARTE

Durante el proceso investigativo que se realiz en el marco de este proyecto se encontr que ya hay universidades en diferentes pases donde se encuentran trabajando con este tipo de plataformas y con las misma metodologa que actualmente se est implementando en el curso de programacin de sistemas embebidos que se dicta en la Universidad Santiago de Cali, como es el caso de las Universidades que se mencionan a continuacin.

TECNUN. Escuela de Ingenieros Universidad de Navarra.

Oferta el curso Diseo de sistemas embebidos biomdicos, dictado por el Dr. Adam podhorski, Dr. Iker Mesa y el Profesor. Andrs Garca Alonso. El curso trata sobre dispositivos embebidos en el sector de la salud y permite adquirir los conocimientos tcnicos y tecnolgicos necesarios para la ejecucin de diseos y desarrollos innovadores que involucren contextos multidisciplinares.

Tras una introduccin en que se da la visin global de las nuevas tecnologas en el mbito mdico, sus necesidades actuales y las tendencias que darn forma al futuro en este campo, el curso tratar sobre la arquitectura de los sistemas embebidos modernos en el sector de la salud, su alimentacin y protocolos de comunicacin y de transferencia de datos.

Durante el curso los estudiantes harn una serie de prcticas durante las cuales desarrollarn un sistema completo, empezando por un sensor y pasando por el acondicionamiento, adquisicin, transmisin y posterior procesamiento de seales procedentes del cuerpo humano.

Objetivos Capacidad de programacin de sistemas embebidos basados en la plataforma Arduino. Estudio y aplicacin de protocolos de comunicacin tales como SPI I2C. Aplicacin de los sistemas embebidos en el mbito biomdico. Diseo y desarrollo de un sistema embebido completo: Diseo y fabricacin de un sensor biomdico. Estudio y uso de sensores comerciales. Diseo y desarrollo de un sistema embebido interconectado y controlado por una unidad central.

El objetivo de la asignatura consiste en disear y desarrollar un sistema electrnico complejo que d respuesta a un problema con unas especificaciones establecidas. Dicho sistema constar de uno o ms sistemas embebidos compuestos por un conjunto de sensores, microcontroladores, microprocesadores y actuadores. Adems, los mencionados sistemas embebidos estarn conectados a una unidad central de control y adquisicin.

A lo largo del curso el alumno realizar una serie de prcticas formativas sobre cada elemento constituyente de un sistema embebido. Estas prcticas estarn acompaadas por clases tericas sobre los conocimientos que los alumnos debern adquirir en esta asignatura. El conjunto de las prcticas servir como base para la realizacin del proyecto final. (TECNUN, 2015)

UADY. Universidad Autnoma de Yucatn

Esta Universidad oferta el Diplomado de Aplicaciones Embebidas donde el participante configurara y programara en las plataformas de Arduino y Rasberry PI, para el desarrollo e implementacin de soluciones orientadas a la automatizacin de sistemas industriales y comerciales.Objetivos

El participante: Programar en lenguaje C sistemas embebidos. Configurar las plataformas ARDUINO y RASPBERRY PI de forma apropiada para maximizar el rendimiento de las aplicaciones. Conectar ambas plataformas va los puertos disponibles a otros dispositivos usando protocolos de comunicacin apropiados. Desarrollar aplicaciones de automatizacin.(UADY, 2015)

UNAM. Universidad Nacional Autnoma de Mxico

Intel Mxico dono a esta universidad las placas Intel Galileo. Donde actualmente los estudiantes del programa de ingeniera en el rea de la robtica las utilizan para desarrollar diferente tipos de proyectos, los estudiantes han elaborado una gua donde podemos encontrar, artculos de cmo hacer uso de esta plataforma asi mismo de como configurarla y la instalacin de los diferentes software a utilizar.

5. DISEO METODOLGICO PRELIMINAR

5.1 METODOLOGA SELECCIONADA

Para el desarrollo del siguiente trabajo se ha escogido la lnea de profundizacin de ingeniera de software y el modelo que se seguir es el de espiral planteado por barry boehm, donde cada bucle o interaccin representa un conjunto de actividades, donde tan pronto termina una actividad inmediatamente comienza la siguiente y en cada ejecucin se siguen cuatro pasos principales: -Determinar o fijar los objetivos, -Anlisis del riesgo, -Desarrollar, verificar y validar, -Planificar. (Boehm, 1988) Determinar o fijar los objetivos

En este paso se establecern los objetivos especficos a desarrollar, y as poder identificar las limitaciones del proceso y del sistema, para poder disear una planificacin detallada de gestin e identificar los riesgos.

Anlisis del riesgo

En este paso se efecta un anlisis detallado para cada uno de los riegos identificados del proyecto, y se definen los pasos a seguir para reducir los riesgos y as plantear las estrategias alternativas.

Desarrollar, verificar y validar

Este paso depende del anlisis de riesgo que se realiz anteriormente, y as se podr elegir un paradigma para el desarrollo del sistema y podr llevarse a cabo el desarrollo de este. Planificar

Este ltimo paso es donde el proyecto se revisa y se toma las decisin si se debe continuar con un ciclo posterior, si se decide continuar se desarrollaran los planes para la siguiente fase del proyecto.

5.2 PLAN DE TRABAJO 5.2.1 Organizacin del equipo del proyecto Diego Landazury Diaz

Diego Fernando Marin, Director del proyecto de grado

5.2.2 Entregables principales del proyecto

Tabla 2: Entregables principales del proyectoID del EntregableDescripcin del entregableTiempo estimado

E1Anlisis de la compatibilidad 2 meses

E2Elaboracin del esquema que permita la utilizacin de la tarjeta Intel Galileo3 meses

E3adaptacin de los laboratorios2 meses

E4Elaboracin de la gua que permita la socializacin2 meses

5.3 CRONOGRAMA

Tabla 3: CRONOGRAMANombre de tareaDuracin ComienzoFinResponsable

Anlisis de la compatibilidad60 diaz03/07/1503/09/15Diego landazury

Elaboracin del esquema que permita la utilizacin de la tarjeta Intel Galileo90 diaz04/09/1504/01/15Diego landazury

adaptacin de los laboratorios60 diaz05/01/1605/03/16Diego landazury

Elaboracin de la gua que permita la socializacin60 diaz06/03/1606/05/16Diego landazury

5.4 PRESUPUESTO DETALLADO

Tabla 4: PRESUPUESTOFinanciado USC

Financiado estudiantes

Rublos

Descripcin

Cant

Vlr Unitario

Vlr Total

Efectivo

Especie

Efectivo

Especie

Personal

Desarrolladores del proyecto Horas dedicadas al proyecto5943.0001.782.0001.782.000

Director del proyecto

Horas dedicadas al proyecto7210.000720.000

720.000

Equipo

PorttilesComputador personal 1900.000900.000900.000

ImpresoraImpresora personal multifuncional 1300.000300.000300.000

Materiales

PapeleraResmas de papel27.00014.00014.000

Viajes

Desplazamiento reuniones ida a universidad y regreso a casaReunin con director de trabajo de grado144

1.700244.800244.800

Servicios tcnicos

Conexin a internetPago mesual de internet 968.000612.000612.000

Total presupuesto

4.572.800720.0001.170.8002.682.000

6. BIBLIOGRAFA

Adafruit Industries. (2014). i2c/SPI LCD Backpack.

Artero, O. T. (2013). ARDUINO Curso prectico de formacion. Mexico: Alfaomega.

Boehm, B. W. ( 1988). A Spiral Model of Software. Computer, 61 -72 .

Galeano, G. (2009). Programacion de Sistemas Embebidos. Mexico: Alfaomega.

INTEL. (2014). Tarjeta de desarrollo Intel Galileo.

Intel. (March 2014). Board User Guide.

Lasso, D. (2011). LEDs RGB: Gua complementaria para el Manual Bsico para Trabajar con LEDs .

Opencockpits. (2012). Manual de Cableado de Displays de 7.

processing. (s.f.). processing. Recuperado el marzo de 2015, de www.processing.org

TECNUN. Escuela de Ingenieros Universidad de Navarra. (2015). TECNUN. Escuela de Ingenieros Universidad de Navarra. Obtenido de http://www.tecnun.es/

UADY. Universidad Autonoma de Yucatan. (2015). UADY. Obtenido de http://www.matematicas.uady.mx/

UNAM. Universidad Nacional Autnoma de Mxico. (2014). UNAM. Obtenido de http://www.ingenieria.unam.mx/

23