Sie sind auf Seite 1von 27

IMPLEMENTACIN PRCTICA PARA EL CURSO DE PROGRAMACIN DE

SISTEMAS EMBEBIDOS USANDO TARJETA INTEL GALILEO

DIEGO ALEXANDER LANDAZURY DIAZ

UNIVERSIDAD SANTIAGO DE CALI


FACULTAD DE INGENIERA
SISTEMES
CALI
2015

IMPLEMENTACIN PRCTICA PARA EL CURSO DE PROGRAMACIN DE


SISTEMAS EMBEBIDOS USANDO TARJETA INTEL GALILEO

DIEGO ALEXANDER LANDAZURY DIAZ

ASISTENCIA DOCENTE
INGENIERA DE SOFTWARE

DIRECTOR DEL TRABAJO DE GRADO


DIEGO FERNANDO MARIN LOZANO
MAGISTER EN INFORMATICA

UNIVERSIDAD SANTIAGO DE CALI


FACULTAD DE INGENIERA
SISTEMAS
CALI
2015

CONTENIDO

pg.
INTRODUCCIN
1. PLANTEAMIENTO DEL PROBLEMA
2. JUSTIFICACIN
3. OBJETIVOS
3.1 GENERAL
3.2 ESPECIFICOS
3.3 ALCANCE
4. MARCO REFENCIAL
4.1 MARCO CONTEXTUAL
4.2 MARCO CONCEPTUAL Y TEORICO
4.2.1 Sistemas Embebidos
4.2.2 Estructura de un Sistema Embebido
4.2.3 Intel Galileo
4.2.4 Caractersticas de la Placa Intel Galileo
4.2.4.1 Descripcin de la placa Intel Galileo
4.2.4.2 Proceso para establecer la conexin de la tarjeta
Intel Galileo con el Computador mediante LAN
4.2.4.3 Descripcin del software a utilizar
4.2.5 Laboratorios a desarrollar en el curso de Sistemas Embebidos.
4.2.5.1 Elementos a utilizar durante la elaboracin
de los laboratorios del curso de Sistemas Embebidos.
4.3 ESTADO DEL ARTE
5. DISEO METODOLGICO PRELIMINAR
5.1 METODOLOGA SELECCIONADA
5.2 PLAN DE TRABAJO
5.2.1 Entregables principales del proyecto
5.3 CRONOGRAMA
5.4 PRESUPUESTO DETALLADO
6. BIBLIOGRAFIA

3
4
5
6
6
6
6
7
7
7
7
7
8
9
9
11
13
14
16
18
20
20
20
21
21
21
23

INDICE DE FIGURAS
pag

Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura

1. Tarjeta Intel Galileo "Vista Frontal"


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

8
8
9
11
11
12
13
16
16
16
17
17
17

INDICE DE TABLAS
pag

Tabla 1 Componentes Claves


Tabla 2 Entregables principales del proyecto
Tabla 3 Cronograma
Tabla 4 presupuesto

10
21
21
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 Clave


Fuente: (INTEL, 2014)

Tabla 2 Componentes Claves


Numero Componente
Descripcin
1
Puerto Ethernet Conecta el Galileo hasta cualquier 10/100 Mb / s LAN.
2
Puerto
serial Es un puerto de 3,5 mm "estreo".
RS-232
3
RS-232
RS- 232 transceptor
4
Cliente USB 2.0 Puerto que permite la conexin con la computadora
para programar el Galileo mediante la interfaz de Arduino.
5
2.0 Host USB
Puerto 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.
6
SPI Flash
Memoria de 8 Mbyte que permite almacenar el firmware y
el ltimo boceto.
7
SPI
Flash Puerto que permite la programacin del SPI FlashEl valor
Program Port
predeterminado es 4 MHz para apoyar escudos Arduino.
Programable hasta 25 MHz.
8
9
10

ArduinoInterface
ADC
Intel
Quark
SoC
X1000

11

ICSP

12

15

256 MB DDR3
RAM
Arduino
Interface
JTAG
Debug
Port
GPIO Expander

16
17

Micro SD slot
5V Power

18

VoltageRegulato
r
Eth PHY

13
14

19

Pines digitales compatibles con arduino.


Convertidor anlogo a digital.
Es 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


6 -pin en el circuito de programacin de serie ( ICSP ),
ubicado apropiadamente para conectar a los escudos
existentes. Estos pines soportan la comunicacin SPI.
Memoria de256 Mbytes
Pines analogos compatibles con arduino.
10 pines para la depuracin.
modulacin de ancho de pulso proporcionado por una junta
de expansin
ranura micro SD para la instalacin de la imagen Linux
Puerto para conectar adaptador de CA a CC que alimenta
la placa. Con alimentacin de 5V en hasta 3A.
Genera alimentacin de 3,3 voltios.
Transistor de la capa fsica del Ethernet
Fuente: (INTEL, 2014)

