LA POESÍA EN EL BARROCO: GÓNGORA Y QUEVEDO Profesor Baudilio Hernández Cifuentes.
Baudilio
-
Upload
lexi-sabrina-trujillo-villalta -
Category
Documents
-
view
11 -
download
4
description
Transcript of Baudilio
REPÚBLICA BOLIVARIANA DE VENEZUELAMINISTERIO DEL PODER POPULAR PARA LA DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LAFUERZA ARMADA NACIONAL
NÚCLEO CARACASUNIDAD DE ASUNTOS SOCIALES Y PC
E.A.D. DE EXTENSIÓNSERVICIO COMUNITARIO
ING. TELECOMUNICACION
SISTEMA DE COMUNICACIÓN ODO-INCLINOMETRO CON GPS, PARA ATLETAS DE ALTO RENDIMIENTO EN LA DISCIPLINA DE NATACION
Servidores Comunitários:Moreno Lameda Baudilio de la CruzV- 16.668.403
Caracas, Junio 2015
Tutor Académico:Lic. Cristóbal FuentesC.I. V- 9.483.026
Tutor Comunitario:Prof. Fortunato MorenoC.I. V- 6.320.110
REPÚBLICA BOLIVARIANA DE VENEZUELAMINISTERIO DEL PODER POPULAR PARA LA DEFENSA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIAUNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA
NACIONALVICERRECTORADO DE ASUNTOS SOCIALES Y PARTICIPACIÓN CIUDADANA
DIRECCIÓN NACIONAL DE EXTENSIÓNDIVISIÓN DE SERVICIO COMUNITARIO
NÚCLEO:_______Caracas_______________ EXTENSIÓN:______Chuao___________
CARTA DE ACEPTACIÓN DEL TUTOR ACADÉMICO DE SERVICIO COMUNITARIO DEL ESTUDIANTE UNEFISTA
Yo, Cristóbal Fuentes_; C.I.N° 9.483.026 Teléfonos de contacto: 1.- 04126102532 2.- _________________________. Me dirijo en la oportunidad de notificarle que en mi carácter de ( X ) Docente, ( ) Personal Administrativo, ( ) Otro:______________________ de esta Casa de Estudios he aceptado la solicitud hecha por los estudiantes:
NOMBRE Y APELLIDO C.I. CARRERABaudilio de la Cruz Moreno Lameda 16.668.403 Ing. Telecomunicación
Para ejercer las funciones de Tutor de Servicio Comunitario del proyecto titulado:
Sistema de comunicación Odo-inclinometro con GPS, para atletas de alto rendimiento en la disciplina de natación
a partir de la fecha _13_/_03_/_2015_; para lo cual me responsabilizo en nombre de la UNEFA a cumplir y hacer cumplir lo establecido en la Ley de Servicio Comunitario del Estudiante de Educación Superior y el Reglamento de Servicio Comunitario del Estudiante de la UNEFA, a la vez de evaluar el avance y la culminación de dicho proyecto con criterios cualitativos y cuantitativos en función de que se apliquen los conocimientos técnicos adquiridos por los estudiantes durante su formación académica y velando por que el servicio comunitario de los mismos abarque un período no menor de ciento veinte (120) horas de ejecución en un tiempo no menor a tres (03) meses ni mayor a doce (12) meses.
Sin más a que hacer referencia, se despide.
Atentamente,
__________________________________________Firma
Formato Anexo: SC.1-A DNE-DSC
Atención.- Sres. Coordinación de Extensión
NÚCLEO: Caracas EXTENSIÓN:___________Chuao____________
CARTA DE ACEPTACIÓN DEL RESPONSABLE DE LA COMUNIDAD COMO TUTOR COMUNITARIO PARA LA PRESTACIÓN DE SERVICIO COMUNITARIO DEL ESTUDIANTE
UNEFISTA
Yo,___Fortunato Moreno____________________________;C.I.N° ___6.320.110________Me dirijo en la oportunidad de notificarle que a nombre de la ( ) Comunidad; ( X ) Institución; ( ) Unidad Educativa; ( ) EPS; ( ) Centro Penitenciario, ( ) Otro: ___________________________ denominado (a): ___UNEFA_________________________________________________________ bajo el cargo de: _____Proyectos para el Deporte y la Educación Física____________________, he aceptado la solicitud hecha por los estudiantes:
NOMBRE Y APELLIDO C.I. CARRERABaudilio de la Cruz Moreno Lameda 16.668.403 Ing. Telecomunicación
Para ejercer las funciones de tutor comunitario del proyecto de servicio comunitario titulado:
Sistema de comunicación Odo-inclinometro con GPS, para atletas de alto rendimiento en la disciplina de natación
A partir de la fecha_13_/_03_/_2015_; para lo cual me responsabilizo en nombre de la institución que represento a evaluar periódicamente el avance de dicho proyecto en función de que se apliquen los conocimientos técnicos adquiridos por los estudiantes durante su formación académica y velando por que el servicio comunitario de los mismos abarque un período no menor de ciento veinte (120) horas de ejecución en un tiempo no menor a tres (03) meses ni mayor a doce (12) meses.
Sin más a que hacer referencia, se despide.
Atentamente,
__________________________________________FIRMA Y SELLO
Números de contacto: 04122349441_______________________________________________
Formato Anexo: SC.1-B DNE-DSC
ÍNDICE
CARTA DE ACEPTACIÓN DEL TUTOR ACADÉMICO ..……….……… I
CARTA DE ACEPTACIÓN DEL TUTOR COMUNITARIO……………… II
CUADRO RESUMEN DEL PROYECTO…………………………………… 2
INSTITUCIÓN ALIADA……………………………………………………… 3
PLANTEAMIENTO DEL PROBLEMA……………………………………… 4
JUSTIFICACIÓN……………………………………………………………… 8
OBJETIVO GENERAL Y OBJETIVOS ESPECÍFICOS…………………… 11
METAS………………………………………………………………………….. 13
COBERTURA GEOGRÁFICA Y POBLACIONAL………………………… 14
ACTIVIDADES, TAREAS, TIEMPO Y RECURSOS.……………………… 15
CRONOGRAMA DE ACTIVIDADES………………………………………… 17
DESCRIPCIÓN DE ACTIVIDADES Y TAREAS EJECUTADAS………… 18
POBLACIÓN BENEFICIADA……………………………………………….. 21
IMPACTO GENERADO EN LA COMUNIDAD…………………………… 22
APORTES DEL PROYECTO………………………………………………… 23
CONCLUSIONES……………………………...……………………………… 24
RECOMENDACIONES……………….………………………………………. 25
FUENTES CONSULTADAS….………………………………………………. 26
ANEXOS……………………………………………………………………… 27
CUADRO RESUMEN DEL PROYECTO DE SERVICIO COMUNITARIO
1. INFORMACIÓN DEL TUTOR ACADÉMICO
NOMBRES APELLIDOS C.I.TELEFONO CARÁCTER (DOCENTE /
PERSONAL ADMINISTRATIVO /
OTRO)Cristóbal Fuentes 9.483.026 04126102532 Docente
2. INFORMACIÓN DE LOS ESTUDIANTESN° NOMBRES APELLIDOS C.I. CARRERA SEM. SECCIÓN TURNO
(D/N)1 Baudilio de la Cruz Moreno Lameda 16.668.403 Ing. Telecomunicación N23456
3. INFORMACIÓN DEL PROYECTONOMBRE DEL PROYECTO NOMBRE DE LA COMUNIDAD Y/O INSTITUCIÓN DIRECCIÓN
Sistema de comunicación Odo-inclinometro con GPS, para atletas de alto rendimiento en la disciplina de natación
Departamento de deporte UNEFA Chuao Av. La estancia con Av. Caracas
NOMBRE DEL TUTOR COMUNITARIO CARGO EN LA ORGANIZACIÓN ALIADA C.I. TELÉFONO
Fortunato Moreno Proyectos para el Deporte y la Educación Física 6.320.110 0412-2349441
MARCO PROGRAMÁTICO DEL PROYECTO (SELECCIONAR CON UNA X)UNEFA VA A LA ESCUELA UNEFA VA A LA COMUNIDAD XUNEFA VA A LOS CENTROS PENITENCIARIOS TODAS LAS MANOS A LA SIEMBRA
BENEFICIARIOS DEL PROYECTOTIPO DE BENEFICIARIO DIRECTOS INDIRECTOS TOTAL
ESTUDIANTESPERSONASTOTALES
1. VINCULACIÓN CON EL PLAN DE LA PATRIA 2013 – 2019OBJETIVO HISTÓRICO II. Continuar construyendo el Socialismo Bolivariano del siglo XXI, en Venezuela, Como alternativa al sistema
destructivo y salvaje del capitalismo y con ello asegurar “la mayor suma de felicidad posible, la mayor suma de seguridad social y la mayor suma de estabilidad política” para nuestro pueblo.
2
INSTITUCIÓN U ORGANIZACIÓN PROPONENTE, ALIADA, COLABORADORA O DE APOYO
Identificación:
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA
FUERZA ARMADA (UNEFA)
Dirección:
UNEFA Av. La estancia con av. Caracas y calle Holanda, frente al
edificio BANAVEN (Cubo Negro), Chuao, Municipio Chacao Edo.
Miranda- Venezuela 1060
Nombre del Representante:
Prof. Fortunato Moreno
Teléfono del Representante:
0412-2349441
Cargo o función del representante dentro de la organización:
Proyectos para el Deporte y la Educación Física
3
PLANTEAMIENTO DEL PROBLEMA
Ubicación del Contexto:
La UNEFA desde su creación el 5 de octubre de 1998 mediante el
decreto N° 115 del Tcnel. (Ej.) Hugo Chávez Frías Presidente de la
Republica, logra personalidad jurídica y patrimonio propio e independiente
del Fisco Nacional. Adquirió el carácter de universidad experimental, estatus
que le confirió estructura dinámica y autonomía organizativa, académica,
administrativa, económica y financiera. Pasó además a formar parte del
Consejo Nacional de Universidades, ampliando y profundizando de este
modo sus objetivos, alcances académicos y competencias curriculares.
En la actualidad, la UNEFA, a tono con las exigencias del país, ha
emprendido un proceso de expansión y renovación curricular sin
precedentes, cuyos resultados son ya palpables. En cuanto al crecimiento en
infraestructura y matrícula, a los núcleos tradicionales de Caracas, Maracay y
Puerto Cabello
Desde el punto de vista curricular, se ha ampliado significativamente la
oferta académica con nuevas carreras en Pregrado y Postgrado y el inicio del
Programa de Doctorado.
Dentro de ampliaciones se puede mencionar el apoyo de la
Coordinación de Deporte y Educación Física, que se ha encargado de ser
una organización líder en las políticas del ámbito deportivo a nivel nacional e
internacional, formadora de ciudadanos y deportistas integrales, con hábitos
de vida saludables, principios socialistas y alto sentido de pertenencia hacia
la Universidad y el país, mediante la generación, promoción y elaboración de
actividades físicas, deportivas y recreativas en estrecha relación con la
Fuerza Armada Nacional Bolivariana.
4
Tomando en consideración los valores institucionales de esta casa
de estudio como son: excelencia, disciplina, honestidad, igualdad,
justicia, solidaridad, dignidad, patriotismo, humanismo y laboriosidad se
ha comprometido en explorar nuevas fórmulas para la producción del
conocimiento en el ámbito deportivo, así como aportar ideas novedosas
que coadyuven a satisfacer necesidades reales de los atletas de alto
rendimiento.
La Coordinación de Deporte adscrita al Vicerrectorado de Asuntos
Sociales y Participación Ciudadana, ha venido impulsando a partir del
2010 los proyectos científicos tecnológicos aplicados al área deportiva y
a la actividad física que coadyuven a optimizar el rendimiento de los
atletas de las disciplinas que se desarrollan en esta casa de estudio.
La natación es uno de los deportes que involucra la ejercitación de
todo el cuerpo y la mente, para su práctica el individuo debe tener
seguridad, relajación, resistencia muscular y respiratoria, lo que permitirá
la realización del ejercicio.
En la actualidad se ha estado trabajando en mejorar
tecnológicamente las diferentes herramientas usadas en la disciplina de
natación, con lo que surge la idea de crear diferentes sistemas de
obtención de datos, es decir transformar los movimientos de todo el
cuerpo durante el entrenamiento y convertirlos en datos que podrán ser
evaluados cuali-cuantitativamente, esto se hace posible mediante el uso
de arduino que es una placa controlada por microcontrolador que permite
adicionar sensores de movimientos y programarlos para obtener los
datos de los movimientos realizados por el atleta de natación con el fin
de poder observar el conteo de los movimientos desde un computador.
En los entrenamientos de natación se puede medir las brazadas
realizadas, la inclinación o postura del nadador al momento de salir, toda
mediante la observación del entrenador, lo que dificulta la rapidez al
analizar los fallos realizados por el atleta durante el entrenamiento.
5
Analizando el proceso de entrenamiento de un atleta de natación y
tomando en cuenta los movimientos necesarios para la evaluación surge
la idea a de desarrollar sistema tecnológico capaz de obtener datos a
través de estos movimientos.
Los datos generados podrán permitir que los entrenadores a través
de una computadora analicen detalladamente los movimientos
realizados por el nadador, lo cual facilitara la toma de decisión en cuanto
a la frecuencia del entrenamiento, mejoras de técnicas y así lograr formar
un atleta competitivo y de alto desempeño.
Formulación del problema:
La Natación posee aspectos fundamentales para su realización, pero
en los entrenamientos se busca mejorar la velocidad de brazadas, así
como tener una excelente posición de salida y durante el recorrido en la
piscina. Con los métodos tradicionales se presentan lentitud en las
correcciones y se necesita de entrenamientos repetitivos para poder
diagnosticar las soluciones y recomendaciones.
Los métodos tradicionales integrados con la tecnología existente,
podrá mejorar la rapidez con que un entrenador pueda evaluar y corregir
a un atleta de natación. Surgiendo las interrogantes:
¿Podrá medirse las brazadas realizadas por el atleta de natación?
¿Se podrá evaluar el posicionamiento y los grados de inclinación del
atleta de natación durante el recorrido de entrenamiento en la piscina?
Debido a la necesidad de mejorar la velocidad la rapidez de
evaluación en los entrenamientos surge el desarrollo del sistema de
Comunicación Odo-inclinometro con GPS (Odómetro e Inclinómetro), el
cual Es una integración de 3 Tecnología en uno, esto se lograra
mediante la implementación de un Arduino y un acelerómetro. El Arduino
es un hardware es una plataforma de hardware libre, basada en una
6
placa con un microcontrolador y un entorno de desarrollo, diseñada para
facilitar el uso de la electrónica en proyectos multidisciplinares, se le
integrara un acelerómetro con el cual se podrán obtener los datos de las
brazadas y la inclinación, esto debido a las propiedades de medir los
ciclos de un cuerpo en movimiento simulando un odómetro y
conjuntamente obteniendo los grados de inclinación del mismo cuerpo en
movimiento, en nuestro caso seria los movimiento y la inclinación del
nadador en entrenamiento. Con el Odómetro puede lograr medir la
cantidad de brazadas, y con el inclinómetro se puede lograr corregir la
inclinación del nadador en tiempo real. Adicionando la tecnología GPS
(Sistema de Posicionamiento Global) para brindar datos de ubicación en
todo el recorrido, pudiendo así identificarse el momento y lugar donde se
pierde el ritmo y se varía la técnica entrenada.
Con este sistema los entrenadores podrán ahorrar tiempo en la
evaluación y diagnóstico del entrenamiento ya que con los movimientos
que el aleta realice al nadar tanto sus brazadas como la inclinacion se
podrá obtener datos con el arduino programado y configurado como un
Odo-inclinometro lo que permitirá ver en un computador la cantidad de
brazadas y los grados de inclinacion durante el recorrido logrando
obtener correcciones rápidas y veraces para así poder desarrollar un
atleta de natación de alto desempeño.
7
8
EFECTOS
PROBLEMA
CAUSAS
ÁRBOL DEL PROBLEMA
Bajo rendimiento en los atletas de Natación
Alto costo de equipos
tecnológicos existentes
Carencia de equipos tecnológicos para la evaluación de desempeño de los atletas de natación en sus entrenamientos
Desarrollo tecnológico poco
avanzado
Falta de integración del deporte con la
tecnología
JUSTIFICACIÓN
Situación prevista al finalizar la ejecución del Proyecto:
Con la realización de este sistema Odo-inclinometro con GPS, se
puede obtener datos a través del movimiento, lo cual produciría que se
puedan contar las brazadas de un nadador corregir su postura de salida
y durante el desplazamiento, agregando exactitud el GPS quien dará los
datos de ubicación durante el recorrido.
Esto permitirá aumentar en los entrenadores la rapidez de corrección
técnica, programar la frecuencia del entrenamiento y atacar de manera
más específica los errores realizados.
Marco Jurídico.Constitución de la República Bolivariana de Venezuela (CRBV):
El proyecto de Sistema de Comunicación GPS, Inclinó metro y
Odómetro se sustenta en el Art.108 el cual expresa que los centros
educativos deben incorporar nuevas tecnologías en los centros
educativos. Se apoya en el art. 110 donde reza que el estado reconocerá
el interés público y tecnológico que pueda ayudar al desarrollo social. Y
finalmente en el art. 111 se menciona el deporte como un derecho y su
enseñanza es obligatoria en cualquier institución pública o privada.
Leyes vinculadas al proyecto
El sistema que desarrolla en este proyecto, se apoya del art. 14 literal
3 de la ley Orgánica del Deporte, que menciona que el deporte es un
derecho y debe ser asegurado en todas las instituciones de educación.
Aspectos (Sociales, Culturales, Económicos, políticos, etc.) que favorecen el Proyecto.
El sistema de comunicación GPS, Inclinó metro y Odómetro, permite
9
a los atletas de natación y al equipo de entrenadores mejorar la
velocidad de nado, la inclinación que debe poseer, generando un aporte
social, cultural y tecnológico, ya que mejoraría el desarrollo de los atletas
involucrando nuevas formas de evaluación de desempeño y mezclado el
deporte con la tecnología.
Importancia del Proyecto.
El proyecto se presenta como una gran oportunidad capaz de
complementar los entrenamientos, así como la evolución del atleta de
natación al tener un entrenamiento físico contando con una herramienta
tecnológica capaz de medir las brazadas, inclinación y ubicación en su
recorrido.
10
Proyecto de Servicio Comunitario enmarcado en los objetivos del Plan de la Patria 2013 – 2019.
Objetivo Histórico
II. Continuar construyendo el socialismo bolivariano del siglo XXI, en
Venezuela, como alternativa al sistema destructivo y salvaje del
capitalismo y con ello asegurar “la mayor suma de felicidad posible, la
mayor suma de seguridad social y la mayor suma de estabilidad política”
para nuestro pueblo.
Objetivo Nacional
2.2 Construir una sociedad igualitaria y justa
Objetivo Estratégico
2.2.6 Proporcionar las condiciones para el desarrollo de una cultura de
recreación y práctica deportiva liberadora, ambientalista e integradora en
tomo a los valores de la Patria, como vía para la liberación de la
conciencia, la paz y la convivencia armónica.
Objetivo General
2.2.6.5 Fortalecer el deporte de alto rendimiento, con apoyo integral al
atleta y héroes del deporte, desarrollo de la medicina y las ciencias
aplicadas al deporte de alto rendimiento, desarrollo de centro de alto
rendimiento y de la escuela nacional de talentos deportivos.
11
OBJETIVO GENERAL Y OBJETIVOS ESPECÍFICOS
OBJETIVO GENERAL:
Desarrollar un Sistema de comunicación Odo-inclinometro con GPS,
para atletas de alto rendimiento en la disciplina de natación
OBJETIVO ESPECÍFICO N° 1:
Obtener datos de las brazadas realizadas en el entrenamiento que
realiza un atleta de natación realiza durante el recorrido en la piscina.
OBJETIVO ESPECÍFICO N° 2:
Obtener información de Inclinación de salida y durante el recorrido del
atleta de natación en la piscina durante el entrenamiento
OBJETIVO ESPECÍFICO N° 3:
Obtener información de ubicación del atleta de natación en su recorrido
durante su entrenamiento.
12
13
ÁRBOL DE OBJETIVOS
SOLUCIÓN
OBJETIVO GENERAL
OBJETIVOSESPECÍFICOS
Obtener información en los entrenamientos de los atletas de natación para poder aumentar su rendimiento
Sistema de comunicación Odo-inclinometro con GPS, para atletas de alto rendimiento en
la disciplina de natación
Medir las brazadas
que realiza un atleta a
lo largo de su
recorrido en la piscina
Obtener información de
Inclinación en el
lanzamiento, giro y
llegada del atleta de
natación
Obtener
información de
ubicación del
atleta de natación
en su recorrido
METAS
OBJETIVOS PROPÓSITO (alcance que se desea lograr a través de los objetivos)
TIEMPO(en horas)
OBJETIVO GENERAL
Lograr desarrollar un sistema Odo-
Inclinometro con GPS, capaz de
medir las brazadas, inclinación y
ubicación de un atleta de natación
durante su entrenamiento
120
OBJETIVO ESPECÍFICO
N° 1
Lograr Medir las brazadas que
realiza un atleta a lo largo de su
recorrido en la piscina
40
OBJETIVO ESPECÍFICO
N° 2
Lograr obtener información de
Inclinación de salida y durante el
recorrido del atleta de natación en su
entrenamiento
40
OBJETIVO ESPECÍFICO
N° 3
Obtener información de ubicación del
atleta de natación en su recorrido40
14
COBERTURA GEOGRÁFICA Y POBLACIONAL
COBERTURA POBLACIONAL
Área GeográficaN° de
Habitantes
Porcentaje sobre total del
Estado
Estado
Miranda3.181.890 100%
Municipio
Chacao 71.411 2,24 %
Parroquia
San José de
Chacao71.411 2,24 %
Comunidad o
Institución
UNEFA
1260 0,04 %
15
ACTIVIDADES, TAREAS, TIEMPO Y RECURSOS
N° ACTIVIDADES TAREAS HORAS
1Reunión de apertura, recomendaciones e
instrucciones
Presentación de grupo de trabajo, información de necesidades, debate de
posibles soluciones, planificación de actividades
8
2 Diagnóstico de la situación Evaluación de problemática, definición de una solución 8
3 Investigación sobre GPS, Inclinómetro y Odómetro
Investigar, GPS; Inclinómetro, Odómetro, Natación, Arduino y leyes 16
4Estudio de la población
BeneficiadaEstudio y estadística de la población
directa e indirecta 8
5 Estudio y practica de software Arduino
Investigación, Prácticas, métodos, estructura de código 20
6 Adquisición de materiales e implementos
Búsqueda, cotización y compra de materiales. 12
7
Sistematización de la
información y corrección
del contenido
Organización, Clasificación de información y planillas 16
8Diseño del Proyecto y
Pruebas de funcionamiento
Diseñar, Elaborar, Programar y compilar código en Arduino 26
9 Reunión de cierre de proyecto
Cierre de proyecto y recomendaciones futuras 6
TOTAL DE HORAS 120
16
RESUMEN DE RECURSOS ESTIMADOS A USAR
FECHAS TIEMPO DE EJECUCIÓNINICIO FINAL DÍAS SEMANAS MESES HORAS
13-03-2015 16-06-2015 28 15 4 120
RECURSOS FÍSICOS
TIPOS DE RECURSOS DETALLE
HUMANOS Un (1) servidor comunitario
EQUIPOS Arduino uno R3, ADXL345, computador,
MATERIALESCables, cautín, estaño, multímetro, resistencias
condensadores, batería, Hoja de Datos.
OTROS
17
CRONOGRAMA DE ACTIVIDADES
Mes Marzo 2015 Abril 2015 Mayo 2015 Junio 2015
Actividades / Semanas 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
01 Reunión de apertura, recomendaciones e instrucciones 8 8
02 Diagnóstico de la situación 8 8
03 Investigación sobre GPS, Inclinómetro y Odómetro 8 8 16
04 Estudio de la población Beneficiada 8 8
05 Estudio y practica de software Arduino 10 10 20
06 Adquisición de materiales e implementos 12 6 12
07Sistematización de la información y corrección del
contenido10 6 16
08 Diseño del Proyecto y Pruebas de funcionamiento 8 6 6 6 26
09 Reunión de cierre de proyecto 6 6
Total de Horas 8 8 8 8 8 10 10 12 10 6 8 6 6 6 6 120
________________________ ______________________________ Firma del Tutor Académico Firma y Sello del Tutor Comunitario
18
DESCRIPCIÓN DE LAS ACTIVIDADES Y TAREAS EJECUTADAS
ACTIVIDADES Y TAREAS
DESCRIPCIÓN
N° 1: Reunión
de apertura,
recomendaciones e
instrucciones
Del 13-03-2015 al 20-03-2015; 8 Horas
Académicas.
Reuniones para conocer el grupo de trabajo,
establecer los parámetros de estudios,
conocimiento de la organización, instrucciones de
evaluación y estudios a aplicar en las actividades
N° 2:
Diagnóstico de la
situación
Del 23-03-2015 al 27-03-2015; 8 Horas
Académicas.
Evaluación de las necesidades de la institución,
Objetivos general y específicos, planteamiento del
problema, posible solución, métodos para lograr la
solución.
N° 3:
Iinvestigación sobre
GPS, Inclinómetro y
Odómetro
Del 30-03-2015 al 10-04-2015 16 Horas
Académicas Búsqueda de la información para
desarrollar y expandir el conocimiento sobre los
sistemas de comunicación implicados, software y
dispositivos, funcionamiento de circuitos de datos.
N° 4: Estudio de
la población
Beneficiada
Del 13-04-2015 al 17-04-2015 8 Horas
Académicas
Se realizó el estudio de los individuos directos e
19
indirectos que se verán beneficiados con la
realización del proyecto.
N° 5: Estudio y
practica de software
Arduino
Del 20-04-2015 al 01-05-2015 20 Horas
Académicas
Definición del software Arduino, descripción del
programa, explicación de librerías, métodos de
programación y compilación. Elaboración de
códigos para ejercitar y poder desarrollar el código
final, evaluación del uso de librerías, variables y
compilaciones exitosa. Análisis de error de sintaxis
y caracteres.
N° 6:
Adquisición de
materiales e
implementos
Del 04-05-2015 al 08-05-2015 12 Horas
Académicas
Búsqueda de material necesario para la realización
del proyecto, evaluación de presupuesto, compra
de todo el material en diferentes tiendas a nivel
nacional.
N° 7: Sistematización
de la información y
corrección del
contenido
Del 11-05-2015 al 22-05-2015 16 Horas
Académicas
Desarrollo del contenido, organización del trabajo,
correcciones, modificaciones del trabajo escrito.
N° 8: Diseño del
proyecto y pruebas de
funcionamiento
Del 25-05-2015 al 19-06-2015 26 Horas
Académicas
Elaboración del diseño, montaje, soldaduras
20
uniones, medidas de voltaje y señales, pruebas de
funcionamiento sin código, pruebas con código a
usar. Pruebas de laboratorio.
N° 9: Reunión
de cierre de proyecto
Del 22-06-2015 al 26-06-2015 6 Horas Académicas
Cierre de proyecto, beneficios obtenidos, mejoras
futuras, recomendaciones y evaluación final del
trabajo
21
POBLACIÓN BENEFICIADA.
TIPO DE BENEFICIARIO
CANTIDAD DE BENEFICIARIOS
DIRECTOS INDIRECTOS TOTALESTUDIANTES 200 20 220
PERSONAS 60 20 80TOTAL 260 40 300
22
DISTRIBUCIÓN DE BENEFICIARIOS POR TIPO
IMPACTO GENERADO EN LA COMUNIDAD
OBJETIVOLOGRO ALCANZADO
(Cada logro debe ir asociado a su meta correspondiente)
OBJETIVO GENERAL
Se logró la elaboración del Sistema de comunicación
Odo-inclinometro con GPS, para atletas de alto
rendimiento en la disciplina de natación
OBJETIVO ESPECÍFICO
N° 1
Se logró medir las brazadas en los entrenamientos del
atletas de natación
OBJETIVO ESPECÍFICO
N° 2
Se logró medir la inclinación de salida y durante el
recorrido del atleta de natación
OBJETIVO ESPECÍFICO
N° 3
No se logró obtener los datos de ubicación por falta del
dispositivo que debía usar
23
APORTES DEL PROYECTO
Con el desarrollo del proyecto “Sistema de Comunicación Odo-
inclinometro con GPS”, se pudo obtener los datos necesarios para mostrar
por computadora la cantidad de brazadas realizadas por el nadador en su
entrenamiento al igual que la inclinación en la salida y vuelta dada.
Permitiendo de esta manera que los entrenadores reorganicen el programa
de entrenamiento y la frecuencia y exigencia de cada una de las técnicas.
Sustentando el proyecto con el articulo 108,110 y 111 de la
Constitución de la República Bolivariana de Venezuela. Que indican que el
deporte es un derecho y debe ser impartido en todas las instituciones,
permitiendo el desarrollo e integrarlo con las nuevas tecnologías. De igual
forma la Ley Orgánica del Deporte en sus artículo 14 literal 3 donde se
enuncia el derecho del deporte como recreación de individuo y obligatoria.
La elaboración de este proyecto conto un apoyo excepcional del grupo
de profesionales de la Coordinación de Deportes, permitiendo integrar los
objetivos en uno solo y cuyo fin se enmarco en el logro del sistema de
comunicación Odo-inclinometro con GPS, para atletas de alto rendimiento en
la disciplina de natación y su funcionamiento.
El proyecto brindara un apoyo tecnológico a los entrenadores y
asesores, los cuales podrán realizar las evaluaciones de manera rápida, con
los cual abra ahorro en tiempo en la toma de decisión y modificar los niveles,
ritmo y aplicación de los entrenamientos, generando un impulso capaz de
mejorar el rendimiento de los atletas de natación.
24
CONCLUSIONES
Finalmente con el sistema de comunicación GPS, inclinómetro y
odómetro, se logra expandir la visión de evaluación en los entrenamientos, lo
cual permite mejorar los procedimientos, tiempos y repetición de cada estilo.
Iniciando un camino de automatización que cada vez crece muy velozmente.
Lograr medir las brazadas realizadas por un nadador visualmente se
podía convertir en una evaluación larga y repetitiva, ocasionando un retardo
considerable al momento de realizar correcciones y exigencias. Con la
elaboración de este proyecto se hace el trabajo de entrenamiento de
natación fácil y automatizada, permitiendo una evaluación rápida mediante
los datos obtenidos realizando el ajuste necesario en la velocidad del
nadador.
Aunque la postura de salida y las vueltas parezca algo sin mucha
importancia, este proyecto logra a través de la tecnología tomar datos de la
postura de salida y el giro de vuelta durante el recorrido en la piscina,
permitiendo así saber los grados de inclinación en todos los momentos y
poder modificar la inclinación de salida y vuelta dentro de la piscina
disminuyendo el tiempo del recorrido y el nadador pueda alcanzar un mejor
nivel y velocidad.
Y ya en una era de comunicación, el GPS logra obtener datos de
ubicación y sirve de gran ayuda para conocer el desempeño en cada tramo
del recorrido permitiendo mejorar los tiempos en cada vuelta del nadador.
25
RECOMENDACIONES
Siempre que aparece un proyecto que genera un impulso positivo y se
obtienen beneficios del mismo, provocara que muchos estudiantes docente y
demás se interesen y quieran mejorarlo o desarrollar nuevas alternativas.
Como se menciona este sería un proyecto de inicio, el cual puede ser
mejorado y optimizado, pero requiere de más tiempo de dedicación y un
aporte de capital para fabricar un prototipo que pueda ser reproducido en la
cantidad según sea necesaria. Se pueden integrar otras funcionalidades y
abarcar otras disciplinas, lo que permite que no solo los estudiantes de
Ingeniería de Telecomunicaciones trabajen en esto sino también los
estudiante en general ya que se necesita de estadística, química, electrónica,
diseño, programación, arquitectura y sistemas.
El grupo estudiantil de la UNEFA puede generar nuevas ideas
tecnológicas para desarrollar el Deporte y otras áreas, solo se deben
mantener las exposiciones de prototipos, despertar en el alumnado el
pensamiento creacionista e innovador obteniendo así numerosos proyectos.
En la UNEFA se cuenta con un gran apoyo del personal que en el laboral y
más de los grandiosos docente que siempre está dispuesto a ayudar al
estudiante para que logren las metas trazadas durante su paseo
momentáneo dentro de la universidad.
26
FUENTES CONSULTADAS
CNE, Constitución Bolivariana de Venezuela
http://www.cne.gob.ve/web/normativa_electoral/constitucion/titulo3.php#cap6
MinCI, Ley Orgánica de Deporte, Actividad Física y Educación Física
http://minci.gob.ve/wpcontent/uploads/downloads/2012/06/tripaleyorganica_del_deporte_.pdf
Asamblea Nacional, Plan de la Patria
http://www.asambleanacional.gob.ve/uploads/botones/bot_90998c61a54764da3be94c3715079a7e74416eba.pdf
Wikipedia, Arduino
https://en.wikipedia.org/wiki/Arduino
Wikipedia, Sistema de Posiciomiento Global
https://es.wikipedia.org/wiki/Sistema_de_posicionamiento_global
Mi Mecánica Popular; Inclinómetro
http://www.mimecanicapopular.com/verherr.php?n=77
DE MAQUINAS Y HERRAMIENTAS, Odómetro
http://www.demaquinasyherramientas.com/herramientas-de-medicion/odometro-tipos-y-usos
27
ANEXOS
28
UNEFA Av. La estancia con av. Caracas y calle Holanda, frente al edificio
BANAVEN (Cubo Negro), Chuao, Municipio Chacao Edo. Miranda-
Venezuela 1060
29
MAPA DE LOCALIZACIÓNDEL ÁREA DE INFLUENCIA
DEL PROYECTO
Compra Acelerómetro
30
Compra Arduino
31
Reunión de asesoría con el Prof. Fortunato
32
Información Técnica
Como se ha mencionado a lo largo del proyecto de investigación, Los
atletas de alto rendimiento que se desempeñan en el área de natación
requieren de tecnología que les permita recolectar información que haga
referencia a la velocidad de brazadas al momento de su entrenamiento en
esta disciplina, inclinación y posición en la piscina. De tal forma que estos
datos puedan ser analizados posteriormente por un entrenador para lograr
desarrollar técnicas nuevas que les ayuden a aumentar potencialmente el
desarrollo de sus habilidades, con el objeto de representar a VENEZUELA a
nivel internacional en las competencias deportivas con gran desempeño.
Lo que se ha propuesto como solución a estas exigencias, es lograr el
desarrollo de una plataforma que sirva como base para recolectar la
información anteriormente descrita a través de la integración de un
ODOMETRO, INCLINOMETRO y un GPS en un circuito integrado
(ARDUINO). Una vez queden unificados estos recursos tecnológicos y
dispuesto en arduino el cual se instalara a través de un brazalete en el brazo
derecho del nadador, cada vez que el atleta se incorpore en la piscina al
momento de comenzar a brasear, el odómetro podrá contar ciclos de
brazadas cada vez que el nadador sumerja su brazo y lo extraiga del agua
con un movimiento circular, este mismo fenómeno repetidamente arroja
como resultado la velocidad de brazadas contadas por segundos.
Dependiendo de la posición en que el nadador emerja del agua respecto a su
postura horizontal, el inclinometro podrá arrojar datos de inclinación del atleta
durante su trayectoria, de la misma forma en que el GPS arrojara datos que
especifican la posición del nadador a lo largo de la piscina.
Estos datos serán enviados en tiempo real a través de la tecnología
bluetooth (IEEE 802.15), a un software diseñado especialmente para esta
actividad que se ejecutara a través de una interfaz de usuario dispuesta en
33
una pantalla digital en manos del entrenador.
A continuación se detallan especificaciones técnicas respecto a la
integración del odómetro, inclinometro y GPS en la plataforma ARDUINO.
Arduino es una plataforma de hardware libre, basada en
una placa con un microcontrolador y un entorno de desarrollo, diseñada para
facilitar el uso de la electrónica en proyectos multidisciplinares.
El software es un entorno de desarrollo integrado que permite escribir
y compilar programas (sketches) y cargarlos al hardware.
El hardware consiste en una placa con un microcontrolador Atmel
AVR y puertos de entrada/salida.
La plataforma Arduino se programa mediante el uso de un lenguaje
propio basado en el lenguaje de programación de alto nivel Processing que
es similar a C++ y es importante destacar que existen varias versiones de
esta plataforma.
Como funciona Arduino: Como pasa con la mayoría de las placas
microcontroladores las funciones de Arduino pueden resumirse en tres. En
primera instancia, tenemos una interfaz de entrada, que puede estar
directamente unida a los periféricos, o conectarse a ellos por puertos. El
objetivo de esa interfaz de entrada es llevar la información al
microcontrolador, la pieza encargada de procesar esos datos. El mentado
microcontrolador varía dependiendo de las necesidades del proyecto en el
que se desea usar la placa, y hay una buena variedad de fabricantes y
versiones disponibles.
Por último, tenemos una interfaz de salida, que lleva la información
procesada a los periféricos encargadas de hacer el uso final de esos datos,
34
que en algunos casos puede bien tratarse de otra placa en la que se
centralizará y procesara nuevamente la información, o sencillamente, por
ejemplo, una pantalla o un altavoz encargada de mostrar la versión final de
los datos.
De nuevo, Arduino es un sistema, y no una placa única. Por esto, el funcionamiento
concreto dependerá del proyecto. Así, en un móvil hecho con Arduino tendremos
varios microcontroladores, encargados de las conexiones de red, los datos
necesarios para la entrada de números y mostrar información en pantalla, entre
otras cosas. Así mismo, un reloj hecho con Arduino solamente haría falta un chip
que cuantifique la hora y la muestre en una pantalla.
Como ya hemos dicho, Arduino es casi sinónimo de hardware libre, y con eso,
estamos hablando de una de las plataformas más complejas y variables que podrían
existir.
Microcontrolador ATmega328
Voltaje de funcionamiento 5V
Alimentación (recomendada) 7-12V
Voltaje máximo de entrada(no
recomendado)
20V
Pines digitales I/O 14 (de los cuales 6 dan salida
PWM)
Pines de entrada analógica 6
Corriente DC por I/O Pin 40 mA
Corriente DC para el pin 3.3V 50 mA
Memoria Flash 32 KB (ATmega328) 0.5 KB
usados por el bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Velocidad de reloj 16 MHz
35
Nuestro caso de estudio se basa en ARDUINO UNO. Esta versión
difiere de anteriores versiones en que no utiliza el chip convertidor serie a
USB FTDI, en lugar de ello incorpora un ATmega16U2 programado como
convertidor serie a USB. Este chip tiene USB nativo y puede ser
reprogramado para que la Arduino sea reconocida al conectarla al ordenador
como cualquier tipo de periférico USB.
Las descripciones físicas de esta plataforma se detallan a continuación.
Odómetro: es un instrumento de medición que calcula la distancia
total o parcial recorrida por un cuerpo en la unidad de longitud en la cual ha
sido configurado (metros).
Inclinómetro o Escoliómetro: es un instrumento usado por
la topografía, por la aviación y por los navíos para medir la inclinación del
plano con respecto de la horizontal (superficie terrestre).
El sistema de posicionamiento global (GPS) es un sistema que
36
permite determinar en todo el mundo la posición de un objeto (una persona,
un vehículo) con una precisión de hasta centímetros.
¿Cómo Hacer que estas tecnologías interactúan dentro de la plataforma de arduino?
La forma en que se obtiene un inclinómetro, es a través de un
acelerómetro. La forma en que un acelerómetro puede medir inclinaciones es
a través de la física, Para que exista una aceleración esta tiene que ser
provocada por una fuerza. La representación de una fuerza usualmente se
realiza por medio de un vector. Los vectores usualmente se dibujan como
flechas:
Si el vector nos indica una dirección su "largo" nos podría indicar la
magnitud de la fuerza. De esta manera si identificamos hacia a donde apunta
la fuerza podemos conocer la posición del objeto sobre el cual esta fuerza se
está ejerciendo.
Realmente para el inclinómetro no vamos a estar demasiado
interesados en la magnitud del vector de aceleración sino más bien en su
dirección. La idea es bastante simple, todos estamos bajo la influencia de la
fuerza de gravedad, el acelerómetro nos permitirá conocer la dirección de
37
esta fuerza y solo hay que aplicar algunas sencillas fórmulas trigonométricas
para calcular la inclinación del sensor.
El MMA7361 es un pequeño módulo para Arduino que incluye un acelerómetro de 3 ejes y es capaz de medir aceleraciones en los 3 ejes.
Este integrado tiene dos modos de funcionamiento, uno más preciso
que es capaz de detectar hasta +/- 1.5G y otro con un rango un poco mayor
pero menos preciso que detecta +/- 6G. Este último rango supera por mucho
las aceleraciones laterales que uno puede alcanzar en pista, pero el primero
de +/- 1.5G, supero por mucho las aceleraciones que se pueden alcanzar al
realizar movimientos de aceleración horizontal, y es esta la razón de la
implementación de dicho modulo (MMA7361), ya que el nadador estar
acelerando horizontalmente respecto a la piscina.
COMO FUNCIONA: hay tres pines denominados "x", "y" y "z". Estos
pines mantienen un voltaje relativo a la fuerza de gravedad a la que está
sometido el circuito integrado.
Entendiendo como las fuerzas G afectan el Acelerómetro
Imaginemos por un momento que tenemos nuestro circuito integrado
sobre una superficie plana que se encuentra sin ninguna inclinación como se
ilustra en el siguiente diagrama:
38
El acelerómetro únicamente detectará una fuerza de aceleración
aplicada sobre el acelerómetro que mire la fuerza sobre Z.
Simplificando un poco las cosas e imaginando que se está viendo el
acelerómetro de lado (considerando solo dos dimensiones). Si se imagina
que se gira el acelerómetro sobre el eje Y. Se nombran los ejes de los
sensores X' y Z', entonces, las fuerzas se aplicarían de la siguiente forma:
El acelerómetro como tal no conoce en ningún momento su posición.
Sin embargo conoce los componentes de la fuerza de gravedad. Se puede
39
entonces utilizar los valores de la fuerza que se aplica a los componentes
para conocer el ángulo, utilizando una sencilla función trigonométrica inversa:
Conociendo los componentes de la fuerza G aplicados al acelerómetro
se puede conocer el ángulo. Sin embargo, se puede también invertir el orden
de los componentes dentro de la función arco-tangente para obtener el
ángulo complementario.
Implementando el inclinómetro en Arduino:
Primero se procede a cablear el acelerómetro de la siguiente manera:
X -> Analog0
Y -> Analog1
Z -> Analog2
SL -> Pin 3.3V del acelerómetro
0G -> Desconectado
5V -> 5V Arduino
3.3V -> AREF Arduino
GS -> GND
ST -> GND
40
El circuito montado debe lucir como el siguiente diagrama:
Este circuito es capaz de funcionar con 5V, sin embargo internamente
funciona con 3.3V lo cual se debe usar como referencia para el convertidor
Análogo->Digital. Esto permitirá tener mayor precisión a la hora de leer los
cambios de voltaje en las salidas análogas del acelerómetro.
Lo primero por hacer es configurar la plataforma Arduino, se debe
incluir la biblioteca matemática para poder utilizar las funciones
trigonométricas:
#include <math.h>
Void setup () {
AnalogReference (EXTERNAL);
41
Circuito acelerómetro montado sobre ARDUINO
Serial.begin (9600);
}
Int xVal = 0;
Int yVal = 0;
Int zVal = 0;
Double angleYZ = 0;
Double angleXZ = 0;
Se definen algunas variables para almacenar los valores de los
componentes de las fuerzas en cada uno de los ejes del acelerómetro. Por
último un par de variables de tipo flotante doble van a almacenar el ángulo en
el que se encuentra el acelerómetro.
Se utilizar el puerto serial para escribir los valores, esto se necesitara
luego al generar un pequeño programa en Python para visualizar
gráficamente las inclinaciones.
Se le indica a nuestro Arduino que se ha de utilizar los 3.3V del
acelerómetro como voltaje de referencia para la conversión Análoga->Digital.
Luego, en el loop principal se tiene que leer los valores análogos y
hacer un pequeño ajuste utilizando la función map (). El problema es que el
convertidor análogo-digital tiene un rango que va desde 0 a 1023, si se utiliza
la función arco tangente utilizando estos valores mentiría, ya que los
componentes de la fuerza solo tendrían valores positivos y por lo tanto
valores erróneos.
Para corregir este problema se debe utilizar la función "map ()" que
permitirá que el rango varíe entre valores positivos y negativos como se
muestra en la siguiente tabla:
42
Fuerza G
Voltaje salida
Arduino analogRead()
Luego de map()
1.5
~3.3V ~1023 ~500
... ... ... ...
0 ~1.6V ~511 ~0
... ... ... ...
1.5
~0V ~0 ~-500
¿Por qué elegir entre -500 y 500? Realmente se ha elegido este
rango para mantener más o menos igual el "rango" original. Si el convertidor
A->D tiene 1024 pasos y quiero mantener +/- la misma precisión lo ideal
sería tener un nuevo rango que tuviera 1024 pasos, el rango ideal entonces
hubiera sido desde -511 hasta 511, pero para obtener números fáciles de
recordar, se ha elegido desde -500 hasta 500.
Una vez dicho esto el código queda de la siguiente manera:
Void loop () {
XVal = analogRead (0);
YVal = analogRead (1);
ZVal = analogRead (2);
XVal = map (xVal, 0, 1023, -500, 500);
YVal = map (yVal, 0, 1023, -500, 500);
ZVal = map (zVal, 0, 1023, -500, 500);
AngleYZ = atan ((double) yVal / (double) zVal);
AngleYZ = angleYZ*(57.2958);
AngleXZ = atman ((double) xVal / (double) zVal);
43
AngleXZ = angleXZ*(57.2958);
Serial.write ("yz :");
Serial.print (angleYZ);
Serial.write ("\n");
Serial.write ("xz :");
Serial.print (angleXZ);
Serial.write ("\n");
Delay (100);
}
Como pueden ver en el código lo primero que se hace es leer los
valores que se encuentran en las entradas análogas, luego se utiliza la
función map para generar un rango más adecuado para los valores de
entrada y por último se aplican las sencillas funciones trigonométricas para
calcular el ángulo correspondiente.
Una vez calculados los ángulos simplemente se imprimen en el puerto
serial para poder leerlos desde la computadora.
Hasta este punto simplemente compilamos nuestro programa y lo
guardamos en nuestro Arduino.
Para que el instructor pueda visualizar el grado de inclinación del
nadador respecto a la piscina, se procederá a crear una pequeña interfaz
para visualizar las inclinaciones. Para ello se deben utilizar varias librerías y
algo del código que ya se ha utilizado antes para el seguro programable con
Arduino para la lectura de datos desde el puerto serial.
Para la interfaz gráfica, se a de utilizar la biblioteca pygame, esta es
44
una sencilla biblioteca que permite dibujar gráficos en pantalla. Está
originalmente diseñada para crear juegos sencillos y provee de muchas
funciones muy fáciles de utilizar.
Inicializando pygame
Lo primero que se debe hacer es cargar todas las bibliotecas
necesarias e inicializar la biblioteca:
Import pygame, sys, math, serial, threading
From pygame.locals import *
# Inicializando PyGame
pygame.init ()
SCR_WIDTH = 640
SCR_HEIGHT = 480
COLOR1 = (255, 255, 255)
COLOR2 = (0, 0, 0)
COLOR3 = (255, 0, 0)
DISPLAYSURF = pygame.display.set_mode ((SCR_WIDTH,
SCR_HEIGHT))
DISPLAYSURF.fill (COLOR2)
pygame.display.set_caption ('Inclinometro Digital!')
En este punto se han definido algunas variables globales como el ancho y alto de la
pantalla y algunos colores sencillos. La variable DISPLAYSURF es la que se utiliza
para dibujar, se puede apreciar como la primera orden es fill (rellenar) el fondo de
negro.
45
Monitoreando el puerto serial
Para la lectura de datos del puerto serial se utilizan un par de funciones "ayudante"
y el proceso de lectura se correrá en un hilo de ejecución separado, así se obtiene
el hilo principal encargado de dibujar la interfaz del usuario y un hilo secundario
encargado de leer los datos del puerto serie y actualizar las variables que guardan
el ángulo del inclinómetro.
Ser = serial.Serial (
'/dev/ttyUSB0',
Baudrate=9600,
InterCharTimeout=None
)
t = threading.Thread (target=receiving, args= (ser,)).start ()
La función receiving se encarga de leer la última línea disponible en el
puerto serial, esta función se copia del seguro programable en Arduino:
Def receiving (ser):
Global last_received
Buffer = ''
While True:
Buffer += ser.read (ser.inWaiting ())
If '\n' in buffer:
Lines = buffer.split ('\n')
last_received = lines [-2]
Buffer = lines [-1]
store_angle (last_received.strip ())
La función store_angle se encarga de leer la línea recibida del puerto
46
serie y si corresponde al ángulo entre yz o xz guardará el valor en la variable
correspondiente:
angle_yz = 0.0
angle_xz = 0.0
last_received = ''
Def store_angle (string):
Global angle_yz, angle_xz
Line = string.split (':')
If len (line) > 1:
If line [0] == "yz":
angle_yz = float (line [1])
If line [0] == "xz":
angle_xz = float (line [1])
Print string
Dibujando la interfaz gráfica
La biblioteca pygame provee varias funciones de "dibujo" de
primitivas, esto es que permite dibujar figuras básicas como líneas, polígonas
y círculos dentro de una superficie.
La lógica de las interfaces gráficas en pygame es muy simple: Se debe
revisar si hay alguna acción del usuario que se deba manejar y luego se
dibuja en pantalla, se debe repetir esto de manera indefinida.
While True: # Loop principal
For event in pygame.event.get ():
If event. Type == QUIT:
47
ser.close ()
pygame.quit ()
sys.exit ()
# Limpiar pantalla
DISPLAYSURF.fill (COLOR2)
draw_box (SCR_WIDTH/3, SCR_HEIGHT/2,200,200)
draw_angle (angle_yz, SCR_WIDTH/3,
SCR_HEIGHT/2,100)
draw_box (2*(SCR_WIDTH/3), SCR_HEIGHT/2,200,200)
draw_angle (angle_xz, 2*(SCR_WIDTH/3),
SCR_HEIGHT/2,100)
pygame.display.update ()
El código anterior realiza algunas funciones muy básicas. Primero
revisa si hay un evento que obligue a "terminar" con la ejecución del
programa. Si este es el caso se cierra la conexión al puerto serial, se detiene
pygame y se procede a salir del programa.
Luego como se supone que el hilo de lectura del puerto serial ya está
obteniendo los valores de inclinación, simplemente se llaman a dos funciones
ayudantes, la primera "draw_box" dibuja una caja de referencia con líneas
indicando los ángulos. Y la segunda "draw_angle" dibuja una línea que tiene
la inclinación que se especifique.
Función draw_box:
Def draw_box (x_origin, y_origin, width, height):
48
# Caja
pygame.draw.polygon (
DISPLAYSURF,
COLOR1,
[
(x_origin-(width/2), y_origin-(height/2)),
(x_origin+ (width/2),
y_origin-(height/2)),
(x_origin+ (width/2), y_origin+
(height/2)),
(x_origin-(width/2), y_origin+
(height/2)),
(X_origin-(width/2), y_origin-(height/2))
],
1
)
# Diagonal /
pygame.draw.line (
DISPLAYSURF,
COLOR1,
(x_origin-(width/2), y_origin-(height/2)),
(x_origin+ (width/2), y_origin+ (height/2)),
1
)
# Diagonal \
pygame.draw.line (
DISPLAYSURF,
COLOR1,
(x_origin+ (width/2), y_origin-(height/2)),
(x_origin-(width/2), y_origin+ (height/2)), 1
49
)
# Línea vertical |
pygame.draw.line (
DISPLAYSURF,
COLOR1,
(x_origin, y_origin-(height/2)),
(x_origin, y_origin+ (height/2)),
1
)
# Línea horizontal --
pygame.draw.line (
DISPLAYSURF,
COLOR1,
(x_origin-(height/2), y_origin),
(x_origin+ (height/2), y_origin),
1
)
Función draw_angle:
Def draw_angle (angle, x_origin, y_origin, lenght):
x_len = lenght*math.cos (angle*0.01745)
y_len = lenght*math.sin (angle*0.01745)
pygame.draw.line (
DISPLAYSURF,
COLOR3,
(x_origin-x_len, y_origin-y_len),
(x_origin x_len, y_origin y_len),
3
)
50
Al final, al ejecutar el script el resultado es una pantalla como la
siguiente:
Para obtener datos de posicionamiento del nadador respecto a su
ubicación en la piscina, se le debe aplicar un código de programación a la
plataforma Arduino que le active tal función. Este código será revelado al
finalizar este punto.
Se debe incorporar la integración de una antena tipo parche, también
conocido como antena microstrip rectangular conectada de un transmisor y
este a su vez al arduino, con el objetivo de enviar la señal por medio del
protocolo IEEE 802.15 (Bluetooth) y ser captada posteriormente por una
antena receptora que procesara tal señal para ser remitida a un monitor
donde se observara la información recolectada del atleta. Sin embargo, una
vez programada la función GPS en arduino se requiere la utilización de tres
componentes elementales para la recepción de tal información:
1. Un módulo GPS Venus encargado de obtener la información de posición del
GPS y transmitirlo a la Raspberry Pi.
2. La Raspberry Pi que se encargará de procesar, desplegar la información y
reaccionar a las entradas del usuario.
51
3. Mini-pantalla LCD que usara para desplegar la información.
Una de las funciones que se debe incluir en esta etapa, es la de un
módulo que registre la capacidad de guardar el recorrido que ha realizado el
nadador, ya que el GPS debe arrojar datos tales como la posición del atleta
en la piscina en un tiempo determinado. Al poseer registros del recorrido se
podrá saber entonces la distancia que el atleta alcanzó, y dividiendo la
distancia recorrida entre un tiempo determinado se obtendrá la velocidad de
desplazamiento del nadador, completando así el objetivo de este proyecto de
investigación con la recolección de los datos (Inclinación, Velocidad,
Posición). Para agregar esta funcionalidad es necesario utilizar un receptor
de GPS que permita conocer la ubicación del deportista.
Venus638FLPx-L. Este circuito integrado es un pequeño receptor de
GPS que puede obtener la señal de hasta 12 satélites de manera simultánea.
Su característica más importante es que tiene una frecuencia máxima de
trabajo de 20Hz es decir, es capaz de calcular 20 posiciones por segundo
ajustables a 12 km/h. Esto significa que la distancia recorrida entre posición y
posición se reduce a tan solo 2m, longitud de una persona lo que lo hace
aceptable para la aplicación que se le quiere dar.
La Antena
Como antena receptora se ha elegido utilizar para efectos del proyecto
la antena de montaje magnético para facilitar su colocación sobre el monitor
LCD donde el instructor de natación visualizará los datos, esta trae un cable
lo suficientemente largo como para colocarla donde nos parezca
másconveniente. El conector de la antena de ser "SMA"
52
Como se ve la tableta de prueba Raspberry Pi
Preparación de la tableta de prueba
Primero se colocan los pines en la breadboard y se ubica la tableta
encima de ellos.
En la imagen se puede observar como el módulo se balancea un
poco.
Se comienza con las cuatro 4 esquinas y luego se va soldando el resto
de pines siguiendo un circulo. La razón de hacerlo así es que la tableta tenga
apoyo en los pines para que puedan se pueda retirar el alambre que se
utilizó para sostenerla.
53
El resultado
Para probar el módulo solo se utilizaron las líneas de positivo (Vcc),
tierra (GND) y las líneas de envío y recepción de datos (TX0 y RX0
respectivamente).
La siguiente imagen muestra el sencillo diagrama de conexión:
54
Se procede a conectar la antena
55
56
Para probar el módulo, primero se habilito el puerto serial del GPIO y
se Alimentó el módulo con los 3.3V de la Raspberry, además se debe escribir
el siguiente comando desde la consola:
$ Cat /dev/ttyAMA0
Luego de unos segundos se logra visualizar la salida NMEA generada por el GPS.
57
Un pequeño programa en Python se encarga de realizar dos simples
tareas: Primero leer los datos del puerto y almacenarlos en variables dentro
del programa y segundo dibujar una muy sencilla interfaz en la mini-pantalla
LCD. Esta pantalla se conecta por medio de un cable RCA por el que se
envía una señal de video compuesto desde la Raspberry Pi.
A continuación se escribe el código de programación que se ejecuta
en Python, el cual se encarga de leer línea por línea los datos que se reciben
en el puerto serie (/dev/ttyAMA0).
Ser = serial.Serial ( '/dev/ttyAMA0', Baudrate=9600, InterCharTimeout=None)t = threading.Thread (target=receiving, args= (ser,)).start ()
Estas líneas de código se encargaran de iniciar un hilo de secundario que ejecutará las instrucciones contenidas en la función receiving.
Def receiving (ser): Global continue_reading, last_received
58
Buffer = ''
While continue_reading: Buffer += ser.read (ser.inWaiting ()) If '\n' in buffer: Lines = buffer.split ('\n') last_received = lines [-2] Buffer = lines [-1] parse_nmea (last_received.strip ())
ser.close () Print "Port closed."
La función receiving lee carácter por carácter del puerto serial y
almacena los datos dentro de un "buffer", al encontrar un fin de línea ( \n )
envía la cadena leída hacia la función parse_nmea que se encargará de
procesar los parámetros incluidos en la cadena NMEA.
59
Programando datos de posicionamiento de nadador respecto a la piscina en arduino:
60
/******************************************** Program for reading possition from GPS* module via the softwareSerial** C. Oscar* Jun 2.015 Caracas*******************************************/
// include the SoftwareSerial library#include <SoftwareSerial.h>
// Constants#define rxPin 9NMEA#define txPin 8
// set up the serial port
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
// variablesbyte byteGPS = 0;int i = 0;int indices[13];int cont = 0;int conta = 0;
char inBuffer[300] = "";
int k = 0;
void setup(){
//setup for mySerial port pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); mySerial.begin(4800); //setup for Serial port Serial.begin(19200);
61
// setup the GPS module en la posicion de loteria 2, Bilbao Serial.println("Configurando GPS..."); delay(1000); mySerial.println("$PSTMNMEACONFIG,0,4800,1,1"); // configure NMEA sentences to show only GGA sentence delay(100); // command for setting time and position mySerial.println("$PSTMINITGPS,4315.280,N,0255.267,W,0016.0,24,01,2008,17,15,00");
// "4140.000,N" means: Latitude 41º40'00.0" North // "00053.000,W" means: Longitude 0º53'00.0" West // "0197" means 197 m elevation // "22,10,2007,11,40,00" means date and time (October 22, 2.007 - 11h 40min 00sec UTC time)}
void loop(){
byteGPS = 0; i = 0; while(byteGPS != 42){ // read the GGA sentence byteGPS = mySerial.read(); inBuffer[i]=byteGPS; i++; } k = 0; while(inBuffer[k] != 42){ Serial.print(inBuffer[k]); // write the GGA sentence k++; } Serial.println(); delay(3000);}
62
Programando el velocímetro en la plataforma Arduino:
Por lo general, un receptor GPS reporta su ubicación a un intervalo de
tiempo determinado. El GPS Venus está configurado de fábrica para que
reporte ubicaciones cada segundo.
En este proyecto existe el interés por calcular velocidades, esto puede
realizarse fácilmente conociendo el cambio en la ubicación del nadador
respecto a una unidad de tiempo, pero antes de realizar el cálculo es
necesario procesar la salida del GPS para obtener la información de
ubicación.
Los GPS reportan la ubicación calculada por medio de mensajes
NMEA, este es un protocolo estándar de comunicación que utiliza cadenas
simples de texto que resultan muy fáciles de procesar.
Para este proyecto se debe leer continuamente los datos del GPS
recibidos en el puerto serial hasta que se reciba una línea de texto que
comience con la secuencia "$GPGGA". Esta línea corresponde a los datos
que han sido "fijados" del sistema de posicionamiento global (Global
Positioning System Fix Data).
La velocidad, "distancia recorrida por unidad de tiempo". Esta
definición es más fácil de representar por medio de la siguiente fórmula:
El GPS lo único que hace es brindar la información de ubicación, así
63
que lo único que se debe hacer es calcular la distancia entre los dos puntos
obtenidos por el GPS y dividirlo entre el tiempo que ha transcurrido en
obtener esas dos posiciones.
Sin embargo hay que destacar que las coordenadas que brinda el
GPS están en grados y fracciones de minuto. Esto no sirve para calcular
directamente distancias en metros o en Kilómetros.
Calculando distancias a partir de dos coordenadas geográficas
Las coordenadas geográficas permiten ubicar un punto sobre un
elipsoide que se aproxima a la forma de la tierra. Si se trabaja con distancias
cortas (Una piscina), se puede asumir que la tierra es completamente
redonda y esto nos simplificará muchísimo los cálculos.
Para calcular la distancia se debe utilizar la fórmula de haversine que
está definida de la siguiente manera:
Donde φ es la latitud, λ es longitud y R es el radio de la tierra (radio
promedio= 6,371km), los valores de latitud y longitud deben estar en
radianes. Todas las funciones están disponibles en la biblioteca "math"
incluida en Python por lo que este cálculo se realiza de forma automática.
64
65