Home
desarrollo de un prototipo de ordenador para bicicleta de montaña
Contents
1. Componentes Precio u Arduino MEGA 2560 41 00 Placa Board 4 49 Pantalla TFT SPI 2 2 13 36 M dulo GPS MTK3339 31 10 Antena GPS con base m gnetica 10 80 Sensor de ritmo cardiaco 18 50 Sensor de temperatura y humedad DHT 11 4 50 Pulsadores 0 20 Resistencias 0 10 Cable m 0 60 TABLA 11 PRECIO UNITARIO COMPONENTES PRINCIPALES 2 2 EQUIPO Y HERRAMIENTAS Componentes Precio u Ordenador 620 00 Kit de Soldadura 11 50 Pol metro 39 90 Bater a 5200mAh 29 99 TABLA 12 PRECIO UNITARIO EQUIPOS Y HERRAMIENTAS 45 242 Universidad Pontificia Comillas Escuela Superior de Ingenieria ICAI lt oT BIKE E e 2 E Maran Desarrollo de un prototipo de ordenador para una bicicleta de monta a 2 3 SOFTWARE Programa Precio u Arduino IDE Libre Microsoft Visual Studio 800 00 2009 Microsoft Office 2007 101 18 KiCad Libre Sketchup Pro 378 00 TABLA 13 PRECIO LICENCIAS SW 2 4 MANO DE OBRA DIRECTA Actividad Precio u Programaci n 25 00 Pruebas y soluci n de problemas 60 00 Documentaci n del proyecto 42 00 TABLA 14 PRECIO UNITARIO MANO DE OBRA OP SADO E KS 5 C Mara 3 SUMAS PARCIALES Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desarrollo de un prototipo de ordenador para una bicicleta de monta a lt En este cap tul
2. gt c 00 m 41 FIGURA 19 COMPARACI N RUTAS PRUEBA El prototipo de ordenador de a bordo es capaz de operar en dos modos con o sin ruta precargada Interactuar con informaci n escogida por el usuario y f cilmente insertable con una tarjeta de memoria capabilitan a cualquier persona maniobrar con este producto A trav s de seis sencillos pulsadores el usuario gestiona la informaci n que desea mostrar sobre la ruta 31 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a FIGURA 20 PANTALLAS PRINCIPALES El usuario podr escoger entre tres pantallas como muestran las de la ruta probada en la Figura 20 En la pantalla de monitorizaci n se presentan valores num ricos sobre el estado del entrenamiento Como son la distancia recorrida o el desnivel acumulado Desde aqu se puede acceder a la tercera pantalla que expone el perfil de altitudes y la variaci n en las pulsaciones del corredor En la segunda se muestra la ruta a la que se superpone el tramo ya realizado Uno de los resultados obtenidos ha sido el programa que gestiona una ruta est ndar en formato GPX capaz de interpretar la sintaxis de este archivo y conseguir extraer la informaci n contenida El valor diferenciador lo a ade la posibilidad de poder personalizar las rutas con un plan de entrenamiento cardiaco Con la misma interfaz se consigue cumplir
3. Programaci n de menus e instrucciones Desarrollo del dibujo de mapas e lectura de archivo de extensi n gpx Tarea 3 Implantaci n del circuito Desarrollo de sujeci n del prototipo Tarea 4 E Pruebas y ensayos Tarea 5 Documentaci n 12 19825174 e Mara Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI lt SATBIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a ENERO FEBRERO MARZO ABRIL MAYO JUNIO JULIO 3 10 17 24 3 10 17 24 31 7 14 21 28 5 12 19 2612 16 23 30 7 14 TABLA 7 CRONOGRAMA 1 5 RECURSOS HERRAMIENTAS EMPLEADAS Los recursos empleados en este proyecto se pueden clasificar en hardware y software Hardware Arduino MEGA Pantalla 01 2 2SP 240 x 320 lector SD GPS MTK3339 Adafruit Antena GPS con base magn tica DHT11 Sensor de Temperatura Sensor ritmo cardiaco Pulse sensor Amped Componentes electr nicos resistencias cables pulsadores tarjeta etc Equipo de soldadura soldador esta o alicates pinza y desoldador Software Arduino IDE Visual Studio 2008 KiCad para dibujar el cableado SketchUp para el desarrollo 3D del soporte 13 14 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una b
4. Jelse minlon caracter cont_minlon 1 48 caracter cont_minlon 2 48 10 1 caracter cont_minlon 3 48 pow 10 2 caracter cont_minlon 4 48 10 3 caracter cont_minlon 5 48 pow 10 4 caracter cont_minlon 6 48 10 5 caracter cont_minlon 7 48 pow 10 6 caracter cont_minlon 8 48 10 7 tdist caracter dist 7 48 pow 10 4 caracter dist 8 48 pow 10 3 caracter dist 9 48 10 2 caracter dist 10 48 pow 10 1 caracter dist 11 48 i3 i2 for 1 0 1 lt 12 1 matriz_num i i a wpoint i matriz lat i caracter a 12 48 pow 10 1 caracter a 13 48 caracter a 15 48 pow 10 1 caracter a 16 48 pow 10 2 caracter a 17 48 10 3 caracter a 18 48 pow 10 4 caracter a 19 48 pow 10 5 caracter a 20 48 10 6 if caracter a 25 matriz_lon i 1 caracter a 26 48 caracter a 28 48 pow 10 1 caracter a 29 48 pow 10 2 caracter a 30 48 pow 10 3 caracter a 31 48 pow 10 4 caracter a 32 48 pow 10 5 caracter a 33 48 pow 10 6 else matriz lon i caracter a 26 48 caracter a 28 48 10 1 caracter a 29 48 pow 10 2 caracter a 30 48 pow 10 3 caracter a 31 48 pow 10 4 caracter a 32 48 pow 10 5 caracter a 33 48 10 6 matriz alt i caracter a 38 48 pow 10 3 caracter a 39
5. Muchas de sus aplicaciones se han orientado a la pr ctica y entrenamiento deportivo utilizando capacidades tales como la conexi n 3G o 4G a servidores de mapas el sistema de localizaci n GPS y la conexi n bluetooth opcional con dispositivos de medida de cadencia y frecuencia cardiaca Sin embargo a pesar de sus indudables capacidades los retos relativos a la duraci n de la bater a la cobertura y la robustez del dispositivo siguen buscando s lidas soluciones Se desea por ello disefiar y construir un dispositivo de bajo coste y bajo consumo que recibiendo la localizaci n a trav s de GPS y permitiendo la recepci n de sensores de la bicicleta o de medida de la frecuencia cardiaca del ciclista sirva para mejorar un entrenamiento deportivo Para ello el dispositivo tendr que ser capaz de precargar rutas con la peculiaridad de asociar unos objetivos de pulsaciones para el ejercicio Durante el transcurso de la ruta se deber monitorizar desde una pantalla la velocidad y la posici n adem s de facilitar medidas de tiempo 1 1 ESTUDIO DE LOS TRABAJOS EXISTENTES TECNOLOG AS EXISTENTES Para el dise o del dispositivo descrito en el apartado anterior es necesario escoger un microprocesador un dispositivo gps una pantalla y un sensor recpetor de frecuencia cardiaca Para la gesti n del ordenador de a bordo es necesario un microcontrolador Las operaciones necesarias no son excesivamente potentes y por eso un chip que tra
6. myGLCD fillRect 0 16 240 18 57 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a myGLCD fillRect 0 280 240 282 myGLCD print SATBike CENTER 0 myGLCD fillRect 30 40 210 70 myGLCD print Bienvenido CENTER 50 Hh if SD begin 53 No se ha conectado correctamente Jelset Lectura de archivos root SD open File entry root openNextFile i 1 arch 0 while entry entry root openNextFile i i l if SD exists SATB txt arch 1 myGLCD print RUTA CENTER 140 myGLCD print encontrada CENTER 165 if arch 1 myGLCD print NO RUTA CENTER 140 cant arch i i 1 puls 0 while 1 if GPS newNMEAreceived if GPS parse GPS lastNMEA this also sets the newNMEAreceived alse if timer gt millis timer millis if millis timer gt 1000 timer millis if GPS fix 0 myGLCD print SAT_OK CENTER 220 ct O Hh myGLCD printNumI GPS hour 2 10 295 myGLCD print 40 295 myGLCD printNumI GPS minute 55 295 myGLCD printNumI GPS day 97 295 myGLCD print 127 295 myGLCD printNumI GPS month 142 295 t dht readTemperature myGLCD printNumF t 1 170 295 Cierre archivo root close delay 50 Detector flanco EEPROM SD valor ant5 0 valor act5
7. 30 seconds 0 amp amp play if EEPROM isReady amp amp eeprom_ok true EEPROM writelnt 8 address 10 EEPROM writeFloat address latreal address address 4 65 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a float cDMinToDDeg GPS longitude i3 1 cDMinToDDeg GPS longitude EEPROM writeFloat address lonreal address address 4 if BPM gt 35 EEPROM writeInt address BPM jelse EEPROM writeInt address 35 address address 2 eeprom_ok false if eeprom ok false 56 seconds gt 5 amp amp seconds 10 seconds gt 35 amp amp seconds lt 40 ENTRA A CAMBIAR EL VALOR de CONTROL EEPROM eeprom_ok true Actualizaci n de while min display int minutes sec display int seconds if play punto Calcula_WPOINT float cDMinToDDeg GPS latitude myGLCD printNumI matriz_hr punto 125 216 if sec_display 10 0 myGLCD setFont BigFont drec HaversineM lat0 lon0 cDMinToDDeg GPS latitude drest distancia drec myGLCD printNumI drec 137 50 myGLCD printNumI drest 135 114 myGLCD printNumI desnivel 138 178 if min_display min_act min_act min_display if sec_display lt 10 myGLCD print 0 54 246 myGLCD printNumI sec_display 70 246 else myGLCD printNumI sec_display 55 246 if min_dis
8. 48 10 2 caracter a 40 48 10 1 caracter a 41 48 matriz hr i l caracter a 44 48 pow 10 2 caracter a 45 48 10 1 46 48 Fin if archivo if play Opcion de dibujar por defecto for i 2 i lt address 10 1 i e M readFloat 10 i 1 lon_ee E M readFloat 10 i 1 4 M readFloat 10 i 10 1 4 r 0 255 255 myGLCD drawLine 5 lon_ee minlon maxlon minlon factx 30 maxlat lat 2 2 5 lon 2 maxlon minlon factx 30 maxlat lat 2 m facty setColor 255 255 255 VERI Serial ial ial Serial Serial if maxlon lt 0 myGLCD fillRect 5 matriz_lon 0 minlon maxlon minlon factx 3 30 maxlat matriz_lat 0 maxlat minlat facty 3 5 matriz_lon 0 minlon maxlon minlon factx 3 30 maxlat matriz lat 0 maxlat minlat facty 3 myGLCD fillCircle 5 matriz lon i2 1 minlon maxlon minlon factx 30 maxlat matriz lat i2 1 maxlat minlat facty 3 for i 1 i lt i2 i myGLCD drawLine 5 matriz_lon i 1 minlon maxlon minlon factx 30 maxlat matriz lat i 1 maxlat minlat facty 5 matriz lon i minlon maxlon minlon factx 30 maxlat matriz lat i maxlat minlat facty jelsel 61 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de u
9. amp numero i 0 ElseIf numero i 0 lt 1000 Then FileWriter WriteLine WAYpoint amp numero i 0 End If If Math Round numero i 1 8 Math Round numero i 1 7 0 Then FileWriter WriteLine Math Round numero i 1 8 amp 0 Else FileWriter WriteLine Math Round numero i 1 8 End If If Math Round numero i 2 8 0 Then If Math Round numero i 2 8 Math Round numero i 2 7 0 Then FileWriter WriteLine O amp Math Round numero i 2 8 O Else FileWriter WriteLine 0 amp Math Round numero i 2 8 End If Else If Math Round numero i 2 8 Math Round numero i 2 7 0 Then FileWriter WriteLine Math Round numero i 2 8 amp 0 Else FileWriter WriteLine Math Round numero i 2 8 End If End If If numero i 3 10 Then FileWriter WriteLine 000 amp numero i 3 ElseIf numero i 3 100 Then FileWriter WriteLine 00 amp numero i 3 ElseIf numero i 3 lt 1000 Then FileWriter WriteLine O amp numero i 3 Else FileWriter WriteLine numero i 3 End If If numero i 4 10 Then FileWriter WriteLine 00 amp numero i 4 ElseIf numero i 4 100 Then FileWriter WriteLine O amp numero i 4 ElseIf numero i 4 1000 Then FileWriter WriteLine numero i 4 End If Next FileWriter Close End If End Sub Funcion Maximo Parametros double valores int column Devuelve double max valor Comentarios Calcula el m
10. jelsef if i address 10 jelsef myGLCD setColor 0 255 255 Serial println EEEEEEEEntrAAAAAAA hechol 240 dist i 1 distancia hechoa 205 float EEPROM readInt 18 10 i 1 35 185 205 20 hecho2 240 dist i distancia hechob 205 float EEPROM readInt 18 10 i 35 185 205 20 Serial printin hechoa Serial printin hechob myGLCD drawLine hechol hechoa hecho2 hechob Serial println hechol Serial println hecho2 myGLCD setColor 255 255 255 valor_ant6 valor_act6 if digitalRead boton 4 myGLCD clrScr myGLCD setColor 255 0 0 myGLCD fillRect 0 0 240 16 myGLCD fillRect 0 20 118 80 myGLCD fillRect 0 84 118 144 myGLCD fillRect 0 148 118 212 myGLCD fillRect 0 216 118 276 myGLCD fillRect 122 20 240 80 myGLCD fillRect 122 84 240 144 myGLCD fillRect 122 148 240 212 myGLCD setColor 255 255 255 myGLCD fillRect 0 16 240 18 myGLCD setFont BigFont myGLCD print MONITORIZACION CENTER 0 myGLCD setFont SmallFont myGLCD print ALTITUD 20 30 myGLCD print VELOCIDAD 20 94 myGLCD print HORA 20 158 myGLCD print TIEMPO 20 226 myGLCD print D RECORRIDA 137 30 myGLCD print D A META 142 94 myGLCD print DESNIVEL 142 158 myGLCD print km h 30 114 myGLCD print m 185 114 myGLCD setFont BigFont myGLCD print m 185 50 69 Universidad Pontificia Comillas Escuela Superior de In
11. amp e Linea fin archivo chequeosalida linea Contains amp amp g amp p If chequeol Then matriz cant 0 cant numero cant 0 cant num ini InStr linea lt num chal InStr linea 1 num_chqlb InStrRev linea 1 2 num 2 InStrRev linea 41 num chq2b InStrRev linea gt 2 VALORES LATITUD matriz cant 1 linea Remove 0 num 1 Remove num_chqlb num chal num chq2b num 3 Replace numero cant 1 Double Parse matriz cant 1 NumberStyles Float VALORES LONGITUD matriz cant 2 linea Remove 0 num 2 Remove num chq2b num 2 Replace numero cant 2 Double Parse matriz cant 2 NumberStyles Float End If VALORES ELEVACI N If chequeo3 Then num ini ele InStr linea lt num chq3 InStr linea num chq3b InStrRev linea 1 num fin ele InStr linea matriz cant 3 linea Remove 0 num chq3 Remove num chq3b num chq3 Replace If matriz cant 3 lt gt Then numero cant 3 Double Parse matriz cant 3 style Else 75 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a numero cant 3 0 End If cant cant 4 1 End If End While FileReader Close INICIALIZACIONES GRAFICA Chartl Series Clear Chartl Series Add Recorrido Chart1
12. Garmin y Suunto desde el ordenador A trav s de una antena USB y la interfaz ANTware que se muestra la Figura 4 se enviaron las tramas necesarias para establecer los par metros que crean la red y permiten comunicar a los dispositivos 19 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI BIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a Tools Log Files Profiles Settings SANT ALITER channels Refresh MFTO Channeli Channel 2 Channel3 Channel4 Channel 5 Channel6 Channel 7 Device w Device A Channel 0 10 65298 120 1 REUEIVEU DKUAUCASI UXaE USB 0 Baud 57 6k 4e 00 04 1B 8A 45 3 SN 1351801393 Mandatory Channel Setup Received BROADCAST DATA Max ANT Channels 8 4e 00 82 01 05 00 7 3 Max Networks 3 Channel ID Received BROADCAST DATA 0 4 Release 4e 00 04 1B A7 49 CC 4D 99 3B o 120 0 Received BROADCAST_DATA_0x4E 4e 00 84 1B CC 4D BE 51 9A 3B ee nen Do z Received BROADCAST DATA 4e 00 04 1B BE 51 C3 55 9B 3B 0 Received BROADCAST DATA 0x Device Type 4e 00 8 Received BROADCAST Clear More 7 Scroll to New Msgs 4e 00 04 1A CD Trans Type Received BROADCAST DATA 4e 00 84 1B A9 Mentel cic Ade Received BROADCAST Pairing 4e 00 04 1C C9 Received BROADCAST DATA 0x4E _ Set ID 4e 00 84 1A 20 66 74 SetNetworkKey onNet 0 Received BR
13. Series Recorrido Points Clear Chartl Series Recorrido ChartType DataVisualization Charting SeriesChartType Line Chartl Series Recorrido Color Color DarkRed Chartl Series Add Freq HR Chartl Series Freq HR Points Clear Chartl Series Freq HR ChartType DataVisualization Charting SeriesChartType Line Chartl Series Freq HR Color Color Green Calculo distancia entre puntos de RUTA distancia 0 For i 0 To cant L Llamada la FUNCION HAVERSINE delta dist 1000D HaversineInKM numero i 1 numero i 2 numero i 1 1 numero i 1 2 distancia distancia delta dist Redondeo de 1 distancia a 1 unidad grafica i 1 0 Math Round distancia 0 grafica i 1 numero i 3 Chartl Series Recorrido Points AddXY grafica i 0 grafica i 1 Comienza con el eje secundario Chartl Series Freq HR Points AddXY grafica i 0 0 Next EJE X Chart1 ChartAreas 0 AxisX Minimum 0 Ajusta el intervalo de x en 10 redondeando intervalox grafica cant 2 0 10 intervalox Math Round intervalox 0 01 100 Chartl ChartAreas 0 AxisX Interval intervalox Chartl ChartAreas 0 AxisX Title Distancia m EJE Y Chartl Series Freq HR YAxisType DataVisualization Charting AxisType Secondary Chartl ChartAreas 0 AxisY Title Elevaci n m Chartl ChartAreas 0 AxisY2 Title Heart Rate ppm Chartl ChartAreas 0 AxisY2 MajorGrid Enabled False Chart1 ChartAreas 0 A
14. a SOR PULSO InterruptSetupBMP Prepara el timer para 2ms TEMP dht begin BOTONES pinMode boton_1 INPUT pinMode boton_2 INPUT pinMode boton_3 INPUT pinMode boton_4 INPUT pinMode boton_5 INPUT pinMode boton_6 INPUT CRONOMETRO reset chrono config chrono K k k k k k k k k k k k k k k k k k kk LOOP ok ck k k k k k Kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k K void loop if ini 1 ruta PANT_INICIAL 0 ini 0 Detector flanco B1 valor_ant 0 valor act digitalRead boton 1 if valor ant valor act amp amp valor act HIGH estado estado 1 valor_ant valor_act if ruta switch estado case 0 NO OC NADA break case 1 distancia PANT RUTA 0 break case 2 PANT MONITOR distancia estado 0 break jelse PANT MONITOR sinR k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k KKK Funci n PANT INICIAL xxx Parametros int estado Devuelve boolean arch 5 Inicia el sistema Comentarios y discrimina modo ruta o libre Comprueba el estado de Da la opcion de acceder a SD REALIZADO kkkh k k k k k k k k k k k k k k k k k x boolean PANT_INICIAL int estado boolean arch int cant arch puls float t myGLCD setFont BigFont myGLCD fillScr 255 0 0 myGLCD setColor 255 255 255
15. al autor en supuestos suficientemente justificados o en caso de reclamaciones de terceros Madrid a 22 de julio de 2014 ACEPTA Proyecto realizado por el alumno igo Fern ndez de Araoz Garc a Mi aur FOO ais Fecha Autorizada la entrega del proyecto cuya informaci n no es de car cter confidencial LOS DIRECTORES DEL PROYECTO Prof Dr Antonio Mufioz San Roque FAO Fecha Prof Dr Jos Villar Collado sio o Sp AN RE Fecha V B DEL COORDINADOR DE PROYECTOS Prof Dr lvaro S nchez Miralles FAO Fecha Universidad Pontificia Comillas Escuela Superior de Ingenier a Comillas ICAI Memoria descriptiva del proyecto fin de grado en Ingenier a Electromec nica electr nica DESARROLLO DE UN PROTOTIPO DE ORDENADOR PARA BICICLETA DE MONTANA DIRIGIDO POR ANTONIO MUNOZ SAN ROQUE amp JOS VILLAR COLLADO INIGO FERN NDEZ DE ARAOZ GARC A MINAUR 10 DESARROLLO DE UN PROTOTIPO DE ORDENADOR PARA UNA BICICLETA DE MONTANA RESUMEN 1 INTRODUCCI N La evoluci n de los tel fonos m viles en los ltimos a os ha mostrado unos ratios de penetraci n y crecimiento muy superiores a los que experimentaron otras tecnolog as disruptivas y otros productos innovadores de gran consumo Los smartphones ya son mini ordenadores que incluyen bibliotecas de m sica potentes c maras GPS con mapas detallados ag
16. ambos objetivos El dise o de sujeci n actual es lo suficientemente r gido para aguantar los movimientos de una bicicleta de monta a pero al reducir el tama o mejorar en este aspecto 32 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desarrollo de un prototipo de ordenador para una bicicleta de monta a 6 CONCLUSIONES Pese a la infinidad de aplicaciones de m vil que ofrecen los servicios aqu descritos los deportistas de hoy quieren aparatos exclusivos m s personalizables de menor consumo m s ergon micos y con mayor precisi n En este proyecto se ha realizado un prototipo que con la personalizacion de rutas a ade valor a las ciclocomputadoras corrientes El tama o es grande como se muestra en la Figura 21 no obstante con las funcionalidades conseguidas reducir las dimensiones de los componentes es tarea pendiente para el segundo prototipo FIGURA 21 SIMULACI N 3D DEL PROTOTIPO Por ejemplo el sensor de frecuencia cardiaca resulta algo inc modo Su uso enganchado al dedo con los movimientos de una bicicleta de monta a hace que la medida sea imprecisa Una alternativa es incorporar el sensor a la parte frontal de un casco ya existe alg n sensor colocado aqu con resultados positivos El hecho de que la pantalla tarde demasiado tiempo en realizar las transiciones o realizar un dise o m s compacto al actual Figura 21 con la fabricaci n de una tarjeta con el circuito impr
17. de ah se muestra la informaci n de cada punto de paso en el siguiente orden latitud longitud altura y frecuencia cardiaca asociada En la Figura 18 se presenta la interfaz de la aplicaci n Informaci n del Wayport Wayport 12 36 278334447 kn 5 313961771465116 ele 72m Jude aw roy FIGURA 18 INTERFAZ SAT RUTAS 30 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a 5 RESULTADOS Tras las pruebas en campo con rutas de distintos tipos se han obtenido resultados satisfactorios La operabilidad de este dispositivo es suficientemente potente para deportistas centrados en el ciclismo Su bajo consumo hace posible trabajar m s de 8 horas a pleno rendimiento y su precisi n permite extraer valores para su posterior an lisis error de posici n inferior a los 10m Se ha recorrido una ruta de 1 2km y en la Figura 19 se comparan la ruta prevista y la realizada En la parte de la izquierda se presenta el dise o de la ruta creada formato GPX En la derecha aparecen los marcadores que han sido obtenidos recogiendo la EEPROM en la tarjeta de memoria alejo E ej Embajada dt en Qc del la Republica Estado d Kuwait de Polonia m 2 oje SOUI soye 2 Y m A 2 Y 2 KA f 2 D KS no A 2 9 E L tF
18. de monta a 1 3 OBJETIVOS DEL PROYECTO El objetivo final de este proyecto es el desarrollo de un sistema de ordenador de a bordo para bicicletas de monta a que cumpla los siguientes requisitos a El sistema ha de ser capaz de cargar un fichero con el recorrido de la ruta con la formato gpx b El sistema permitir programar el perfil de frecuencia card aca que se desea para el entrenamiento c El sistema dispondr de un interfaz para la monitorizaci n de la actividad durante la marcha que muestre la siguiente informaci n e Posicionamiento GPS y localizaci n en mapa Medidas sobre el estado f sico del deportista e Medida en tiempo real de la distancia recorrida y la velocidad de crucero 1 4 PLAN DE TRABAJO El proyecto se ha ido realizando desde lo m s importante como la pantalla y el GPS hasta incorporar los detalles m s simples Uno de los puntos a favor del desarrollo de este proyecto es que con la conexi n de los primeros perif ricos el equipo adquiere funcionalidad Tras esto se trata de perfeccionar cada conexi n y hacerlo f cilmente accesible para el usuario Un trabajo que se va modificando seg n se prueban las herramientas con el prototipo El plan de trabajo realizado incluye las siguientes tareas Tarea 1 Dise o del sistema Diciembre 2013 Detalle y pedido de los componentes Conexionado de los m dulos principales Tarea 2 Programaci n Unificaci n de c digo de los m dulos
19. digitalRead boton 5 if valor ant5 valor act5 amp amp valor act5 HIGH SD REALIZADO valor_ant5 valor_act5 Poder acceder a otras pantallas if digitalRead boton 1 break Devuelve indicador ruta return arch 58 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a K Kk Kk K K K K K K K K K K Kk K HH k k k k k k k x Funci n PANT_RUTA Parametros int estado Devuelve float tdist Comentarios Dibuja la ruta ER Posi a al usuario BER Opci n de mostrar el trayecto efectuado k k k k k k k k k k k k k Kk k k k k k Kk k k k k k k Kk k k k k k k k x Factores de escala para el dibujo define factx 220 define facty 285 float PANT RUTA int estado char caracter 2000 boolean menosmax 1 menosmin 1 menos int maxval a dist int contini i i2 coma Permite dibujar la posicion instantanea float pos 1 float maxlat minlat maxlon minlon tdist float lat ee lon ee lat ee2 lon ee2 int cont maxlat cont minlat cont maxlon cont minlon int cont c maxlat cont c minlat cont c maxlon cont c minlon Inicializaciones coma 0 0 12 0 contini 0 myGLCD clrScr myGLCD setColor 255 0 0 myGLCD fillRect 0 0 240 16 myGLCD setFont BigFont myGLCD setColor 255 255 255 myGLCD fillRect 0 16 240 18 myGLCD
20. disruptive technologies Smartphones today are mini computers with incredible libraries that include music powerful cameras GPS with detailed maps agendas with full functionalities etc Many applications have been aimed to the sports training and competing Use facilities such as 3G or connection to maps servers GPS location technologies and optional b uetooth connection to devices that measure cadence and heart rate However despite its undoubted capabilities challenges related to battery life broadband coverage and robustness of the device are still looking for solid solutions The idea is to design and build a low cost device working on low power consumption mode Able to receive the location through GPS and other information related with the bike and sportsmen throughout sensors This project will help complete a training performance The device must be able to preload customized routes with heart pulse objectives for the track Monitor in the screen speed position and time measures will be necessary too 2 OBJECTIVES The ultimate goal of this project is to develop an on board computer system for mountain bikes that meets the following requirements a The system must be able to upload a file with the path of the route in the standard GPX format b Customize the user s desired heart rate training profile c The device will have an interface for monitoring activity where during exercise the following info
21. la tarjeta de memoria que tendr el FIGURA 13 INICIO En color blanco dibuja mediante rectas la propuesta de ruta fijada Adem s se ala con un cuadrado la posici n en tiempo real del dispositivo Una vez que la ruta se ha comenzado a desarrollar iniciando el cronometro se podr pulsar el bot n 5 que mostrar en azul el recorrido realizado Pantalla monitorizaci n FIGURA 14 RUTA Los valores num ricos se exponen aqu El cron metro se gestiona exclusivamente desde esta pantalla y permite pausar y detener aquellas medidas de tiempo informaci n que se muestra con sus unidades es Altitud m Velocidad instant nea km h Distancia recorrida m Distancia a meta m La 27 Universidad Pontificia Comillas Escuela Superior de Ingenier a Desarrollo de un prototipo de ordenador para una bicicleta de monta a Tam MONITORIZACI N Tiempo m pulsaciones por minuto fijadas 15862 m pulsaciones por minuto reales Temperatura C Identificador de la calidad del GPS d Pantalla HRM FIGURA 15 MONITORIZACI N A esta pantalla se accede pulsando el bot n 4 en el estado monitorizaci n en un gr fico la evoluci n de frecuencia card aca prefijada a lo largo de la ruta mientras tambi n se muestra el perfil de altitudes Se incorporan ejes a 50 100 y 150 pulsaciones por minuto Como en la pantalla ruta el usuar
22. pixeles hasta completar la matriz Todo esto transcurre algo lento para funcionalidades deportivas pero el compacto disefio y el precio del m dulo eran atractivos respecto a otros competidores La librer a utilizada ha tenido un papel fundamental para el disefio de las pantallas Esta desarrollada por Henning Karlsen hace posible escoger el tamafio de la fuente el color la posici n o dibujar formas El m dulo de inserci n de la tarjeta de memoria flash acepta el formato SD de cualquier capacidad Para la conexi n se utilizan cuatro pines est ndar CS MOSI MISO y SCK que son capaces de leer y escribir archivos La alimentaci n de los dos dispositivos del m dulo es conjunta Pese a trabajar con niveles l gicos de 3 3V el Arduino env a las tramas y a trav s de un divisor de tensi n se reducen los niveles digitales para que puedan ser interpretados por el m dulo 2 3 RECEPTOR GPS La recepci n de se ales de posici n puede obtenerse mediante diferentes protocolos El m dulo desarrollado por Adafruit se basa en un receptor GPS de la marca Mediatek ste env a datos en formato NMEA y espera respuesta por parte del sat lite cada paquete de informaci n se reciben tramas que incluyen fecha y hora GMT latitud y longitud velocidad instant nea altura sobre el nivel del mar y detalles sobre la calidad de la se al sat lites activos algoritmos de correcci n etc En la siguiente tabla se describe como ejempl
23. porcentaje o absoluto Private Sub PorcentajeTICK CheckedChanged ByVal sender As System Object ByVal e As System EventArgs Handles PorcentajeTICK CheckedChanged Asig HRM Maximum 250 If PorcentajeTICK Checked Then Asig HRM Maximum 100 End If End Sub Subrutina Btn Asignar Click Comentarios Introduce el valor de pulsaciones planeado en la matriz numero Afiade en el gr fico el valor asignado en color verde Incorpora al texto el valor asignado Private Sub Btn Asignar Click ByVal sender As System Object ByVal e As System EventArgs Handles Btn Asignar Click If PorcentajeTICK Checked Then numero Num CHK Value 4 Asig HRM Value 100 MAXporc Value Else numero Num CHK Value 4 Asig HRM Value End If Chartl Series Freq HR Points Clear Dibujar matriz Num CHK Value If numero 0 4 O Then Else Chartl Series Freq HR Points AddXY 0 0 End If For i 0 To cant 1 If numero i 4 lt gt 0 Then Chartl Series Freq HR Points AddXY grafica i 0 numero i 4 End If Next End Sub Subrutina Btn Save Click Comentarios Genera el archivo de salida imprimiendo los valores Abre el directorio con el nombre de defecto SATB txt Permite guardar el archivo en la carpeta escogida Private Sub Btn Save Click ByVal sender As System Object ByVal e As System EventArgs Handles Btn Save Click GENERA el archivo de texto salida Dim maxlon minlon diez As Double Dim FileWriter As StreamWriter Dim results As D
24. print RUTA CENTER 0 archivo SD open SATB txt FILE READ if archivo Si existe while archivo available caracter i archivo read if caracter il amp amp contini 0 cont maxlat i contini continitl caracter i archivo read if caracter i amp amp coma 0 cont_c_maxlat i coma 1 caracter i archivo read if caracter i amp amp contini 1 cont_minlat i contini continitl caracter i archivo read if caracter i amp amp coma 1 cont_c_minlat i coma 2 caracter i archivo read if 1 amp amp contini 2 cont maxlon i contini continitl caracter i archivo read if caracter i s5 amp amp coma 2 cont_c_maxlon i coma 3 59 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a caracter i archivo read if caracter i amp amp contini 3 cont minlon i contini continitl caracter i archivo read if caracter i ss amp amp coma 3 cont_c_minlon i coma 4 caracter i archivo read if caracter i T dist i if caracter i W wpoint i2 i i2 caracter i archivo read i Cierra el archivo archivo close maxval i if cont c maxlat cont maxlat 2 maxlat caracter cont maxlat 48 pow 10 1 caract
25. println if BPM gt 35 EEPROM writeInt address BPM jelsef EEPROM writeInt address 35 address address 2 eeprom_ok false if eeprom ok false amp amp seconds gt 5 amp amp seconds lt 10 seconds gt 35 amp amp seconds lt 40 Entra a cambiar el valor de control de la EEPROM eeprom_ok true valor_ant6 0 valor_act6 digitalRead boton_6 if valor_ant6 valor act6 amp amp valor act6 HIGH DIBUJA LO QUE LLEVO for i 2 i lt address 10 1 i if address 10 jelse lat ee EEPROM readFloat 10 i 1 lon_ee EEPROM readFloat 10 i 1 4 lat_ee2 EEPROM readFloat 10 i lon ee2 EEPROM readFloat 10 i 4 myGLCD setColor 255 0 0 myGLCD drawLine 5 lon_ee minlon maxlon minlon factx 30 maxlat lat maxlat minlat facty 5 lon_ee2 minlon maxlon minlon factx 30 maxlat lat ee2 maxlat minlat facty myGLCD setColor 255 255 255 valor ant6 valor act6 if digitalRead boton 1 break return tdist Tk qes qes k upa kk EES ESSE SESS SSE X d m dom TREE ER Funci n PANT MONITOR Parametros Devuelve kkk Co float distancia mentarios Obteniendo la distancia hace las funciones BOE cibir BER sti n del cron metro xxx RB rono r cepcion de sensores Ve Re V Re Ve Re Ve Ve Ve Ve Ve Ve de Ve Ve Ve Ve Ve de Ve Ve Ve Ve Re Ve Ve Ve sk Ve Ve R
26. puedan formular terceras personas en relaci n con la obra y en particular de reclamaciones relativas a los derechos de propiedad intelectual sobre ella 59 Deberes del autor El autor se compromete a a Garantizar que el compromiso que adquiere mediante el presente escrito no infringe ning n derecho de terceros ya sean de propiedad industrial intelectual o cualquier otro 2 En el supuesto de que el autor opte por el acceso restringido este apartado quedar a redactado en los siguientes t rminos c Comunicarla y ponerla a disposici n del p blico a trav s de un archivo institucional accesible de modo restringido en los t rminos previstos en el Reglamento del Repositorio Institucional 3 En el supuesto de que el autor opte por el acceso restringido este apartado quedar a eliminado b Garantizar que el contenido de las obras no atenta contra los derechos al honor a la intimidad y a la imagen de terceros Asumir toda reclamaci n o responsabilidad incluyendo las indemnizaciones por dafios que pudieran ejercitarse contra la Universidad por terceros que vieran infringidos sus derechos e intereses a causa de la cesi n d Asumir la responsabilidad en el caso de que las instituciones fueran condenadas por infracci n de derechos derivada de las obras objeto de la cesi n 6 Fines y funcionamiento del Repositorio Institucional La obra se pondr a disposici n de los usuarios para que hagan de ella un
27. puede ser necesario la instalaci n de unos controles Estos hacen posible la obtenci n de una gr fica para la exposici n de valores Concretamente se trata del Microsoft Chart Control para Microsoft NET Framework 3 5 Este se puede descargar de forma gratuita en la p gina web http www microsoft com es ES download details aspx id 14422 1 2 INTERFAZ Ruta Ejemplo GPX gpx Informaci n del Waypoint Waypoint 12 lat 36 278334447165896 lon 5 313981771469116 ele 72m HR 190 Distancia recorrida 2847m udaj arua 1500 2000 2500 3000 3500 4000 Distancia m FIGURA 22 PARTES INTERFAZ SAT RUTAS 51 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI lt AT BIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a 1 3 FUNCIONAMIENTO 1 Cargar ruta Permite buscar en el directorio la ruta en extensi n gpx 2 Guardar Exporta en formato texto los par metros de la ruta La ruta se deber guardar bajo el nombre SATB txt 3 Nombre de la ruta en estudio 4 Informaci n de Waypoint En esta ventana de texto se exponen los datos de cada punto que forma la ruta Latitud Longitud Elevaci n Frecuencia card aca asignada Distancia 5 Selector Waypoint Con este selector se puede escoger el punto determinado para estudiar el recorrido 6 Asignar HR Con el valor introducido en el
28. uso justo y respetuoso con los derechos del autor seg n lo permitido por la legislaci n aplicable y con fines de estudio investigaci n o cualquier otro fin l cito Con dicha finalidad la Universidad asume los siguientes deberes y se reserva las siguientes facultades a Deberes del repositorio Institucional La Universidad informar a los usuarios del archivo sobre los usos permitidos y no garantiza ni asume responsabilidad alguna por otras formas en que los usuarios hagan un uso posterior de las obras no conforme con la legislaci n vigente El uso posterior m s all de la copia privada requerir que se cite la fuente y se reconozca la autor a que no se obtenga beneficio comercial y que no se realicen obras derivadas La Universidad no revisar el contenido de las obras que en todo caso permanecer bajo la responsabilidad exclusiva del autor y no estar obligada a ejercitar acciones legales en nombre del autor en el supuesto de infracciones a derechos de propiedad intelectual derivados del dep sito y archivo de las obras El autor renuncia a cualquier reclamaci n frente a la Universidad por las formas no ajustadas a la legislaci n vigente en que los usuarios hagan uso de las obras La Universidad adoptar las medidas necesarias para la preservaci n de la obra en un futuro b Derechos que se reserva el Repositorio institucional respecto de las obras en l registradas Retirar la obra previa notificaci n
29. valores empiezan a aparecer en pantalla dispuesta como muestra la Figura 11 Cada 30s se muestrea para guardar en la memoria no vol til las coordenadas y la pulsaci n asociada al punto de paso 3 1 1 MODO RUTA Introducido un itinerario en la tarjeta de memoria aparece en pantalla el mensaje Ruta encontrada Desde aqu el dispositivo comienza a trabajar con funcionalidad plena El c digo est preparado para trabajar con rutas que contengan coordenadas en toda Europa y parte de frica y Asia concretamente en el sector que se muestra en la Figura 12 La distancia de la ruta tampoco es problema pues el algoritmo de escala se adecua al tama o de la pantalla mostrando la totalidad del recorrido obviamente con menos detalle 26 Universidad Pontificia Comillas Escuela Superior de Ingenier a Desarrollo de un prototipo de ordenador para una bicicleta de monta a e 20 10 0 10 20 30 40 509 80 70 80 90 10091109 12091309 140 150 160 170 180 SO N FIGURA 12 MAPA FUNCIONALIDAD RUTAS El usuario tendr la opci n de visualizar 4 pantallas a Pantalla inicio Da la bienvenida al usuario le informa de la calidad de la sefal nombre de la fecha en la que se realizo el camino b Pantalla ruta de posicionamiento muestra la fecha y hora actual expone la temperatura y diferencia entre modo libre o ruta Adem s desde este estado se podr n transferir los datos a un archivo en
30. 1 150 800 800 2096 30 00 2009 Microsoft i 1 200 2000 101 18 20 2 02 Office 2007 KiCad 1 50 60 0 0 Sketchup Pro 1 50 200 378 00 20 18 90 TOTAL 50 92 TABLA 17 SUMAS PARCIALES SW 3 4 MANO DE OBRA DIRECTA H Precio Coste total Actividad lt Programaci n 400 25 00 10 000 00 Pruebas y soluci n de problemas 120 60 00 7 200 00 Documentaci n del proyecto 100 42 00 4 200 00 TOTAL 21 400 00 TABLA 18 SUMAS PARCIALES MANO DE OBRA DIRECTA 48 LA i mer SAT 242 Universidad Pontificia Comillas Escuela Superior de Ingenier a EM BIKE Re eS Desarrollo de un prototipo de ordenador para una bicicleta de monta a 4 PRESUPUESTO GENERAL Sumando la contribuci n de todas las categor as anteriores se concluye que el coste del proyecto impuestos incluidos asciende a Concepto Coste Componentes principales 129 65 Equipo y herramientas 49 00 Software 50 92 Mano de obra directa 21 400 00 TOTAL 21 629 57 TABLA 19 PRESUPUESTO GENERAL 49 50 IV MANUAL DE USUARIO 1 GESTI N DE RUTA El programa desarrollado para este proyecto tiene como dos objetivos principales a Introducci n de metas para el entrenamiento en valores de frecuencia card aca b Obtener los datos de una ruta para optimizar la lectura del archivo por parte del microcontrolador 1 1 INSTALACI N Para poder ejecutar este programa a partir de ahora SAT bike exe
31. 17 Sumas parciales Mi cete pides eel geboten b Q ugnu qusa 48 Tabla 18 Sumas parciales mano de obra 48 Tabla 19 Presupuesto general eerte nte tette 49 BPM CS EEPROM FDM GMT GPS GPX HRM FE ICT IDE LCD LED MISO MOSI NMEA RS RST SCK SCL SD SDA SPI SRAM TFT USB LISTA DE ABREVIATURAS BEATS PER MINUTE CHIP SELECT ELECTRICALLY ERASABLE PROGRAMMABLE READ ONLY MEMORY FUSED DEPOSITION MODELING GREENWICH MEAN TIME GLOBAL POSITIONING SYSTEM GPS EXCHANGE FORMAT HEART RATE MONITOR INTER INTEGRATED CIRCUIT INFORMATION AND COMMUNICATIONS TECHNOLOGY INTEGRATED DEVELOPMENT ENVIRONMENT LIQUID CRYSTAL DISPLAY LIGHT EMITTING DIODE MASTER INPUT SLAVE OUTPUT MASTER OUTPUT SERIAL INPUT NATIONAL MARINE ELECTRONICS ASSOCIATION RESET SERIAL CLOCK SECURE DIGITAL SERIAL DATA SERIAL PRIPHERAL INTERFACE STATIC RANDOM ACCESS MEMORY THIN FILM TRANSISTOR UNIVERSAL SERIAL BUS MEMORIA 1 INTRODUCCI N La evoluci n de los tel fonos m viles en los ltimos a os ha mostrado unos ratios de penetraci n y crecimiento muy superiores a los que experimentaron otras tecnolog as disruptivas y otros productos innovadores de gran consumo Los smartphones ya son mini ordenadores que incluyen bibliotecas de m sica potentes c maras GPS con mapas detallados agendas con completas funcionalidades etc
32. 22 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a Soporte superior Tarjeta SD Sensor temperatura Pantalla Receptor GPS GAA Pulsadores Clemas Tarjeta prototipado M dulo Arduino MEGA L Soporte inferior FIGURA 9 DETALLE EXPLOSIONADO PROTOTIPO Su fabricaci n se ha llevado a cabo con la tecnolog a de fabricaci n FDM Modelado por Deposici n Fundida La impresi n 3D como es conocida esta t cnica obtiene buena definici n 100um en un corto periodo de tiempo tiempo de impresi n de ambas partes 12h 23 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a 3 SATBIKE Se denomina SATBIKE al prototipo de ordenador de a bordo realizado Se encuentra montado en la bicicleta y desde ahi interact a con el deportista Aqu se describir el funcionamiento general del sistema las variables que permiten realizar las transiciones en la pantalla mientras se recogen las diferentes medidas de los sensores 3 1 DIAGRAMA DE ESTADOS El sistema est preparado para trabajar en dos versiones siguiendo una ruta anteriormente preestablecida en modo libre es decir sin ruta a seguir simplemente recogiendo valores instant neos del trayecto realizado Tras encender el dispositivo se expone un mensaje que pres
33. 22 25 25 29 29 30 31 33 35 35 35 37 39 PRESUPUESTO 1 MEDICIONES 1 1 COMPONENTES PRINCIPALES 1 2 EQUIPO Y HERRAMIENTAS 1 3 SOFTWARE 1 4 MANO DE OBRA DIRECTA 2 PRECIOS UNITARIOS 2 1 COMPONENTES PRINCIPALES 2 2 EQUIPO Y HERRAMIENTAS 2 3 SOFTWARE 2 4 MANO DE OBRA DIRECTA 3 SUMAS PARCIALES 3 1 COMPONENTES PRINCIPALES 3 2 EQUIPO Y HERRAMIENTAS 3 3 SOFTWARE 3 4 MANO DE OBRA DIRECTA 4 PRESUPUESTO GENERAL IV MANUAL DE USUARIO 1 GESTI N DE RUTA 1 1 INSTALACI N 1 2 INTERFAZ 1 3 FUNCIONAMIENTO 2 EMPLEO DE SATBIKE 2 1 PANTALLA INICIAL 2 2 PANTALLA RUTA 2 3 PANTALLA MONITORIZACI N MON 2 4 PANTALLA HRM 2 5 PANTALLA MONITORIZACI N SIN RUTA MON SR V C DIGO 43 43 43 44 44 44 45 45 45 46 46 47 47 47 48 48 49 51 51 51 51 52 53 53 53 53 54 54 55 1 SATBIKE INO 2 SAT RUTAS VB HOJAS DE CARACTER STICAS Y LIBRER AS 1 HOJAS DE CARACTER STICAS 2 LIBRER AS 55 74 81 81 81 NDICE DE FIGURAS Figura 1 Ordenador de a borao eene tenete eterne eee entente ennt 10 Figura 2 Componentes del prototipo 15 Figura 3 Imagen del Drototipo das san erneuern 17 Figura 4 Interfaz de comunicaci n ANT inicie 20 Figura 5 Se al pulso i begin pb OH ob 20 Figura 6 Esquema sen
34. D setFont BigFont myGLCD setColor 255 255 255 myGLCD fillRect 0 16 240 18 myGLCD print HRM CENTER 0 archivo SD open SATB txt FILE READ if archivo n CD print Tira CENTER 130 read from the file until there s nothing else in it while archivo available caracter i archivo read if caracter i W wpoint i2 i i2 caracter i archivo read Serial println caracter i if icter i 4 Serial println caract tti close the file archivo close maxval i 13 12 for i 0 i lt i2 2 4 1 if i 12 2 i a wpoint 1 act caracter at44 48 pow 10 2 caracter a 45 48 pow 10 1 caracter a 46 48 y1 205 act 35 185 205 20 myGLCD drawLine x2 y2 240 y1 i jelsel 67 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a 48 tanc 48 ista i 1 600 whil if flo a wpoint 1 44 48 10 2 caracter a 45 48 pow 10 1 caracter a 46 z1 240 i i2 if i 0 x1 0 else x1 240 HaversineM matriz lat i matriz lon i matriz lat i 1 matriz lon i 1 dis ia y1 205 act 35 185 205 20 tti a wpoint 1 bct caracter a 44 48 pow 10 2 caracter a 45 48 pow 10 1 caracter a 46 x2 x1 240 Hav
35. EAreceived Entra en la recepcion de se al GPS parse GPS lastNMEA Desscifra la trama y compara con anterior timer gt millis timer millis millis timer gt 5000 timer millis Temperatura t dht readTemperature myGLCD printNumF t 1 30 300 if GPS fix 0 myGLCD setColor 0 255 0 myGLCD fillCircle 10 310 3 myGLCD setColor 255 255 255 CRONO amp EEPROM latreal cDMinToDDeg GPS latitude lonreal 1 cDMinToDDeg GPS longitude if play if GPS altitude gt altitud desnivel desnivel GPS altitude altitud else if GPS altitude lt altitud desnivel desnivel altitud GPS altitude altitud GPS altitude Tras obtener valores se exponen myGLCD setFont BigFont myGLCD setColor 255 255 255 myGLCD printNumI GPS altitude 15 50 myGLCD printNumI GPS speed 1 852 3 6 15 114 myGLCD printNumI GPS hour 2 10 178 myGLCD print 40 178 myGLCD printNumI GPS minute 55 178 myGLCD print 40 246 jelsel Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a No se recibe sefial myGLCD setColor 255 0 0 myGLCD fillCircle 10 310 3 myGLCD setColor 255 255 255 CRONO Detector flanco valor_ant2 0 valor act2 digitalRead boton 2 if valor ant2 valor act2 amp amp valor act2 HIGH dos
36. OADCAST DATA ae 4e 00 04 1B 74 B B9 A5 21 FB BD 72 C3 45 v pear er Dan it 4 E Enable Ext Msg Details on Receive Refresh Display Close Get Version Get Serial Clear Show Pop out V Scroll to New Msgs Serial Freq Prox Adv Search Advanced Inc Exc List Messaging 27777 Broadcast Ack Burst Extended General I Get ID Get Status Set Channel Period 32280 32768 s period 1 015 Hz 00 00 00 00 00 00 00 00 v Set Broadcast Set Radio Frequency 2400Mhz 57 Mhz 2457 Mhz FIGURA 4 INTERFAZ DE COMUNICACI N ANT En cambio con un m dulo desarrollado por Sparkfun que incorpora el circuito de comunicaci n ANT de Nordic Semicondutors NRF24AP1 se enviaron las mismas tramas desde el Arduino pero nunca se recibi respuesta de los sensores Tras contactar con el personal de ANT no se consigui entablar la comunicaci n Por esto se decidi incorporar la medida con otro tipo de sensor el ox metro El color de la sangre var a dependiendo de lo saturada de ox geno que se encuentre Cuando la mol cula de hemoglobina libera ox geno deja pasar menor luz infrarroja por adquirir un leve tono azul Mediante la reflexi n de luz infrarroja en la piel a lo largo del tiempo se podr n observar los valores m ximos de luz reflejada Estos valores corresponder n con los ciclos de bombeo de la sangre Analizando en el tiempo esos valores m ximos de una se al anal gica como la de la Figura 5 se podr obtener
37. Serial void useInterrupt boolean v if vy f OCROA OxFF TIMSKO BV OCIEO0A usingInterrupt true else TIMSKO amp _BV OCIEOA Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a usingInterrupt false VARIABLES CRONOMETRO uint32_t microseconds_count 0 uintl6 t milliseconds display 0 microseconds display 0 milliseconds rest 0 uint16 t microseconds 0 milliseconds 0 uint8 t seconds 0 minutes 0 hours 0 Timer 1 OC1A Control ISR TIMER1 COMPA vect cli if play t milliseconds 100 if milliseconds 1000 milliseconds 0 if seconds 60 seconds 0 minutes if minutes 60 minutes 0 hours sei void config_chrono void TCCRIA 1 WGM10 1 lt lt WGM11 TCCRIB 1 lt lt 510 1 lt lt 511 1 lt lt OCR1A 24999 Cuenta 24999 TIMSK1 1 OCIE1A Enable interrupt cuando coincidan sei Enable interrupts WGM12 1 WGM13 F_CPU 16MHz 64 preescala 9 unsigned char sreg sreg SREG arda el flag cli Des a interrupciones TCNT1 0 a el timer SREG sreg milliseconds 0 seconds 0 minutes 0 hours 0 Read microseconds counter uint32_t read_microseconds void uint32_t microseconds unsigned c
38. Universidad Pontificia Comillas Escuela Superior de Ingenier a Comillas ICAI Memoria descriptiva del proyecto fin de grado en Ingenier a Electromec nica electr nica DESARROLLO DE UN PROTOTIPO DE ORDENADOR PARA BICICLETA DE MONTANA DIRIGIDO POR ANTONIO MUNOZ SAN ROQUE amp JOS VILLAR COLLADO INIGO FERN NDEZ DE ARAOZ GARC A MINAUR AUTORIZACI N PARA LA DIGITALIZACI N DEP SITO Y DIVULGACI N EN ACCESO emo Maren arm ABIERTO RESTRINGIDO DE DOCUMENTACI N 79 Declaraci n de la autor a y acreditaci n de la misma El autor D igo Mar a Fern ndez de Araoz Garc a Mi aur como estudiante de Grado en Electromec nica de la UNIVERSIDAD PONTIFICIA COMILLAS COMILLAS DECLARA que es el titular de los derechos de propiedad intelectual objeto de la presente cesi n en relaci n con el Proyecto de Fin de Grado titulado Desarrollo de un prototipo de ordenador para una bicicleta de monta a que sta es una obra original y que ostenta la condici n de autor en el sentido que otorga la Ley de Propiedad Intelectual como titular nico o cotitular de la obra En caso de ser cotitular el autor firmante declara asimismo que cuenta con el consentimiento de los restantes titulares para hacer la presente cesi n En caso de previa cesi n a terceros de derechos de explotaci n de la obra el autor declara que tiene la oportuna autorizaci n de dichos titulares de derechos a los fines de esta c
39. Y bicycle computer with Arduino Ago 2013 9 E Terol Ecoavant La bicicleta conquista Europa Oct 2013 10 J Leber A Shrinking Garmin Navigates the Smartphone Storm Mar 2013 11 ANT Message Protocol and Usage Ene 2013 12 NMEA http aprs gids nl nmea 13 Wikiloc http es wikiloc com wikiloc home do 14 Manual Garmin Edge 510 http www garmin com es ES 15 A Runner s Wearable Display http checkmybeat wordpress com 16 GPX The GPS Exchange Format http www topografix com gpx asp 37 38 1 PLANOS A continuaci n se adjuntar el esquema de conexionado No se incluir n los planos de los sensores y otros perif ricos por estar incluidos en la hoja de caracter sticas 39 40 T amp HSENS AM2560 ARDUINO MEGA SDO MISO SDI MOSI DESARROLLO DE UN PROTOTIPO DE ORDENADOR PARA UNA BICICLETA DE MONTANA ESCUELA T CNICA SUPERIOR DE INGENIER A ICAI C Alberto Aguilera 23 28015 Madrid Plano n 1 AUTOR PULSESENSOR 51 PRESUPUESTO 1 MEDICIONES En este apartado se recogen las unidades de los componentes y equipos utilizados as como las horas de trabajo imputables al proyecto 1 1 COMPONENTES PRINCIPALES Componentes Cantidad Arduino MEGA 2560 1 Placa Board 1 Pantalla TFT SPI 2 2 1 M dulo GPS MTK3339 1 Antena GPS con base magn tica 1 Sensor de ritmo cardiaco 1 Sensor de temperatura y hum
40. a 25 Monitorizaci n pulsadores n n 53 Figura 26 HRM PULSADONRES ide A in eie 54 Figura 27 Monitorizacion sin Ruta 54 Figura 28 Dise o interfaz SAT essent KE KE HEHE KRK KRK R R R R RKK eee 74 NDICE DE TABLAS Eo EE 13 Tabla 2 Compalacion de DIC s os asa 16 Tabla 3 Gesti n EEPROM 00 pi ia 17 Tabla 4 Informaci n obtenida en 18 Tabla 5 Contenido formato 29 E AO SATB AA 30 Tabla 7 Relacion de componentes 43 Tabla 8 Relaci n de equipos y herram entas eet ettet tenente ennt 44 Tabla 9 Relaci n de herramientas ttt 44 Tabla 10 Relaci n de horas de mano de obra eterne 44 Tabla 11 Precio unitario componentes principales ettet tenent tenent 45 Tabla 12 Precio unitario Equipos y herramientas ettet teen tenentes 45 Tabla 13 Precio Misa eet RR HERE G 46 Tabla 14 Precio unitario mano de obra arrasa 46 Tabla 15 Sumas parciales componentes principales eet tenentes 47 Tabla 16 Sumas parciales equipos y herramientas estet 48 Tabla
41. a aplicaciones m dicas Existen multitud de proyectos que incorporan perif ricos para recoger informaci n corporal como alcohol metros electrocardiogramas tensi n sangu nea o sensores que miden la temperatura de la sangre Proyectos con car cter m s industrial y otros m s acad micos como este Los entrenamientos deportivos a d a de hoy se preparan con mucho detalle estableciendo planes de complejas estrategias para poder mejorar el rendimiento deportivo Por eso en este proyecto se ha incluido este sensor ya que da la oportunidad de marcar ritmos en funci n de un valor objetivo como lo es el pulso cardiaco a ade la personalizaci n de la ruta para sacar el m ximo provecho del entrenamiento La primera idea para incorporar un sensor de este tipo fue adaptarse a un protocolo de comunicaciones ya establecido para poder soportar varios dispositivos Se hicieron investigaciones en las bandas de frecuencia cardiaca m s conocidas y se distinguieron dos tipos de protocolos bluetooth y ANT ANT ha conseguido en pocos a os colocarse como el sistema de comunicaciones puntero en lo que a deportivo se refiere Se ofrecen al mercado m s de 400 sensores que interoperan entre s cada uno para su funci n Garmin duefia del protocolo ANT facilita la comunicaci n de dispositivos con documentaci n y simuladores que ofrece en su p gina web Tras varias pruebas se estableci la comunicaci n con los sensores de las marcas
42. aci n de rutas afiade valor a las ciclocomputadoras corrientes A n siendo un primer prototipo ofrece un servicio completo aunque abierto a multiples mejoras que consigan perfeccionar un producto Un producto que pueda responder a las diferentes demandas de los consumidores en bicicletas de montafia o ciclismo en carretera Las empresas tecnol gicas desarrollan constantemente nuevas funcionalidades por los diferentes gustos del consumidor o por la diferenciaci n de cada deporte Crear un prototipo escalable y moldeable para cada deportista parece interesante y que seguro tendr a cabida en un mercado tan competido Con este dispositivo se han sentado las bases para poder personalizar los entrenamientos y recortar segundos 6 BIBLIOGRAF A 1 C Cupeiro Dur n J L pez Gonz lez D Redondo Arroyo Ordenador de a bordo visualizaci n de velocidad distancia temperatura Universidad Rey Juan Carlos 2012 2 Ron Spinning magnets Electricbike Qoros Exotic Concept E Bike Mar 2014 3 Z Romano DIY bicycle computer with Arduino Ago 2013 4 E Terol Ecoavant La bicicleta conquista Europa Oct 2013 5 J Leber A Shrinking Garmin Navigates the Smartphone Storm Mar 2013 16 PROTOTYPE DEVELOPMENT OF AN ON BOARD COMPUTER FOR MOUNTAIN BIKE ABSTRACT 1 INTRODUCTION The evolution of mobile phones in recent years has shown penetration and growth ratios higher than those experienced by other
43. activo true Punto inicial de la ruta if punto 0 altitud GPS altitude lat0 cDMinToDDeg GPS latitude lon0 1 cDMinToDDeg GPS longitude fecha GPS day pow 10 4 GPS month pow 10 2 GPS year hora GPS hour 2 10 2 GPS minute EEPROM writeFloat 0 fecha EEPROM writeFloat 4 hora punto O false if dos activo true amp amp play true play play myGLCD setFont SmallFont myGLCD print PAUSE 20 280 myGLCD setFont BigFont delay 500 myGLCD setColor 0 0 0 myGLCD fillRect 0 277 118 290 myGLCD setColor 255 255 255 dos_activo false if dos activo true amp amp play false play play eeprom_ok true Importante para ir guardando datos myGLCD setFont SmallFont myGLCD print PLAY 20 280 myGLCD setFont BigFont delay 500 myGLCD setColor 0 0 0 myGLCD fillRect 0 277 118 290 myGLCD setColor 255 255 255 dos_activo false Fin flanco valor_ant2 valor_act2 valor_ant3 0 valor_act3 digitalRead boton_3 if valor_ant3 valor act3 amp amp valor_act3 HIGH reset chrono play false var stop true punto O true myGLCD print 00 55 246 myGLCD print 00 10 246 myGLCD setFont SmallFont myGLCD print STOP 20 280 delay 500 myGLCD setColor 0 0 0 myGLCD fillRect 0 277 118 290 myGLCD setColor 255 255 255 valor_ant3 valor_act3 M Guardar en E if seconds
44. as Escuela Superior de Ingenier a SAT BIKE ub Desarrollo de un prototipo de ordenador para una bicicleta de monta a secondBeat false when we get the heartbeat back sei enable interrupts when youre done end isr 2 SAT RUTAS VB El dise o de la interfaz tiene la apariencia que se muestra en la Figura 28 El nombre de los elementos que componen este dise o se a ade a continuaci n Cargar RUTA Guardar 100 JL E 2 FIGURA 28 DISENO INTERFAZ SAT RUTAS 1 BtnOpen Button Btn Save Button Nom RUTA TextBox TextBox1 TextBox Num CHK NumericUpDown ow MN Asig_HRM NumericUpDown Btn Asignar Button 7 PorcentajeTICK CheckBox 8 MAXporc NumericUpDown SATBike Julio 2014 Inigo Fern ndez de Araoz Garc a Mi aur Universidad Pontifica Comillas ICAI Imports System IO Imports System Globalization Public Class SATBike Variables Apertura de archivo Dim FileReader As StreamReader Dim results As DialogResult 74 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a 1 2 6 Control lectura de gpx Dim linea nombre As String Dim chq nombre As String Dim chequeol chequeo3 chequeosalida As Boolean Dim num ini num ini ele num fin ele As Integer Dim num chgl num chalb num 2 num chq2b nu
45. baje con 8 bit es suficiente Existen varios modelos de distintas marcas los modelos dsPIC de Microchip distintos tipos de Arduino UNO y MEGA y controladores de baja potencia de Texas Instruments como el MSP430 Pese a no ser el m s potente ni el m s barato La opci n que mejor se adapta a las necesidades del proyecto es el Arduino en concreto la versi n MEGA Por su car cter de software libre y su uso en trabajos de este tipo Est compuesto por un chip ATmega 2560 que trabaja a 16MHz y el entorno de programaci n es sencillo La marca Arduino ha conseguido Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desarrollo de un prototipo de ordenador para una bicicleta de monta a vender m s de 500 000 dispositivos oficiales por su robustez y f cil adaptaci n a distintos campos Los dispositivos GPS cada vez son m s frecuentes en el coche en el m vil en un reloj hasta en perros para no perderlos Por poco dinero se consigue un dispositivo con precisi n menor de 10m Es interesante conocer tu posici n pero sobre todo el GPS ser til para conocer con exactitud tu velocidad y distancia recorrida En cambio un dise o reducido del tamafo de un reloj nicamente ha llegado a marcas de renombre como Garmin Polar Suunto o Tomtom Son dispositivos que rondan los 300 Como el GARMIN GPS EDGE en todas sus versiones 500 510 800 etc que es un equipo que sirve de inspiraci n para este proy
46. biendo localizaci n GPS desconectado FIGURA 24 RUTA PULSADORES 2 3 PANTALLA MONITORIZACI N MON 1 Transici n a pantalla RUTA 2 PLAY PAUSE Se da comienzo al cron metro empieza la ruta Se empiezan a recoger valores 3 STOP Resetea el cron metro 4 Transici n a la pantalla HRM GPS activo y recibiendo localizaci n GPS desconectado FIGURA 25 MONITORIZACI N PULSADORES 53 2 4 PANTALLA HRM FIGURA 26 PULSADORES Universidad Pontificia Comillas Escuela Superior de Ingenier a Desarrollo de un prototipo de ordenador para una bicicleta de monta a 4 Transici n a pantalla MON 6 Dibuja en color azul claro la variaci n de frecuencia cardiaca guardada hasta el momento En amarillo se muestran los ejes de 50 100 y 150 pulsaciones por minuto En color rojo se expone el altura para ver la correlaci n entre las dos gr ficas 2 5 PANTALLA MONITORIZACI N SIN RUTA MON SR MONITORIZACION FIGURA 27 MONITORIZACION SIN RUTA PULSADORES GPS activo y recibiendo localizaci n GPS desconectado 2 PLAY PAUSE Se da comienzo al cron metro empieza la ruta Se empiezan a recoger valores 3 STOP Resetea el cron metro En esta pantala no se muestra la distancia a meta como en MON sino una variable que presenta la velocidad media en km h 54 1 SATBIKE INO SATBike Julio 2014 I igo Fern ndez Universidad Pontifi
47. c BORK KKK k k k Kk k k K GESTION PRINCIPAL Programa kkk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k xk V C DIGO K K amp K K ck KK KK k k x CD LIBRERIAS ARDUINO include ctype h include math h include avr eeprom h include EEPROMex h include stdlib h include lt SoftwareSerial h gt LIBRERIAS PERIFERICOS include lt UTFT h gt Pantalla LC include Adafruit GPS h GPS include lt SD h gt Tarjeta de memoria include DHT h Temperatura include Arduino h PANTALLA extern uint8 t BigFont extern uint8 t SmallFont extern uint8 t SevenSegNumFont myGLCD TFTO1_22SP 46 44 47 4 Adafruit GPS GPS amp Seriall define GPSECHO false GPS boolean usingInterrupt false Static uint32 t timer millis static float lat0 lon0 Coor comienza el crono SENSOR PULSO int pulsePin 1 int blinkPin 13 volatile int volatile int Signal volatile int IBI 600 volatile boolean Pulse false volatile boolean QS false SENSOR TEMP define SENST AO define DHTTYPE DHT11 Recoge el DHT dht SENST DHTTYPE EZ a HE nn a PEER PROTOTIPOS iie 555 255 A Ke Ss es ee fp das P P PROTOTIPOS Pantallas boolean PANT INICIAL int estado void PANT MONITOR float distancia float PANT RUTA int estado void PANT HRM int activo PROTOTIPOS Op
48. campo de texto se introduce el valor en BPM para el punto de paso presente en el campo de texto superior 7 Fijar HR Se crea esta opci n para aquellos usuarios que prefieran meter valores como un porcentaje de un m ximo fijado Se debe marcar la pesta a e introducir el m ximo en HR MAX Este m ximo se calcula como HR MAX 220 edad En el sector introducir el valor del porcentaje e asignar Adem s de estos mandos se presenta la ruta en un gr fico seg n su elevaci n Con un cursor se posiciona en el punto seg n el valor que detallan 3 y 4 En rojo se dibuja la ruta en verde los valores de frecuencia a adidos 52 Universidad Pontificia Comillas Escuela Superior de Ingenier a lt Bike Desarrollo de un prototipo de ordenador para una bicicleta de monta a 2 EMPLEO DE SATBIKE Se emplear n im genes para cada pantalla e indicar n los pulsadores activos en cada estado ce color m s intenso 2 1 PANTALLA INICIAL 1 Transici n a pantalla RUTA si existe ruta en tarjeta SD uS 56 en el caso de modo libre 3 5 Traspasa los valores de la ltima ruta desde la EEPROM a un fichero en la tarjeta de memoria Aparecer el mensaje de Transfer OK cuando se realiza correctamente FIGURA 23 INICIAL PULSADORES 2 2 PANTALLA RUTA 1 Transici n a pantalla MON 6 Dibuja en color rojo el recorrido 0 guardado hasta el momento GPS activo y reci
49. ce that increases the value of this application One of the partial results was the program that manages a standard route GPX Analyzes the syntax of this file and extract the information contained The differentiating value is being able to customize routes in a cardio workout plan With the same interface shown in Figure 5 both objectives are achieved 90 Dutancia recem s 2847m wo FIGURE 5 SAT RUTAS INTERFACE 5 CONCLUSIONS Despite the myriad of mobile applications that provide the services described here elite athletes want exclusive devices with low power consumption ergonomic designs and precise reception This project has added value to the current cycle computers by being able to customize the track based on cardio workouts Even as a first prototype offers full service but is open to multiple improvements to grab a refine product A product that can meet the different demands of consumers mountain biking or road cycling Technology companies constantly develop new functionalities for different consumer tastes or differentiation of each sport Create a scalable and moldable prototype to every athlete looks interesting and surely would have a place in a highly competitive market With this device everyone could customize workouts and save seconds 6 BIBLIOGRAPHY 1 C Cupeiro Dur n J L pez Gonz lez D Redondo Arroyo Ordenador de a bordo visualizaci n de veloci
50. conectar para volver a crear con nuevas ideas Mi familia es el eje principal que me lleva apoyando en todo lo que hago Desde mis abuelos hasta mis sobrinos Gracias a todos En especial a mis padres y a mis tres hermanos Lucas Carmen y Mar a son lo m s importante que tengo Ali gracias a ti tambi n cada d a eres m s familia gracias por tu apoyo y estar dispuesta a soportar a un fututo ingeniero con todo lo que eso conlleva Para acabar querr a citar a todos aquellos que forman parte de mi vida que merecen una distinci n especial Por las buenas amistades que tengo y por lo contento y orgulloso que estoy de haber realizado este proyecto A mis padres por su su paciencia y su sacrificio en cada uno de estos anos 1 MEMORIA 1 INTRODUCCI N 1 1 ESTUDIO DE LOS TRABAJOS EXISTENTES TECNOLOG AS EXISTENTES 1 2 MOTIVACI N DEL PROYECTO 1 3 OBJETIVOS DEL PROYECTO 1 4 PLAN DE TRABAJO 1 5 RECURSOS HERRAMIENTAS EMPLEADAS 2 ARQUITECTURA DEL SISTEMA 2 1 MICROCONTROLADOR ARDUINO 2 2 PANTALLA LCD GESTI N TARJETA SD 2 3 RECEPTOR GPS 2 4 SENSOR DE FRECUENCIA CARDIACA 2 5 SENSOR DE TEMPERATURA 2 6 MANDOS BOTONES 2 SOPORTE 3 SATBIKE 3 1 DIAGRAMA DE ESTADOS 4 SAT RUTAS 4 1 FORMATO GPX 4 1 ARCHIVO SALIDA 5 RESULTADOS 6 CONCLUSIONES 7 FUTUROS DESARROLLOS 7 1 MODO INDIVIDUAL 7 2 MODO GRUPO 8 REFERENCIAS II PLANOS NDICE 11 12 12 13 15 15 17 18 19 21 21
51. dad distancia temperatura Universidad Rey Juan Carlos 2012 2 Ron Spinning magnets Electricbike Qoros Exotic Concept E Bike Mar 2014 3 Z Romano DIY bicycle computer with Arduino Ago 2013 4 E Terol Ecoavant La bicicleta conquista Europa Oct 2013 5 J Leber A Shrinking Garmin Navigates the Smartphone Storm Mar 2013 AGRADECIMIENTOS En primer lugar quiero dar las gracias a mis directores de proyecto Antonio y Jos Su paciencia y el tiempo dedicado ha sido clave para llegar a terminar la memoria Tambi n agradecer a la Universidad Pontificia Comillas por su atenci n durante estos cuatro a os La profesionalidad de sus profesores y el talento de sus alumnos ha hecho que me encuentre c modo en un ambiente donde aprender ha sido la principal tarea Mencionar a profesores con un carifio especial como a ngela Jim nez Casas que me ha apoyado en cada decisi n de la vida Otros como Juan Luis Zamora F lix Alonso o lvaro S nchez me han ensefiado lo que es el compromiso del trabajo bien hecho Quisiera nombrar aqu a mis compa eros de ICAI con ellos ha sido posible desarrollarse en un ambiente cargado de compa erismo Una larga lista de nombres y momentos que han hecho posible escribir esto hoy Mis amigos de toda la vida que se han interesado por el estado de SATBike en cada momento anim ndome a seguir con ganas Un aperitivo o un partido de futbol forma parte tambi n del saber des
52. dato interesante para anotar c mo responde el cuerpo en estas condiciones 2 6 MANDOS BOTONES La interfaz de la m quina con el usuario debe ser f cil Por esta raz n desde el primer momento se rechazaron las pantallas t ctiles y se opto por una botonadura amplia El uso de guantes y el peque o tama o de la pantalla no permit a una interfaz t ctil decente 21 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a FIGURA 7 PULSADORES PROTOTIPO El numero de pulsadores utilizados son seis en la disposici n que muestra la Figura 7 Pese a haber podido reducir el n mero de botones incluyendo duplicidad de funciones en cada mando se quiere dejar que el usuario pueda tranquilamente incluir las suyas propias Una de las tareas no llevadas a cabo es la opci n de ampliar el dibujo de la ruta El ctricamente se han instalado como pull down es decir por defecto a nivel bajo Figura 8 A adiendo una resistencia de 10k conectada masa permite fijar los valores l gicos de la senal entrante al microcontrolador 100nF 10K 1 FIGURA 8 PULL DOWN PULSADORES 2 7 SOPORTE Se ha dise ado un soporte para dar mayor robustez al equipo sobre todo durante las pruebas Se compone de dos partes tapa inferior y superior Es un disefio sencillo pues pretende ser temporal como muestra el plano de explosionado de la Figura 9
53. e R ck ck ok void PANT_MONITOR float distancia boolean dos_activo false int min_display sec_display min_act 0 int vez i4 0 punto 0 float latact lonact float fecha hora float drec drest float t 63 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD print ADTITUD 20 30 myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD myGLCD m 60 50 myGLCD myGLCD myGLCD myGLCD olrSort setGolor 255 0 09 fillRect 0 0 240 16 fillRect 0 20 118 80 fillRect 0 84 118 144 fillRect 0 148 118 212 fillRect 0 216 118 276 fillRect 122 20 240 80 fillRect 122 84 240 144 fillRect 122 148 240 212 setColor 255 255 255 fillRect 0 16 240 18 setFont BigFont print MONITORIZACION CENTER O0 setFont SmallFont print VELOCIDAD 20 94 print HORA 20 158 print TIEMPO 20 226 print D RECORRIDA 137 30 print D A META 142 94 print DESNIVEL 142 158 print km h 60 114 print m 210 114 setFont BigFont print m 185 50 print me 185 178 printNumI distancia 135 114 while 1 Af if if if GPS newNM
54. eCounter 0 used to determine pulse timing volatile unsigned long lastBeatTime 0 used to find IBI volatile int P 512 used to find peak in pulse wave seeded volatile int T 512 used to find trough in pulse wave seeded volatile int thresh 512 used to find instant moment of heart beat seeded volatile int amp 100 used to hold amplitude of pulse waveform seeded volatile boolean firstBeat true used to seed rate array so we startup with reasonable BPM volatile boolean secondBeat false used to seed rate array so we startup with reasonable BPM void InterruptSetupBMP Initializes Timer2 to throw an interrupt every 2mS TCCR2A 0x02 DISABLE PWM ON DIGITAL PINS 3 AND 11 AND GO INTO CTC MODE TCCR2B 0x06 DON T FORCE COMPARE 256 PRESCALER OCR2A 0X7C SET THE OF THE COUNT 124 FOR 500Hz SAMPLE RATE TIMSK2 0x02 ENABLE INTERRUPT ON MATCH BETWEEN TIMER2 AND OCR2A sei MAKE SURE GLOBAL INTERRUPTS ARE ENABLED THIS IS THE TIMER 2 INTERRUPT SERVICE ROUTINE Timer 2 makes sure that we take a reading every 2 miliseconds ISR TIMER2_COMPA_vect triggered when Timer2 counts to 124 cli disable interrupts while we do this Serial println lee Signal analogRead pulsePin read the Pulse Sensor sampleCounter 2 keep track of the time in mS with this variable 72 Universidad Pontificia Comillas Escuela Superio
55. ecto Otro proyecto de referencia es el de unos estudiantes de la universidad Rey Juan Carlos con la misma plataforma de software abierto desarrollaron un ordenador de a bordo basado en un GPS para su veh culo La pantalla es una pieza clave en el desarrollo del proyecto Es la parte que interactua con el usuario Debe ser de sencillo manejo y capaz de exponer claramente el seguimiento del deportista Por eso se ha escogido una pantalla que no es t ctil facilitando as las transiciones de men s Las aplicaciones de m vil que ofrecen servicios para el uso deportivo como este trabajo de la Figura 1 son una referencia de interacci n 15 30 12 _N NW OW 3 62 386m Elevation 0 12 12 FIGURA 1 ORDENADOR DE A BORDO OruxMaps o Androzic son aplicaciones para Android en las que es posible ver mapas de rutas gestionadas y obtener informaci n como la distancia recorrida velocidad media direcci n de la ruta etc Otras en cambio como Endomondo o SportsTracker han a adido una comunidad de deporte con perfiles para compartir el ejercicio realizado publicar tus tiempos y compartir rutas Cada vez son m s frecuentes las recomendaciones de rutas por senderos o por campo a trav s Servidores como Wikiloc ponen en contacto a personas para compartir sus itinerarios Muchos de los dispositivos de las marcas antes citadas son capaces de esto crear y cargar rutas propias o ajenas e ir monitorizando informaci n seg n se realizan los
56. edad DHT 11 1 Pulsadores 6 Resistencias 23 Cable m A TABLA 7 RELACION DE COMPONENTES 43 OP SADO E 9 5 G Mara 1 2 EQUIPO Y HERRAMIENTAS Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI lt SATBIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a Componentes Cantidad Horas de proyecto Horas de uso al a o Ordenador 1 500 1600 Kit Soldadura 1 2 40 Pol metro 1 1 450 Bater a 5200mAh 1 10 200 1 3 SOFTWARE TABLA 8 RELACI N DE EQUIPOS Y HERRAMIENTAS Programa Cantidad Horas de proyecto Horas de uso al a o Arduino IDE 1 750 1000 Microsoft Visual Studio 1 150 800 2009 Microsoft Office 2007 1 200 2000 KiCad 1 50 60 Sketchup Pro 1 50 200 TABLA 9 RELACI N DE HERRAMIENTAS SW 1 4 MANO DE OBRA DIRECTA Actividad Horas Programaci n 400 Pruebas y soluci n de problemas 120 Documentaci n del proyecto 100 TABLA 10 RELACI N DE HORAS DE MANO DE OBRA OP 242 Universidad Pontificia Comillas Escuela Superior de Ingenieria ICAI lt AT BIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a E Maran 2 PRECIOS UNITARIOS En este apartado se indican los precios de cada uno de los elementos necesarios para llevar a cabo este proyecto los cuales se han citado anteriormente 2 1 COMPONENTES PRINCIPALES
57. el numero de pulsaciones a las que opera el coraz n FIGURA 5 SENAL PULSO CARDIACO 20 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a poe IR LED IR LED FIGURA 6 ESQUEMA SENSOR PULSACIONES MIN El Arduino recoge muestras cada 2ms a trav s de una interrupci n del timer2 Acumulando 250 muestras y seleccionando los extremos realiza la siguiente operaci n n maximos tiempo pulsaciones Escalando el resultado a segundos se obtiene el n mero de pulsaciones por minuto o en ingl s BPM 2 5 SENSOR DE TEMPERATURA El simple uso de un termistor en un circuito anal gico hubiese funcionado para las medidas de temperatura Sin embargo la precisi n y formato del sensor DHT 11 fueron determinantes en esta elecci n dando adem s la oportunidad de exponer tambi n la humedad relativa Pese a que en la primera versi n no se utilice la humedad con pocas l neas de c digo se puede mostrar dejando al gusto del usuario esta caracter stica La obtenci n de datos se obtiene a trav s de comunicaci n serie El fabricante del sensor pone a disposici n una librer a que permite comprobar el estado del sensor y obtener las medidas a trav s de funciones ya implementadas Con esta medida se quiere dar algo de importancia al entorno donde se desarrolla la ruta En la llegada a una cumbre por ejemplo la temperatura puede ser un
58. endas con completas funcionalidades etc Muchas de sus aplicaciones se han orientado a la pr ctica y entrenamiento deportivo utilizando capacidades tales como la conexi n 3G o 4G a servidores de mapas el sistema de localizaci n GPS y la conexi n b uetooth opcional con dispositivos de medida de cadencia y frecuencia cardiaca Sin embargo a pesar de sus indudables capacidades los retos relativos a la duraci n de la bater a la cobertura y la robustez del dispositivo siguen buscando s lidas soluciones Se desea por ello dise ar y construir un dispositivo de bajo coste y bajo consumo que recibiendo la localizaci n a trav s de GPS y permitiendo la recepci n de sensores de la bicicleta o de medida de la frecuencia cardiaca del ciclista sirva para mejorar un entrenamiento deportivo Para ello el dispositivo tendr que ser capaz de precargar rutas con la peculiaridad de asociar unos objetivos de pulsaciones para el ejercicio Durante el transcurso de la ruta se deber monitorizar desde una pantalla la velocidad y la posici n adem s de facilitar medidas de tiempo 2 OBJETIVOS El objetivo final de este proyecto es el desarrollo de un sistema de ordenador de a bordo para bicicletas de monta a que cumpla los siguientes requisitos a El sistema ha de ser capaz de cargar un fichero con el recorrido de la ruta en el formato est ndar GPX b Permitir programar el perfil de frecuencia cardiaca que se desea para el entre
59. enta si la recepci n de la ruta desde la tarjeta SD ha sido efectuada Tras esta distinci n se dirige al usuario a la pantalla correspondiente A continuaci n se presenta el diagrama de estados en la imagen 10 y se explicar con m s detalle la operatividad de los dos modos l boton 2 B boton 3 boton 1 boton 6 1 boton 4 boton 4 1 915 boton 5 1 amp amp boton_1 1 boton 1 boton_5 1 Existencia de una ruta en tarjeta SD ruta 1 amp amp boton_1 1 gt II boton_2 1 m boton 3 1 FIGURA 10 DIAGRAMA DE ESTADOS 25 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desarrollo de un prototipo de ordenador para una bicicleta de monta a 3 1 1 MODO LIBRE Al modo libre se accede directamente cuando no se ha introducido una ruta en la tarjeta de memoria En esta pantalla el usuario podr comenzar un trayecto e ir almacenando los valores en la EEPROM M s tarde con una tarjeta de memoria podr extraerlos En la nica pantalla visible se muestra la siguiente informaci n ala MONITORIZACION Distancia recorrida m ALTURA Velocidad instant nea km h Velocidad media km h Hora 24 31 km h Tiempo s N de pulsaciones por minuto fijadas Temperatura C Identificador de la calidad del GPS FIGURA 11 PANTALLA MODO LIBRE Una vez comenzado el cron metro los
60. er cont maxlat 1 48 caracter cont_maxlat 2 48 pow 10 1 caracter cont_maxlat 3 48 10 2 caracter cont_maxlat 4 48 pow 10 3 caracter cont_maxlat 5 48 10 4 caracter cont_maxlat 6 48 10 5 caracter cont_maxlat 7 48 pow 10 6 caracter cont_maxlat 8 48 10 7 else if cont maxlat cont maxlat 1 maxlat caracter cont maxlat 48 caracter cont maxlat 2 48 pow 10 1 caracter cont maxlat 3 48 pow 10 2 caracter cont maxlat 4 48 pow 10 3 caracter cont maxlat 5 48 pow 10 4 caracter cont maxlat 6 48 pow 10 5 caracter cont_maxlat 7 48 10 6 caracter cont_maxlat 8 48 10 7 if cont c minlat cont minlat 2 minlat caracter cont minlat 48 pow 10 1 caracter cont_minlat 1 48 caracter cont_minlat 2 48 pow 10 1 caracter cont_minlat 3 48 10 2 caracter cont_minlat 4 48 10 3 caracter cont_minlat 5 48 10 4 caracter cont_minlat 6 48 pow 10 5 caracter cont_minlat 7 48 10 6 caracter cont_minlat 8 48 10 7 else if cont_ c_maxlat cont_maxlat 1 minlat caracter cont_minlat 48 caracter cont_minlat 2 48 pow 10 1 caracter cont minlat 3 48 pow 10 2 caracter cont minlat 4 48 pow 10 3 caracter cont_minlat 5 48 pow 10 4 5 caracter cont_minlat 7 48 pow 10 6 caracter con
61. eraciones GPS float cDMinToDDeg float degMin float HaversineM float latl float int Calcula WPOINT float lat pos 5 42 denadas del punto donde comienza la ruta Pulse Sensor purple wire connected to analog pin 0 pin to blink led at each beat used to hold the pulse rate holds the incoming raw data holds the time between beats must be seeded true when pulse wave is high false when it s low becomes true when Arduoino finds a beat valor de la temperatura a lonl float lat2 float lon2 float lon_pos int total 55 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a PROTOTIPOS GPS void useInterrupt boolean PROTOTIPOS EEPROM SD void SD REALIZADO void PROTOTIPOS Sensor BPM void InterruptSetupBMP PROTOTIPOS Cronometro void config chrono void void reset chrono void uint32 t read microseconds void VARIABLES GLOBALES define NUM 50 Alberga los valores de la ruta extrae de la SD float matriz num NUM matriz lat NUM matriz lon NUM matriz alt NUM matriz hr NUM int wpoint NUM Vector que sirve para albergar la posicion de inicio de cada WAYPOINT int wp act Sefiala el WPOINT actual mediante la funcion float desnivel 0 altitud Inicializacion de variables MON float distancia int 127 Tomar el
62. ersineM matriz lat i matriz lon i matriz lat i 1 matriz lon i 1 d ncia y2 205 bct 35 185 205 20 myGLCD drawLine 1 1 2 2 SE dist i 1 dist i HaversineM matriz_lat i matriz_lon i matriz_lat i 1 matriz_lon myGLCD setColor 255 0 0 myGLCD drawLine 240 dist i distancia 300 matriz alt i l 240 dist it1 distancia 300 matriz alt i 1 600 myGLCD setColor 255 255 255 EJES myGLCD setColor 255 255 0 myGLCD drawLine 0 208 240 208 50 BPM myGLCD drawLine 0 152 240 152 100 BPM myGLCD drawLine 0 97 240 97 150 BPM myGLCD setColor 255 255 255 myGLCD drawLine x1 y1 240 y1 e 1 GPS newNMEAreceived Serial println Entra en el nuevo seg a tricky thing here is if we print the NMEA sentence or data we end up not listening and catching other sentences so be very wary if using OUTPUT ALLDATA and trytng to print out data Serial println GPS lastNMEA this also sets the newNMEAreceived flag to false if GPS parse GPS lastNMEA this also sets the newNMEAreceived flag to false we can fail to parse a sentence in which case we should just wait for another if timer gt millis timer millis if millis timer gt 1000 1 timer millis if GPS fix 0 latreal cDMinToDDeg GPS latitude lonreal 1 cDMinToDDeg GPS longitude if GPS altitude gt altitud desnivel desnivel GPS altitude altitud else if GPS altitude l
63. es el usuario gestiona la informaci n que desea mostrar sobre la ruta FIGURA 4 PANTALLAS PRINCIPALES Se puede escoger entre las tres pantallas que muestra la Figura 4 En la pantalla de monitorizaci n se presentan valores num ricos sobre el estado del entrenamiento Como son la distancia recorrida o el desnivel acumulado Desde aqu se puede acceder a la tercera pantalla que expone el perfil de altitudes y la variaci n en las pulsaciones del corredor En la segunda se muestra la ruta a la que se superpone el tramo ya realizado Uno de los resultados obtenidos ha sido el programa que gestiona una ruta est ndar en formato GPX Interpreta la sintaxis de este archivo y consigue extraer la informaci n contenida El valor diferenciador lo a ade la posibilidad de poder personalizar las rutas con un plan de entrenamiento cardiaco Con la misma interfaz de la Figura 5 se consigue cumplir ambos objetivos Infomaci n del Wayport Wayport 12 lat 36 278334447 165096 kn 5313581771469116 HR Dutancia recem s 2847m wo Judd owe pao 1000 1500 FIGURA 5 INTERFAZ SAT RUTAS 5 CONCLUSIONES Pese a la infinidad de aplicaciones de m vil que ofrecen los servicios aqu descritos los deportistas de hoy quieren aparatos exclusivos m s personalizables de menor consumo m s ergon micos y con mayor precisi n En este proyecto se ha realizado un prototipo que con la personaliz
64. esi n o bien que retiene la facultad de ceder estos derechos en la forma prevista en la presente cesi n y as lo acredita 29 Objeto y fines de la cesi n Con el fin de dar la m xima difusi n a la obra citada a trav s del Repositorio institucional de la Universidad y hacer posible su utilizaci n de forma libre y gratuita con las limitaciones que m s adelante se detallan por todos los usuarios del repositorio y del portal e ciencia el autor CEDE a la Universidad Pontificia Comillas de forma gratuita y no exclusiva por el m ximo plazo legal y con mbito universal los derechos de digitalizaci n de archivo de reproducci n de distribuci n de comunicaci n publica incluido el derecho de puesta a disposici n electr nica tal y como se describen en la Ley de Propiedad Intelectual El derecho de transformaci n se cede a los nicos efectos de lo dispuesto en la letra a del apartado siguiente 39 Condiciones de la cesi n Sin perjuicio de la titularidad de la obra que sigue correspondiendo a su autor la cesi n de derechos contemplada en esta licencia el repositorio institucional podr a Transformarla para adaptarla a cualquier tecnolog a susceptible de incorporarla a internet realizar adaptaciones para hacer posible la utilizaci n de la obra en formatos electr nicos as como incorporar metadatos para realizar el registro de la obra e incorporar marcas de agua o cualquier otro sistema de seguridad o de protecc
65. eso son algunos otros ejemplos Las empresas tecnol gicas desarrollan constantemente nuevas funcionalidades por los diferentes gustos del consumidor o por la diferenciaci n de cada deporte Crear un prototipo escalable y moldeable para cada deportista parece interesante y que seguro tendr a cabida en un mercado tan competido Con este dispositivo se han sentado las bases para poder personalizar los entrenamientos y recortar segundos 33 34 7 FUTUROS DESARROLLOS Sentadas las bases descritas en la totalidad del proyecto nacen nuevas ideas para perfeccionar el dispositivo 7 1 MODO INDIVIDUAL En cuanto a hardware se refiere se pueden implementar mejoras en los siguientes aspectos a Dise o de una tarjeta espec fica que optimice el esquema de conexionado As la colocaci n en el manillar de la bicicleta ser m s sencilla mejorar el peso del dispositivo y har m s ergon mico su dise o b La pantalla que se utiliza actualmente es demasiado lenta para una ruta en bicicleta donde la posici n o velocidad var an cada segundo Se deber a incorporar otra interfaz SPI para poder gestionar el display y la tarjeta de memoria El sensor de pulso card aco deber a ser inal mbrico o estar incorporado en alg n punto de la bicicleta que facilite su uso En el manillar como en bicicletas est ticas o en la parte frontal del casco Aunque la mejor opci n es poder afiliarse a protocolos m s conocidos y aumenta
66. g secondBeat true set the second beat flag sei enable interrupts again return IBI value is unreliable so discard it keep a running total of the last 10 IBI values word runningTotal 0 clear the runningTotal variable for int i20 i lt 8 i shift data in the rate array rate i 1411 and drop the oldest IBI value runningTotal rate i add up the 9 oldest IBI values rate 9 IBI add the latest IBI to the rate array runningTotal rate 9 add the latest IBI to runningTotal runningTotal 10 average the last 10 IBI values BPM 60000 runningTotal how many beats can fit into a minute that s BPM QS true set Quantified Self flag QS FLAG IS NOT CLEARED INSIDE THIS ISR if Signal lt thresh amp amp Pulse true when the values are going down the beat is over digitalWrite blinkPin LOW turn off pin 13 LED Pulse false reset the Pulse flag so we can do it again amp P T get amplitude of the pulse wave thresh amp 2 T set thresh at 50 of the amplitude P thresh reset these for next time T thresh if N gt 2500 if 2 5 seconds go by without a beat thresh 512 set thresh default P 512 set P default 512 set T default lastBeatTime sampleCounter bring the lastBeatTime up to date firstBeat true set these to avoid noise 73 STE 24 Universidad Pontificia Comill
67. genier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a myGLCD print m 185 178 myGLCD print m 60 50 myGLCD printNumI distancia 135 114 break return 7 de kek kok Ve RARA He He de Ve KOR He ck de HR A I kk F kk P k k D AAR OC 1 Ultima informaci n de denando 1 tarjeta SD kkk kkk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k K void SD_REALIZADO void int cant wp i sd float fecha File arch String nombre extension char buffer 10 char cadena 20 fecha EEPROM readFloat 0 cant wp EEPROM readInt 8 Crea el nombre del archivo obtiene fecha nombre dtostrf fecha 6 0 buffer extension String txt nombre concat extension nombre toCharArray cadena 20 Abre la SD y crea el archivo arch SD open cadena FILE_WRITE if arch for i sd 1 i sd lt cant wp i arch print WAYpoint arch println i sd 1 arch println EEPROM readFloat 10 i sd 6 arch println EEPROM readFloat 10 i sd 4 6 arch println EEPROM readInt 10 i_sd 8 myGLCD print Transfer OK CENTER 92 Cierra la tarjeta SD para luego poder abrir arch close return Interrupci n por milisegundo consulta sefial SIGNAL TIMERO vect char c GPS read if GPSECHO if c UDRO c Escribir en UDRO es mucho m s r pido que
68. har sreg sreg SREG Guarda el flag eli Disable interrupts microseconds TCNT1 4 SREG sreg return microseconds float cDMinToDDeg float degMin float min 0 0 float decDeg 0 0 obtiene los minutos min fmod float degMin 100 0 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI lt SATBIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a conforma las coordenadas degMin int degMin 100 decDeg degMin min 60 return decDeg float HaversineM float lat1 float lonl float lat2 float 1 2 Calcula la distancia entre dos puntos a partir de su LAT y LON float dlong dlat float a d float d2r eQRadius d2r PI 180 eQRadius 6378 137 dlong lon2 lonl d2r dlat lat2 latl d2r a pow sin dlat 2 2 cos latl d2r cos lat2 d2r pow sin dlong 2 2 2 atan2 sart a sqrt 1 a d eQRadius c 1000 return d int Calcula WPOINT float lat pos float lon pos int total int wpoint 0 float min dist dist min dist HaversineM lat pos lon pos matriz lat 0 matriz lon 0 for i 0 i lt total itt dist HaversineM lat pos lon pos matriz lat i matriz lon il if dist lt min_dist min_dist dist wpoint i return wpoint Interrupcion sensor volatile int rate 10 array to hold last ten IBI values volatile unsigned long sampl
69. i n 1 Especificar si es una tesis doctoral proyecto fin de carrera proyecto fin de M ster o cualquier otro trabajo que deba ser objeto de evaluaci n acad mica b Reproducirla en un soporte digital para su incorporaci n a una base de datos electr nica incluyendo el derecho de reproducir y almacenar la obra en servidores a los efectos de garantizar su seguridad conservaci n y preservar el formato c Comunicarla y ponerla a disposici n del p blico a trav s de un archivo abierto institucional accesible de modo libre y gratuito a trav s de internet d Distribuir copias electr nicas de la obra a los usuarios en un soporte digital 4 Derechos del autor El autor en tanto que titular de una obra que cede con car cter no exclusivo a la Universidad por medio de su registro en el Repositorio Institucional tiene derecho a a A que la Universidad identifique claramente su nombre como el autor o propietario de los derechos del documento b Comunicar y dar publicidad a la obra en la versi n que ceda y en otras posteriores a trav s de cualquier medio C Solicitar la retirada de la obra del repositorio por causa justificada A tal fin deber ponerse en contacto con el vicerrector a de investigaci n curiarte rec upcomillas es d Autorizar expresamente a COMILLAS para en su caso realizar los tr mites necesarios para la obtenci n del ISBN e Recibir notificaci n fehaciente de cualquier reclamaci n que
70. ialogResult results SaveFileDialogl ShowDialog If results DialogResult OK Then FileWriter New StreamWriter SaveFileDialogl FileName False FileWriter WriteLine maxlat amp Maximo numero 1 FileWriter WriteLine minlat amp Minimo numero 1 maxlon Maximo numero 2 minlon Minimo numero 2 diez 10 If maxlon gt 0 Then FileWriter WriteLine maxlon 0 amp maxlon FileWriter WriteLine minlon 0 amp minlon Else FileWriter WriteLine maxlon amp maxlon FileWriter WriteLine minlon amp minlon End If If grafica cant 1 0 10 Then FileWriter WriteLine Tdist amp 0000 amp grafica cant 1 0 ElseIf grafica cant 1 0 100 Then 77 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a FileWriter WriteLine Tdist amp 000 amp grafica cant 1 0 ElseIf grafica cant 1 0 1000 Then FileWriter WriteLine Tdist amp 00 amp grafica cant 1 0 ElseIf grafica cant 1 0 10000 Then FileWriter WriteLine Tdist amp O amp grafica cant 1 0 ElseIf grafica cant 1 0 100000 Then FileWriter WriteLine Tdist amp grafica cant 1 0 End If For i 0 To cant 1 f numero i 0 lt 10 Then FileWriter WriteLine WAYpoint amp 00 amp numero i 0 ElseIf numero i 0 100 Then FileWriter WriteLine WAYpoint amp O
71. icicleta de monta a 2 ARQUITECTURA DEL SISTEMA En este cap tulo se explican las partes de las que consta el prototipo Se analizar con detalle la manera en la que son capaces de comunicarse unas con otras como sus protocolos o est ndares particulares El prototipo se compone de los elementos que se muestran en la Figura 2 L W Temperatura Pulso cardiaco Tarjeta de memoria Pantalla LCD FIGURA 2 COMPONENTES DEL PROTOTIPO 2 1 MICROCONTROLADOR ARDUINO Para el desarrollo se ha utilizado la tarjeta Arduino MEGA que es un m dulo basado en el microcontrolador ATMega2560 Se hab an realizado previos proyectos de menor tama o en otras versiones de Arduino y los resultados hab an sido satisfactorios Su popularidad su robustez y la filosof a open source encajaban con el desarrollo del equipo que se quer a llevar a cabo Comparado con otros equipos similares como se muestra en la Tabla 2 tiene la mayor memoria de programa Pese a no ser el m s potente del mercado ni el m s pegue o en dimensiones durante el desarrollo se han encontrado m ltiples facilidades A la hora de utilizar librer as por ejemplo se ha incorporado una biblioteca de funciones previamente definidas que coordinan la pantalla Su cantidad de pines posibilitan ampliar el proyecto para que los usuarios lo puedan personalizar a su gusto 15 SPN Z Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desa
72. io con el pulsador 5 solapa las pulsaciones realizadas con las previamente asignadas FIGURA 16 HRM 28 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a 4 SAT RUTAS Las rutas que lee el ciclocomputador deben estar en un formato especial Este formato se genera desde un programa desarrollado tambi n para este proyecto denominado SAT Rutas La raz n de este cambio de formato se realiza para agilizar la lectura por parte del microcontrolador y as poder acceder al archivo m s r pidamente Con la misma interfaz se ha aprovechado para personalizar una ruta incluyendo un entrenamiento basado en la frecuencia cardiaca SAT AS FIGURA 17 TRANSCRIPCI N SAT RUTAS 4 1 FORMATO GPX El formato GPX es com n en aplicaciones de rutas basadas en localizaci n Consiste en la descripci n de los puntos waypoints que conforman la ruta mediante coordenadas latitud longitud y altura Existen m ltiples programas y sitios web que permiten crear este tipo de archivos la m s utilizada para las pruebas ha sido Sport Route Planner Se a ade aqu un ejemplo de ruta en formato GPX para mostrar como los valores num ricos se entremezclan con texto que dificulta la selecci n de informaci n xml version 1 0 encoding UTF 8 gt lt gpx version 1 0 creator SATB ICAI 2014 xmlns xsi Based on S
73. itinerarios No existen proyectos como ste en un ambiente universitario en el que se desarrollen estas tecnolog as como algo global Aunque herramientas como las que se pretenden usar han sido estudiadas existen y con logros fascinantes 10 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desarrollo de un prototipo de ordenador para una bicicleta de monta a Con la salud como objetivo se han desarrollado muchos dispositivos capaces de medir frecuencia cardiaca y muchos otros par metros Las conexiones entre relojes y sensores para la pr ctica deportiva suele ser mediante tramas codificadas haciendo conexiones cerradas que facilitan la recepci n en ambientes multitudinarios Por seguir con una visi n de un sistema abierto se plante escoger la opci n de protocolo ANT Un sistema de transmisi n que opera en 2 4GHz y que las mejores firmas han incluido en sus dispositivos Existen varias aplicaciones con esta tecnolog a unos estudiantes de la universidad de Malasia fueron capaces de crear una red inal mbrica en la que exist a un traspaso de tramas de protocolos ANT en un ambiente de entrenamiento Un corredor utiliz los mismos m dulos para exponer en una camiseta repleta de LEDs el pulso de su coraz n Sin embargo la conexi n con estos equipos no ha sido posible Por contra se ha afiadido un sensor basado en el cambio de reflexi n de luz en la piel con el flujo sangu neo Proyectos con e
74. ltitude jelse altitud GPS altitude jelse myGLCD setColor 255 0 0 myGLCD fillCircle 10 310 3 myGLCD setColor 255 255 255 if maxlon 0 Serial println pos 0 6 Serial printin pos 1 6 myGLCD fillRect 5 pos 1 minlon maxlon minlon factx 3 30 maxlat pos 0 maxlat minlat 3 5 pos 1 1 maxlon minlon factx 3 30 maxlat pos 0 maxlat minlat facty 3 myGLCD fillRect 5 3 73 minlon maxlon minlon factx 3 30 maxlat 40 4 maxlat minlat facty 3 3 73 minlon maxlon minlon factx 3 30 maxlat 40 4 maxlat minlat fa Serial println ENTRO A APROBAR jelsef myGLCD fillRect 5 pos 1 minlon maxlon minlon factx 3 30 maxlat pos 0 maxlat minlat 3 5 pos 1 1 maxlon minlon factx 3 30 maxlat pos 0 maxlat minlat facty 3 if seconds 30 seconds 0 amp amp play if EEPROM isReady amp amp eeprom_ok true EEPROM writeInt 8 address 10 EEPROM writeFloat address latreal address address 4 EEPROM writeFloat address lonreal 62 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a address addresst4 Verificacion Serial print LATITUD println latreal print LONGITUD println lonreal print Serial
75. m chq3 num chq3b As Integer Permite la lectura de signos negativos y puntos decimales Dim style As Globalization NumberStyles Obtencion de datos en matrices MAXIMO 1000 Waypoints Dim numero 1000 4 grafica 1000 1 As Double Dim matriz 1000 4 Dim cant As Decimal Calculo de la distancia entre puntos Dim distancia delta dist As Double Dim intervalox intervaloy As Integer Variables escalar Dim min y max y As Double Dim max ax y min ax y As Double Subrutina BtnOpen Click Comentarios Permite abrir el directorio de archivos y escoger una ruta GPX Expone el nombre de la ruta en la ventana superior 3 Extrae los valores de la ruta y los guarda en variables globales Dibuja el perfil de altitud de la ruta Muestra en el cuadro de texto los detalles de cada waypoint Private Sub BtnOpen Click ByVal sender As System Object ByVal e As System EventArgs Handles BtnOpen Click Style NumberStyles AllowDecimalPoint results OpenFileDialogl ShowDialog If results DialogResult OK Then FileReader New StreamReader OpenFileDialogl FileName Nom RUTA Text Limpiar OpenFileDialogl FileName Inicializaciones para un nuevo archivo ReDim matriz 1000 4 cant 0 chequeosalida 0 While chequeosalida 0 linea FileReader ReadLine Linea de latitud y longitud chequeol linea Contains amp t amp r 6 k amp amp t amp amp 1 Linea de elevacion chequeo3 linea Contains
76. n dlat 2D 2D Math Cos lat1 d2r Math Cos lat2 d2r Math Pow Math Sin dlong 2D 2D c 2D Math Atan2 Math Sqrt a Math Sqrt 1D a d eQRadius c Return d End Function Funcion Dibujar Parametros double matriz int fila Devuelve 0 Comentarios Expone los valores de un waypoint a traves de la matriz que los contiene Private Function Dibujar ByVal matriz ByVal fila Expone los resultados en el texto TextBoxl Text TextBoxl Text Waypoint amp fila ToString vbNewLine TextBoxl Text lat 6 matriz fila 1 ToString vbNewLine TextBoxl Text lon amp matriz fila 2 ToString vbNewLine TextBoxl Text ele amp numero fila 3 ToString amp m vbNewLine TextBoxl Text HR amp numero fila 4 ToString vbNewLine TextBoxl Text Distancia recorrida grafica Num CHK Value 0 ToString amp m Return 0 End Function Funcion ESC ejes Parametros boolean opcion Devuelve 0 Comentarios Ajusta los ejes de la gr fica en funci n de las caracteristicas de la ruta Function ESC ejes ByVal opcion Ajusta el tamafio de los ejes ZOOM If opcion 1 Then MAX max y Maximo grafica 1 max ax y Math Round max y max y 10 100 0 01 100 If max ax y 0 Then Chart1 ChartAreas 0 AxisY Maximum max y 10 max y 10 Else Chartl ChartAreas 0 AxisY Maximum max ax y End If Chart1 ChartAreas 0 AxisY2 Maximum 250 MIN min y Mi
77. n prototipo de ordenador para una bicicleta de monta a Serial println Entra en positivo myGLCD fillRect 5 matriz_lon 0 minlon maxlon minlon factxt3 30 maxlat matriz_lat 0 maxlat minlat facty 3 5 matriz_lon 0 minlon maxlon minlon factx 3 30 maxlat matriz lat 0 maxlat minlat facty 3 myGLCD fillCircle 5 matriz lon i2 1 minlon maxlon minlon factx 30 maxlat matriz lat i2 1 maxlat minlat facty 3 for i 1 i lt i2 1 myGLCD drawLine 5 matriz_lon i 1 minlon maxlon minlon factx 30 maxlat matriz lat i 1 maxlat minlat facty 5 matriz lon i minlon maxlon minlon factx 30 maxlat matriz lat i maxlat minlat facty WHILE while 1 if GPS newNMEAreceived 1 if GPS parse GPS lastNMEA this also sets the newNMEAreceived flag if timer gt millis timer millis Cada segundo se obtiene info if millis timer gt 1000 timer millis pos 0 cDMinToDDeg GPS latitude pos 1 1 cDMinToDDeg GPS longitude if GPS fix 0 myGLCD setColor 0 255 0 myGLCD fillCircle 10 310 3 myGLCD setColor 255 255 255 CRONO amp EEPROM latreal cDMinToDDeg GPS latitude lonreal 1 cDMinToDDeg GPS longitude if play if GPS altitude gt altitud desnivel desnivel GPS altitude altitud else if GPS altitude lt altitud desnivel desnivel altitud GPS altitude altitud GPS a
78. namiento c El equipo dispondr de una interfaz para la monitorizaci n de la actividad en la que durante la marcha se muestre la siguiente informaci n e Posicionamiento GPS y localizaci n respecto a ruta 11 e Medidas sobre el estado f sico del deportista plan programado de pulsaciones y los valores reales seg n se obtienen e Medida en tiempo real de la distancia recorrida la velocidad de crucero evoluci n de altitud de la ruta y tiempo de ejercicio Adem s el proyecto utiliza software libre de forma que sea posible para otros usuarios ampliar el equipo con nuevos sensores e interfaces 3 ARQUITECTURA El sistema desarrollado se compone de los elementos que se muestran en la Figura 1 E W Temperatura Pulso cardiaco Tarjeta de C memoria Pantalla LCD FIGURA 7 COMPONENTES DEL PROTOTIPO El microcontrolador de bajo coste Arduino es el encargado de sincronizar las medidas obtenidas por los perif ricos de la imagen Estos hacen posible obtener la informaci n en el transcurso del recorrido GPS Aunque la actualizaci n de la localizaci n no se haga internamente en una interrupci n se utiliza el timerO del Arduino para administrar el periodo de solicitud de la posici n Pantalla y cron metro La pantalla se actualiza mediante comunicaci n serie con el bus Internamente actualiza las medidas de tiempo de la ruta administradas con el timer1 El microcontrolador gestiona el tiempo con p
79. nimo grafica 1 min ax y Math Round min y min y 10 100 0 01 100 Chart1 ChartAreas 0 AxisY Minimum min ax y Chart1 ChartAreas 0 AxisY2 Minimum 0 End If Return 0 End Function Funcion Limpiar Parametros string direccion Devuelve string nombre 79 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a Comentarios Elimina la direcci n del archivo qued ndose solo con el nombre de la ruta Function Limpiar ByVal direccion Obtains only the name of the file chq nombre InStrRev direccion nombre direccion Remove 0 chq nombre Return nombre End Function Fin del programa End Class 80 Vl HOJAS DE CARACTER STICAS Y LIBRER AS 1 HOJAS DE CARACTER STICAS Arduino MEGA http arduino cc en Main arduinoBoardMega2560 Pantalla TFTO1 2 2SP 240 x 320 lector SD http www elecfreaks com wiki index php title22 259622 TFT LCD 01 2 25 GPS MTK3339 Adafruit http www adafruit com products 746 Antena GPS con base magn tica http php2 twinner com tw files onshine ANT555 2006 NEW pdf DHT11 Sensor de Temperatura http www oddwires com content DHT11 pdf Sensor ritmo card aco Pulse sensor Amped http pulsesensor myshopify com 2 LIBRERIAS http henningkarlsen com electronics library php id 252 EEPROMex http pla
80. ns mainly focused on cycling Its low power consumption makes it possible to work more than 8 hours at full capacity and the accuracy can extract values for further analysis position error less than 10m In Figure 3 the results of a test are shown designed route on red and the track made by points in performance blue the values obtained during the QE EJgAutopista 29 poje O WP a ae FIGURE 3 TRACKS COMPARED It has come to carry out a first on board computer prototype Able to operate in two modes with or without preloaded route Interacting with information selected by the user inserting memory card Through six simple buttons the user manages to display information about the path FIGURE 4 MAIN SCREENS The user can choose between three screens as shown in Figure 4 Numerical values are shown in the monitoring screen Such as the distance covered or the accumulated height difference From here you can access the third screen which sets the altitude graph and the heart rate variation of the runner In the second a drawing with the appearance of the path and the trail that the sportsmen is performing One of the partial results is the program that transforms the incoming route in GPS extension Analyze the syntax of this file and extract the information obtained is one of the goals accomplished In addition to customizing the routes with a workout plan All this thanks to a visual interfa
81. o el contenido de la tramas m s utilizada en este proyecto GPGGA 1 2 3 4 5 6 7 8 9 19 11 12 13 14 GPGGA hhmmss ss II I X XX Xx M xx M xx xxxx hh TABLA 4 INFORMACI N OBTENIDA EN GPGGA UTC de la posici n Latitud NoS Longitud EoW Indicador de calidad GPS O invalido 1 GPS fix 2 Diff GPS fix N mero de sat lites activos HDOP Horizontal Diluition of Precision O ON RA Altitud de la antena sobre el nivel del mar 18 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI Desarrollo de un prototipo de ordenador para una bicicleta de monta a 10 Unidad de medida de 9 metros 11 Separaci n geoidal 12 Unidad de medida de 11 metros 13 ID de la estaci n de acceso 14 Checksum Adafruit ofrece una librer a que extrae directamente la informaci n de las tramas en variables individuales Descompone la informaci n y elimina los bits de control Adem s ofrece la posibilidad de mejorar la potencia de recepci n con una antena externa La antena que se ha incorporado en el proyecto est compuesta de un cable coaxial y una etapa de ganancia Permite tambi n colocar el punto de recepci n en alg n lugar m s visible como la parte trasera de la bicicleta 2 4 SENSOR DE FRECUENCIA CARDIACA Uno de los sectores de investigaci n m s vivos es el de la electr nica par
82. o o se muestran los importes parciales de cada uno de los elementos que componen las distintas categor as 3 1 COMPONENTES PRINCIPALES Componentes Cantidad Precio u Coste total Arduino MEGA 2560 1 41 00 41 00 Placa Board 1 4 49 4 49 Pantalla TFT SPI 2 2 1 13 36 13 36 M dulo GPS MTK3339 1 31 10 31 10 Antena GPS con base m gnetica 1 10 80 10 80 Sensor de ritmo cardiaco 1 18 50 18 50 Sensor de temperatura y humedad 1 4 50 4 50 DHT 11 Pulsadores 6 0 20 1 20 Resistencias 23 0 10 2 30 Cable m 4 0 60 2 40 TOTAL 129 65 TABLA 15 SUMAS PARCIALES COMPONENTES PRINCIPALES 3 2 EQUIPO Y HERRAMIENTAS Horas de Horas por Precio Amortizaci n Componentes Unidades Coste proyecto u anual Ordenador 1 500 1600 620 00 2596 48 44 Kit Soldadura 1 2 40 11 50 2596 0 14 Pol metro 1 1 450 39 90 2596 0 02 Bater a 1 10 200 29 99 2596 0 38 5200mAh 47 SED 249 Universidad Pontificia Comillas Escuela Superior de Ingenier a SATBIKE LAOS Desarrollo de un prototipo de ordenador para una bicicleta de monta a TOTAL 49 00 TABLA 16 SUMAS PARCIALES EQUIPOS Y HERRAMIENTAS 3 3 SOFTWARE Horas de Horas por Precio Amortizaci n Programa Uds Coste proyecto ano u anual Arduino IDE 1 750 1000 0 0 Microsoft Visual Studio
83. or hace la conversi n de anal gico a digital Los buses de comunicaci n utilizados son I C y SPI Est ultima interfaz serie solamente es accesible con los pines preparados para ello 50 51 52 y 53 La transacci n de archivos con la tarjeta SD requeria esta interfaz de comunicaci n dejando los otros perif ricos con comunicaci n serie 2 Esta tarjeta consta de tres tipos de memoria 256kB de memoria flash Aunque 8kB contienen el gestor de arranque el programa total ocupa 85kB dejando memoria libre para nuevas funcionalidades 8kB de memoria SRAM Aqu residen los valores que toman las variables del programa 16 Mara 559825174 242 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT lt SATBIKE 9 Desarrollo de un prototipo de ordenador para una bicicleta de monta a e 4kB de EEPROM Recoge los datos por los que transcurren las rutas que se quieren registrar Esta memoria no vol til se ha ordenado seg n muestra la Tabla 3 Reg DEC Reg HEX 101112 1314 1516 718 9 0000 0x0000 fecha hora n 0010 0x000A latitud longitud HR 0020 0x0014 latitud longitud HR 0030 Ox001E latitud longitud HR latitud longitud HR 4070 OxOFE6 latitud longitud HR 4080 OxOFFO latitud longitud HR 4090 OxOFFA latitud longitud HR TABLA 3 GESTI N EEPROM Los registros se ordenan en paquetes de 10 bytes llegando a tener una ca
84. pacidad de 400 En los cuatro primeros se coloca una variable de tipo float igual que en los cuatro siguientes Los bytes 8 y 9 de cada trama de 10 corresponden al valor de frecuencia cardiaca albergado en una variable entera En la primera fila se escribe la fecha y hora cuando comienza la ruta los bytes 8 y 9 albergan una variable entera que representa el n mero de puntos guardados en la ltima ruta guardada FIGURA 3 IMAGEN DEL PROTOTIPO 2 2 PANTALLA LCD GESTI N TARJETA SD El m dulo utilizado este proyecto incorpora una pantalla de 2 2 pulgadas y conectores para una tarjeta SD a trav s de bus SPI El display tiene una resoluci n 240 x 320 pixeles con un pin exclusivo para activar la luz interna de la pantalla y poder visualizar los colores Trabaja con la gama de colores RGB que se definen como la mezcla de los colores primitivos rojo verde y azul Pese a contener millones de colores el tamano de la pantalla hace que algunos colores no se diferencian bien Por eso se han escogido colores 17 559825174 242 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI ol Bike Re 250 Desarrollo de un prototipo de ordenador para una bicicleta de monta a ATR intensos como el rojo negro y blanco para contrastar bien los datos y poder leer mas rapidamente la informacion Para la comunicaci n serie se emplean 5 pines CS RS SCL SDA y RST que barren cada fila de
85. play lt 10 myGLCD printNumI min_display 25 246 else myGLCD printNumI min_display 10 246 R oge valor sensor if QS true myGLCD setFont SevenSegNumFont if BPM lt 100 if vez 1 myGLCD setColor 0 0 0 myGLCD fillRect 120 240 230 300 myGLCD setColor 255 255 255 vez 0 myGLCD printNumI BPM 160 250 jelse myGLCD printNumI BPM 130 250 vez 1 myGLCD setFont BigFont reset del conteo de maximos 05 false valor_ant4 0 valor act4 digitalRead boton 4 if valor ant4 valor act4 ss valor act4 PANT 0 66 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a valor ant4 valor act4 if digitalRead boton 1 break return Kk Kk KK k k k k k k K Kk Kk K Kk KK HH k k Kk Kk k k k Devuelve Comentarios Dibuja el perfil de corazon altura AER Opci n de mostrar la variaci n del perfil efectuado A void PANT HRM int activo char caracter 2000 float dist 50 dist 0 0 int hechol hecho2 hechoa hechob int punto float 0 1 2 0 2 float act bct int maxval a int i i2 coma contini boolean menosmax 1 menosmin 1 menos coma 0 0 12 0 contini 0 myGLCD clrScr myGLCD setColor 255 0 0 myGLCD fillRect 0 0 240 16 myGLC
86. port Route Planner xmlns http www topografix com GPX 1 0 xsi schemaLocation Ruta Ejemplo exension GPX trk lt number gt 1 lt number gt lt trkseg gt lt trkpt lat 36 27468445279199 lon 5 28441309928894 gt lt ele gt 3 lt ele gt lt trkpt gt lt trkpt lat 36 27397519237707 lon 5 284906625747681 gt lt ele gt 6 lt ele gt lt trkpt gt lt trkpt lat 36 27349081570802 lon 5 285528898239136 gt lt ele gt 3 lt ele gt lt trkpt gt lt trkpt lat 36 274874741075365 lon 5 290356874465942 gt TABLA 5 CONTENIDO FORMATO GPX 29 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI SAT BIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a 4 1 ARCHIVO SALIDA El formato de texto que se obtiene tiene la siguiente sintaxis maxlat 36 2898918619705 minlat 36 273490815708 maxlon 5 28441309928894 minlon 5 31398177146912 Tdist 05383 WAYpoint000 36 27468445 5 28441310 0003 080 WAYpoint001 36 27397519 5 28490663 0006 082 WAYpoint002 36 27349082 5 28552890 0003 090 TABLA 6 SATB TXT Las primeras cinco l neas aportan informaci n general sobre el conjunto de la ruta Valor m ximo de latitud longitud y el valor m nimo Esto permite ajustar la pantalla sin tener que hacer m s operaciones internas La l nea Tdist la distancia en metros del total de la ruta A partir
87. r de Ingenier a ICAI BIKE Desarrollo de un prototipo de ordenador para una bicicleta de monta a int N sampleCounter lastBeatTime avoid noise monitor the time since the last beat to find the peak and trough of the pulse wave if Signal lt thresh amp amp N gt IBI 5 3 avoid dichrotic noise by waiting 3 5 of last IBI if Signal T T is the trough T Signal keep track of lowest point in pulse wave if Signal gt thresh amp amp Signal gt P thresh condition helps avoid noise P Signal P is the peak keep track of highest point in pulse wave NOW IT S TIME TO LOOK FOR THE HEART BEAT signal surges up in value every time there is a pulse IE N gt 250 f avoid high frequency noise if Signal gt thresh amp amp Pulse false amp amp N gt IBI 5 3 Pulse true set the Pulse flag when we think there is a pulse digitalWrite blinkPin HIGH turn on pin 13 LED IBI sampleCounter lastBeatTime measure time between beats in mS lastBeatTime sampleCounter keep track of time for next pulse if secondBeat if this is the second beat if secondBeat TRUE secondBeat false clear secondBeat flag for int 0 lt 9 1 seed the running total to get a realisitic BPM at startup rate i IBI if firstBeat if it s the first time we found a beat if firstBeat TRUE firstBeat false clear firstBeat fla
88. r el n mero de sensores a utilizar d Incorporaci n de sensores nuevos como un gir scopo o un sensor de cadencia Aumentar las variables que definen una ruta y poder completar el entrenamiento Un aceler metro podr a obtener con m s precisi n distancias y velocidades instant neas e Incorporar sefiales de prevenci n de riesgos Con un gir scopo poder enviar un mensaje de ayuda con la ca da del ciclista d Posibilitar al algoritmo de ruta aumentar la zona geogr fica Conseguir hacer zoom y moverse en el dibujo de un itinerario Pese a que las funcionalidades est n dirigidas hacia el mundo de las dos ruedas La misma estrategia se podr a aplicar a otras destrezas como monta ismo footing o deportes en el mar como vela kitesurf o windsurf 7 2 MODO GRUPO Con una red de dispositivos del mismo tipo se podr a intercambiar informaci n en tiempo real creando equipos de entrenamiento donde unos y otros mejoren sus marcas tirando del grupo Con el env o de sef ales de radio se planear an rutas compartidas 35 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a Otra aplicaci n de comunicaci n podr a ser enviar los datos a una central Albergada una base de datos recibe el detalle de todos los ciclistas Un m dico que controle a todos los ciclistas de su equipo a la vez Por ejemplo un desarrollo de e
89. recisi n de milisegundos en cambio la pantalla tarda un segundo en actualizarse La alimentaci n de la pantalla y sus entradas de datos trabajan a 3 3V por lo que ha sido necesario utilizar un divisor de resistencias para reducir los niveles de tensi n desde el Arduino Mega a la pantalla Tarjeta SD La comunicaci n con la tarjeta de memoria se realiza a trav s del est ndar posible la lectura y escritura de archivos SPI El Arduino posee unos pines espec ficos para este tipo de comunicaci n haciendo Sensor de temperatura La lectura se hace de manera digital Recibe informaci n peri dicamente y despu s de transformar el dato a grados Celsius se expone en pantalla La sefial se transforma a digital en el propio sensor Sensor de pulso card aco Cada 2ms el timer2 del Arduino actualiza el valor de lectura FIGURA 2 PROTOTIPO Tras 250 muestras de este tipo el programa detecta los picos y calcula el n mero de pulsaciones en ese tiempo La medida que se expone en pantalla es la extrapolaci n de ese dato a un minuto La sefial anal gica se transforma a digital internamente en el sensor p Pulsadores La interfaz se gestiona con seis pulsadores pull down Cada uno se lee de manera digital con un detector de flanco La ruta que se carga en la tarjeta de memoria debe preparase en un formato reducido que recoge exclusivamente los valores tiles para esta aplicaci n Esta misi n la realiza un p
90. rmation is displayed e GPS positioning and location in a route e Measures on the physical condition of the athlete programmed pulse rate plan and actual values obtained e Real time measurement of distance cruise speed altitude evolution of the route and time In addition the project is built on a free software basis so that every owner can expand the system with new sensors and original interfaces 3 ARCHITECTURE The system has been developed with the elements shown in Figure 1 E W Temperature Heart rate Memory card LCD Screen The low cost Arduino microcontroller is responsible for the synchronization of the FIGURE 1 PROTOTYPE COMPONENTS measurements obtained by the peripherals show above The information during travel is obtained due to GPS Although it is not controlled directly with interruptions timerO is used to compare time while a position request takes place Screen and chronometer The display is updated through serial communication with the bus I C Internally time measurements are obtained with Arduino s timer1 The microcontroller manages the time with microseconds precision while each second changes the new value is sent to the display The display power and data signals operate at 3 3V A voltage divider with resistors has been implemented to reduce the logic levels from the Arduino Mega to the screen SD card Communication with the memory card is performed via the SPI s
91. rograma en el ordenador que re ne las siguientes funcionalidades v Y Y Y Y Cargar ruta en formato GPX Presentar en una gr fica el perfil de altitud Mostrar en una ventana la informaci n de cada punto definido en la ruta Asociar con un cursor el entrenamiento cardiaco a cada punto de la ruta Exportar los valores en un formato descifrable por el prototipo La interacci n del programa que prepara la ruta y el dispositivo que la monitoriza en su transcurso compone el conjunto del proyecto 4 RESULTADOS Tras las pruebas en campo con rutas de distintos tipos se han obtenido resultados satisfactorios La operabilidad de este dispositivo es suficientemente potente para deportistas centrados en el ciclismo Su bajo consumo hace posible trabajar m s de 8 horas a pleno rendimiento y su precisi n permite extraer valores para su posterior an lisis error de posici n inferior a los 10m En la Figura 3 se compara el resultado de precisi n de la ruta programada en linea roja y los puntos por los que el usuario pasa y recoge la posici n San SE Autopista n 9108 o 2 o WP AY FIGURA 3 COMPARACION RUTAS EN PRUEBA Se ha llegado a realizar un primer prototipo de ordenador de a bordo Capaz de operar en dos modos con o sin ruta precargada Puede interactuar con informaci n escogida por el usuario y f cilmente insertable con una tarjeta de memoria A trav s de seis sencillos pulsador
92. rrollo de un prototipo de ordenador para una bicicleta de monta a d SATBIKE Marca Arduino Microchip Texas Instrument Arduino MEGA 2560 Modelo dsPIC18F2550 MSP430F5418 ATM2560 Velocidad MHz 16 40 18 2 x 8 bit 1 x 8 bit Timers 3 x 16 bit 4x 16 bit 3 x 16 bit Memoria programa 256kB 32kB 128kB EEPROM 4kB 256B 512B A D 16 canales 10 bit 13 canales 10 bit 16 canales 12 bit 4 x UART 1 x UART i Comunicaci n 4 x Serial 1 x SPI 1 x SPI I C Tensi n de trabajo 5V 2 0V to 5 5V 2 2V to 3 6V Entorno de trabajo Arduino IDE MPLAB Energia Precio 41 00 16 72 5 16 5 79 TABLA 2 COMPARACION DE uC En relaci n a la transferencia de datos con los sensores se han empleado tres timers El timerO de 8 bits se utiliza para calcular la funci n interna millis que acumula el tiempo que el programa lleva operativo Una vez se desborda el valor vuelve a comenzar La comparaci n con el n mero que alberga esta operaci n hace posible enviar las tramas de posicionamiento El GPS env a las tramas seg n el protocolo NMEA y espera contestaci n El timer1 aloja con precisi n de microsegundos el cron metro de las rutas Con un preescalado se reduce la velocidad del reloj 16MHz para gestionar los segundos minutos y horas del ejercicio La llamada al sensor de frecuencia cardiaca se realiza mediante una interrupci n Cada 2ms se recoge el valor sensor Internamente el microcontrolad
93. sor pulsaciones Mmin ssss eese a n sn RR RR P ne 21 Figura A Pulsadores Prototipo sssrinin biete oe ve e open eben nenne 22 Figura 8 Pull down pulsadores I I nana 22 Figura 9 Detalle Explosionado Prototipo essere entree 23 Figura 10 Diagrama de estados eene nennen tnnt tenente KR R RR entree nennt 25 Figura 11 Pantalla modo Ibre nente tette KRK KR KKK RK R RR HE HK RR R 26 Figura 12 Mapa funcionalidad rutas eei KRK NG R RR RR eene nt 27 27 PIMA Tab RUTA iaa Nacio E 27 Figura TD MOBItOFIZACI D a edant is ta fere c EE ERR 28 Figura T6 HRM ib oie etu b b en b d bon bb 28 Figura 17 Transcripci n SAT RUTAS seti rait tre eet nos una ink 29 Figura 18 Interfaz SAT RUTAS isse t Meas etie i ere ete OR D a ihn 30 Figura 19 Comparaci n rutas prueba eene tnter entente teen 31 Figura 20 Pantallas principales Lu cera RR 32 Figura 21 Simulaci n 3D del 33 Figura 22 Partes interfaz SAT RUTAS inneren anar R R R nennen 51 Figura 23 Inicial pulsadores Js op haku ort PERO 53 Figura 24 Rita 4 pulsadoras x iia RARE rh qo a m debate eH t dee idee ats 53 Figur
94. ste tipo de perif ricos hay muchos Uno particular que llama la atenci n es el de la Universidad sueca Viktoria ICT que incorpora en un casco de bicicleta este medidor con comunicaci n bluetooth que gestiona desde un dispositivo m vil 1 2 MOTIVACI N DEL PROYECTO Existen varias razones principales por las que este proyecto parece atractivo Permite prescindir del m vil por los siguientes inconvenientes En varios lugares donde es comun la pr ctica deportiva como en el monte no una cobertura estable para utilizar las aplicaciones que alberga un smartphone El uso del tel fono para servicios de este tipo aumenta el rendimiento y hace que el consumo de la bater a se dispare Los sistemas son cerrados y permiten poca personalizaci n Equipos delicados con muchas caracter sticas no resistentes a un ejercicio intenso en bicicleta La propuesta que se plantea pretende adem s de paliar las necesidades anteriores sumar Personalizar el entrenamiento en rutas bas ndose en la evoluci n de frecuencia cardiaca Desarrollo de un dispositivo de bajo coste Posibilidad de ampliar las medidas que captura el ordenador Escalable seg n los usuarios Libre de conexi n mediante cobertura y capaz de precargar rutas sin acceso web 11 559825174 242 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI lt SAT BIKE 5 2 Desarrollo de un prototipo de ordenador para una bicicleta
95. ste tipo se ha llevado a cabo en el proyecto titulado Desarrollo de sistema de comunicaciones para una bicicleta de monta a que interconecta radios albergadas en bicicletas 36 LA T A SAT 242 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAI BIKE Re 19 7 Desarrollo de un prototipo de ordenador para una bicicleta de monta a 8 REFERENCIAS 1 N S A Zulkifli Harun N S Azahar Xbee Wireless Sensor Networks for Heart Rate Monitoring in Sport Training 2 M Betancur A Jaramillo M Ospina B Moreno A Tejada Disefiar e Innovar el pulsiox metro de forma creativa y pr ctica para obtener resultados efectivos a la hora de la lectura de sus datos como la ox genaci n oxihemoglobina metahemoglobina Sep 2011 3 L Aguirre Valencia Disefio y construcci n de un ox metro de pulso mediante la utilizaci n de una plataforma de automatizaci n momentum 2007 4 A Yarlalagadda Digi Key Designing a Wireless Heart Rate Monitor with Remote Data Logging Feb 2012 5 C Cupeiro Dur n J L pez Gonz lez D Redondo Arroyo Ordenador de a bordo visualizaci n de velocidad distancia temperatura Universidad Rey Juan Carlos 2012 6 T Basagoiti Fern ndez de la Puente Automatizaci n de una casa a escala Gesti n de energ a May 2013 7 Ron Spinning magnets Electricbike Qoros eBIQE Exotic Concept E Bike Mar 2014 8 Z Romano DI
96. t altitud desnivel desnivel altitud GPS altitude altitud GPS altitude punto Calcula_WPOINT float cDMinToDDeg GPS latitude at cDMinToDDeg GPS longitude i3 Serial print Serial print punto Serial print Serial println myGLCD drawLine 0 300 alt hr 0 1 300 240 100 300 alt hr 1 1 300 240 if BPM gt 35 myGLCD fillCircle 240 punto i3 300 float BPM 240 300 3 1 myGLCD fillCircle 240 punto i3 300 f10at 35 240 300 3 if seconds 30 seconds 0 amp amp play if EEPROM isReady amp amp eeprom_ok true 68 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a EEPROM writeInt 8 address 10 EEPROM writeFloat address latreal address addresst4 EEPROM writeFloat address lonreal address addresst4 if BPM gt 35 EEPROM writeInt address BPM jelse EEPROM writeInt address 35 address addresst2 eeprom_ok false Dibujo lo que llevo recorrido if eeprom_ok false amp amp seconds gt 5 amp amp seconds lt 10 seconds gt 35 amp amp seconds lt 40 Serial println ENTRA A CAMBIAR EL VALOR de CONTROL EEPROM eeprom_ok true valor_ant6 0 valor_act6 digitalRead boton_6 if valor ant6 valor act6 amp amp valor act6 for i 1 i lt 80 10 i if address 10
97. t_minlat 6 48 pow 10 caracter cont_minlat 8 48 10 7 if caracter cont_maxlon 0 menosmax 0 if menosmax maxlon 1 caracter cont maxlon 1 48 caracter cont maxlon 2 48 pow 10 1 caracter cont maxlon 3 48 pow 10 2 caracter cont 41 48 10 3 caracter cont_maxlon 5 48 pow 10 4 caracter cont_maxlon 6 48 10 5 caracter cont_maxlon 7 48 pow 10 6 caracter cont_maxlon 8 48 10 7 Jelse maxlon caracter cont_maxlon 1 48 caracter cont_maxlon 2 48 10 1 caracter cont_maxlon 3 48 10 2 caracter cont_maxlon 4 48 10 3 caracter cont_maxlon 5 48 pow 10 4 caracter cont_maxlon 6 48 10 5 caracter cont_maxlon 7 48 pow 10 6 caracter cont_maxlon 8 48 10 7 if caracter cont_minlon 0 menosmin 0 if menosmin minlon 1 caracter cont_minlon 1 48 caracter cont_minlon 2 48 pow 10 1 caracter cont_minlon 3 48 pow 10 2 caracter cont_minlon 4 48 pow 10 3 caracter cont_minlon 5 48 pow 10 4 caracter cont_minlon 6 48 pow 10 60 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a 5 caracter cont_minlon 7 48 10 6 caracter cont_minlon 8 48 10 7
98. tandard The Arduino has specific pins for this type of communication These libraries enables reading and writing to files Temperature sensor The reading is done digitally The information is received periodically and after transforming the input to degrees Celsius it is displayed on the LCD screen Heart rate sensor The timer2 inside the Arduino stores a value every 2ms After 250 FIGURE 2 PROTOTYPE samples an algorithm detects every peak and obtains the number of pulses in that time The value shown is an extrapolation of the last result to one minute Buttons interface is managed with six pull down buttons Each is read digitally through an edge detector The route loaded into the memory card should be prepared in a specific format that collects only useful values for this application This task is performed by a computer program encountered in the objectives of the project which includes the following features Load route in GPX extension Exhibit a graph with the altitude variation v Y Y Y Y Export values in a legible format by the prototype Displayed in a window the information for each waypoint on the trail Link with a cursor the expected values of heart rate The interaction of these two individual systems complete the entire project 4 RESULTS After successful field tests with different types of trails the operability of the device is powerful enough for big sport fa
99. valor del num de waypoints EEPROM float latreal lonreal int address 10 byte value static boolean eeprom ok false SD File root File archivo static int i String nombre String seleccion PULSADRORES Pines const int boton 1 22 const int boton 2 23 const int boton 3 24 const int boton 4 25 const int boton 5 26 const int boton 6 27 Detectores de flanco independientes static int valor act valor ant valor ant2 valor act2 static int valor act3 valor ant3 valor act4 valor ant4 static int valor act5 valor ant5 valor act6 valor ant6 MAQUINA de ESTADO static int estado boolean ruta ini true Detector de ruta boolean cambio Controles del CRONOMETRO static boolean play 0 pause var_stop punto_0 1 Kkk kk k k k k k k k k k k k k k k k k k k k k k k k k k k k KK f Kk k k k k RK SETUP Kk KK k k k k k k k k BRK KK k k k k k k k k k k k k k k k k k k k k k k k k k k k k k void setup Serial begin 9600 PANTALLA myGLCD InitLCD 0 myGLCD setFont BigFont estado 0 GPS GPS begin 9600 GPS sendCommand PMTK_SET_NMEA_OUTPUT_RMCGGA GPS sendCommand PMTK SET NMEA UPDATE 1 2 Actualiza cada 1Hz useInterrupt true SD pinMode 53 OUTPUT 56 Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta
100. ximo de 1 columna de una matriz Function Maximo ByVal valores ByVal column Calcula el m ximo de una columna Dim max valor As Double max valor valores 0 column For i 1 To cant 1 If max valor valores i column Then max valor valores i column End If Next Return max valor End Function Funcion Minimo Parametros double valores int column Devuelve double min valor Comentarios Calcula el m nimo de 1 columna de una matriz Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a Function Minimo ByVal valores ByVal column Calcula el minimo de una columna Dim min valor As Double min valor valores 0 column For i 1 cant 1 If min valor valores i column Then min valor valores i column End If Next Return min valor End Function Funcion HaversineInKM Parametros double latl double longl double lat2 double long2 Devuelve double d Comentarios Calcula la distancia en linea recta entre dos puntos a trav s de sus coordenas Private Function HaversineInKM ByVal latl ByVal longl ByVal lat2 ByVal long2 Calcula la distancia entre dos puntos a partir de su LAT y LON Dim dlong dlat As Double Dim a c d As Double Dim d2r eQRadius As Double d2r Math PI 180D eORadius 6378 137D dlong long2 longl d2r dlat lat2 1 41 d2r a Math Pow Math Si
101. xisY2 MinorGrid Enabled False OPCIONAL Llamada a una funci n escaladora de ejes ESC ejes 1 Comenzar con el texto en el primer Checkpoint Dibujar matriz 0 End If End Sub Subrutina Num CHK ValueChanged Comentarios Permite modificar el waypoint seleccionado Cambia la informaci n de la ventana de texto Actualiza la posici n del cursor Private Sub Num CHK ValueChanged ByVal sender As System Object ByVal e As System EventArgs Handles Num CHK ValueChanged Num CHK Maximum cant 1 Num CHK Minimum 0 Modifica los datos de waypoint Dibujar matriz Num CHK Value Coloca el cursor en el checkpoint fijado Chartl ChartAreas 0 CursorX SetCursorPosition grafica Num CHK Value 0 End Sub Subrutina Asig HRM ValueChanged Comentarios Escoge los limites superior e inferior en las modalidades de porcentaje o absoluto Permite escoger entre un selector de n mero la frecuencia Universidad Pontificia Comillas Escuela Superior de Ingenier a ICAT Desarrollo de un prototipo de ordenador para una bicicleta de monta a Private Sub Asig HRM ValueChanged ByVal sender As System Object ByVal e As System EventArgs Handles Asig HRM ValueChanged If PorcentajeTICK Checked Then Asig HRM Maximum 100 Asig HRM Minimum 0 Else Asig HRM Maximum 250 Asig HRM Minimum 0 End If End Sub Subrutina PorcentajeTICK CheckedChanged Comentarios Determina el modo de introducci n de valores de frecuencia
102. yground arduino cc Code EEPROMex Adafruit_GPS http playground arduino cc Code EEPROMex DHT11 http playground arduino cc Main DHTLib 81
Download Pdf Manuals
Related Search
Related Contents
1 - ILO D-309H - Onkyo HP Photosmart D6100 series On trouvera ici le rapport complet (en mode 4.4 Mo) Télécharger le manuel Euro-Pro UV627 Lawn Sweeper User Manual Études françaises Descriptifs des cours MANUEL D`UTILISATION Copyright © All rights reserved.
Failed to retrieve file