10

(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/CS035101.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.

11

Figura 5. Interfaz del programa puTTY


Fuente: 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 Linux


Fuente: Propia

12

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)

13

Figura 7. Interfaz del programa Processing


Fuente: Propia

4.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.

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

Lab 2: 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.

Lab 3: 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.

Lab 4: Controlar un LED RGB desde el Intel Galileo, va PWM con 3


potencimetros, uno para cada color.

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

14

Lab 6: Controlar 8 LEDs desde el Intel Galileo, a travs de un IC 74HC595,


definiendo mnimo 8 patrones de movimiento que son controlados desde una
interfaz grfica en Processing/ControlP5. Ms informacin sobre el IC 74HC595

Lab 7: Controlar desde el Intel Galileo, un Display LED de 7-Segmentos, a travs


de un IC 74HC595, para mostrar un nmero de 0 a 9, dependiendo de la posicin
del Potencimetro.

Lab 8: Manipular en la pantalla del computador un objeto grfico usando


Processing, con los datos ledos en el Intel Galileo desde un Joystick shield.

Lab 9: Controlar desde una interfaz en Processing, el patrn de movimiento y


colores en un mdulo de 8 LEDs RGB controlado con un Intel Galileo.

Lab 10: Mostrar un mensaje desplazndose de izquierda a derecha en una matriz


LED 8x8 a travs de IC MAX7219 enviado desde un Intel Galileo, pueden usar una
interfaz Processing.

Lab 11: Enviar desde una pgina web un mensaje a una pantalla LCD
16x2 conectada al Intel Galileo, pueden usar una interfaz Processing.

Lab 12: Mostrar un mensaje desplazndose de izquierda a derecha en una


pantalla LCD 16x2 enviado desde el Intel Galileo.

15

4.2.5.1 Elementos a utilizar durante la elaboracin de los laboratorios del


curso de Sistemas Embebidos.

Diodos emisores de luz (LEDs).


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)
Figura 8. LEDs
Fuente:(Lasso, 2011)

Potencimetros
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.

Figura 9. Potencimetro
Fuente: (Artero, 2013)

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)

16

LED RGB

Figura 10. LED RGB


Fuente: (Lasso , 2011)

Display
LED
Segmentos

de

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)

7-

Figura 11. LED de 7-Segmentos


Fuente: (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 shield


Fuente: (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

17

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.

Figura 13. LCD


Fuente: (Adafruit Industries,
2014)

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

18

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:
o Diseo y fabricacin de un sensor biomdico.
o Estudio y uso de sensores comerciales.
o 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

19

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

20

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 proyecto

ID del Entregable
E1
E2
E3
E4

Descripcin del entregable


Anlisis de la compatibilidad
Elaboracin del esquema que permita la
utilizacin de la tarjeta Intel Galileo
adaptacin de los laboratorios
Elaboracin de la gua que permita la
socializacin

Tiempo estimado
2 meses
3 meses
2 meses
2 meses

5.3 CRONOGRAMA
Tabla 3: CRONOGRAMA

Nombre de tarea
Anlisis
de
la
compatibilidad
Elaboracin del esquema
que permita la utilizacin
de la tarjeta Intel Galileo
adaptacin
de
los
laboratorios
Elaboracin de la gua

Duracin
60 diaz

Comienzo
03/07/15

Fin
03/09/15

Responsable
Diego landazury

90 diaz

04/09/15

04/01/15

Diego landazury

60 diaz

05/01/16

05/03/16

Diego landazury

60 diaz

06/03/16

06/05/16

Diego landazury

21

que
permita
socializacin

la

5.4 PRESUPUESTO DETALLADO


Tabla 4: PRESUPUESTO
Financiado USC
Rublos

Personal
Desarrolladores
del proyecto
Director
proyecto
Equipo
Porttiles
Impresora
Materiales
Papelera

Financiado estudiantes
Descripcin

Cant

Vlr
Unitario

Vlr Total

3.000

1.782.000

10.000

720.000

1
Computador
personal
1
Impresora
personal
multifuncional

900.000

900.000

300.000

300.000

300.000

Resmas
papel

7.000

14.000

14.000

1.700

244.800

244.800

68.000

612.000

612.000

594
Horas
dedicadas al
proyecto
72
del Horas
dedicadas al
proyecto

de 2

Viajes
Desplazamiento
Reunin con 144
reuniones ida a director
de
universidad
y trabajo
de
regreso a casa
grado
Servicios
tcnicos
Conexin
a Pago mesual 9
internet
de internet
Total presupuesto

4.572.800

Efectivo

Especie

Efectivo

Especie

1.782.000

720.000

900.000

720.000

1.170.800

2.682.000

22

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

23

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/

24