En los últimos años el envejecimiento de la población ha aumentado considerablemente y los pronósticos indican que en el año 2040 la población de más de 60 años superará a los que estén en su primera infancia. Este suceso se debe en parte a la mejora de la calidad de la vida: el desarrollo de la ciencia y la tecnología ha influido en todos los sectores en general; los avances en la alimentación y las mejoras sanitarias en la prevención, atención y cuidados de los enfermos son ejemplos del desarrollo del estado del bienestar.
Dos son las causas principales de aumento de la esperanza de las poblaciones humanas. Por un lado, la mejora del nivel de vida: tener recursos económicos suficientes, contar con una educación de calidad, saber cuidarse mejor… En un amplio sentido, se podría hablar de prosperidad. El otro gran avance procede de las mejoras sanitarias, fruto del conocimiento que nos ha proporcionado la ciencia: mejores medidas y políticas de higiene, un medio ambiente más saneado, una medicina cada vez más precisa y personalizada. Por tanto el avance de la medicina ha propiciado que el ser humano viva más años.
.
.
Prototipo del proyecto
.
Por otro lado, gracias a factores disruptivos como Internet y la gama de servicios que ofrece la mejora de la calidad de la vida cotidiana se ha acentuado aún más. Hoy en día Internet se ha vuelto indispensable en la vida de millones de personas y empresas. La influencia que ha tenido Internet en la sociedad actual es brutal, ya que ha cambiado la forma de realizar actividades tan comunes como la comunicación, interacción, intercambio de información o las nuevas estrategias de marketing de las empresas.
El impacto del concepto del Internet de las cosas ha sido tal que el propósito es evolucionar hasta el punto de poder conectar cualquier cosa a la red, es decir, “el Internet de todo”. Hasta ahora pocos eran los objetos que estaban conectados a la red, pero eso ya es historia, la nueva forma de comunicarse implica el que todas las cosas y personas estén conectadas a la red y en eso consiste el reto; poder proporcionar información vital del paciente cuando sea necesario para mejorar su calidad de vida.
La automatización de los hogares puede ayudar a mejorar el día a día de las personas que además de tener una edad avanzada tengan necesidades especiales. Los hogares domotizados permitirán en un futuro próximo que las personas mayores puedan vivir con independencia en su casa.
La influencia y la expansión de Internet junto con la posibilidad de automatizar los hogares, y con las nuevas necesidades surgidas por los avances de la medicina, nos ha llevado a fusionar los conceptos y realizar el proyecto al cual hemos bautizado con el nombre de “NURSE” (Nursing´s Unattended Robotics Service).
La idea consta de dos partes (ver Ilustración 2); la primera física que tendrá el paciente en su casa y que lo componen todos los aparatos de medición del estado del paciente y un dispensador de medicamentos, y por otro lado la comunicación entre paciente-médico-objetos utilizando Internet y Google Calendar para explotar el concepto del Internet de todo.
De esta manera conseguimos aprovechar el potencial de Internet con los avances de la tecnología y la medicina, creando un proyecto ambicioso y a su vez con futuro prometedor.
.
Descripción gráfica del proyecto
.
Proyecto en colaboración
El proyecto NURSE busca que profesores y alumnos sean los actores principales de una práctica real. El desarrollo de proyectos colaborativos en la Formación Profesional añade valor a las metodologías didácticas que organizan el proceso de enseñanza y aprendizaje de forma colaborativa entre los alumnos y profesores.
El equipo NURSE lo constituyen ocho personas: 3 alumnos y un profesor del centro La Salle Berrozpe de Andoain, y otros 3 alumnos y un profesor del Instituto específico de formación profesional superior Don Bosco de Renteria.
.
Justificación del proyecto
El objetivo del proyecto viene marcado por las necesidades surgidas en consecuencia del envejecimiento progresivo de la población en los países con un nivel de desarrollo avanzado. La mejora general en la calidad de vida ha alargado la longevidad media de la población notablemente, un factor que ha solicitado a la medicina un avance en su modo de interactuar con los pacientes.
Es aquí donde la telemedicina empieza a cobrar un papel relevante ya que la implementación de sus servicios pueden aportar mejoría con las soluciones tecnológicas actualmente disponibles mejorando aspectos cualitativos, cuantitativos y de eficiencia. Los indicadores de esta mejoría deberán ser no sólo económicos, sino también de calidad y de impacto social.
Tal impacto se reflejará tanto en las personas como en el centro. Los pacientes, médicos, cuidadores y la familia serán los grandes beneficiados, ya que su situación será más confortable y eficiente. La conciliación de la vida familiar se verá también beneficiada, debido a que el paciente no necesita ser ingresado.
La automatización de las mediciones de constantes vitales en el entorno del paciente, dando una respuesta rápida y eficaz a sus necesidades, puede mejorar muchísimo su calidad de vida. Esto afecta básicamente a personas que tienen una movilidad reducida y que necesitan un seguimiento personalizado pero no precisan de ingreso hospitalario.
La medicina a distancia contribuye además a descongestionar la saturación de los centros de salud, ya que muchas tareas pueden ser ejecutadas en la vivienda habitual de los pacientes sin disminuir la calidad del servicio.
.
Descripción técnica
El objetivo principal es construir y desarrollar un sistema de salud integral para el paciente (ver Ilustración 2). El proyecto constará de dos partes: la parte mecánica y la electrónica. En la parte electrónica irá una pantalla táctil para que el paciente pueda seleccionar las mediciones que desee y comprobar los resultados correspondientes. Junto a la pantalla se encontrará la placa e-Health, controlada por un Arduino.
Esta placa e-Health es una plataforma de sensores diseñada por la empresa Cooking Hacks, la cual está predestinada para supervisar a pacientes con sus diferentes sensores, también creados por ellos. En la placa se conectarán los sensores de medición de diferentes constantes corporales (glucómetro, flujo de aire, acelerómetro, medición temperatura, etc). Una vez seleccionado el parámetro en la pantalla, el correspondiente sensor hará la medición y la mostrará. Junto la placa de Cooking Hacks y el Arduino irá otra placa Arduino. Este último lo utilizaremos para transmitir nuestra información y subirla a Internet mediante el adaptador de WI-FI.
.
Diagrama de flujo
.
Esos datos que se han obtenido mediante los sensores y han sido procesados por el microcontrolador del Arduino serán enviados y almacenados en una base de datos alojada en un servidor privado. El médico, mediante el buscador de la página web, podrá disponer de dichos datos desde el mismo momento en que el paciente se haga las pruebas y valore la medicación que necesita. El mismo médico será el encargado de programar dicha dosis que el dispensador deba administrar al paciente, mediante la implementación de Google Calendar en esa misma web seleccionando el calendario concreto del paciente y colocando la orden a la hora indicada.
La parte mecánica consta de un dispensador con unos servomotores donde se almacenarán los diferentes tipos de pastillas. Cada cilindro dispone de un mecanismo de apertura conectado a la placa de Arduino que dejará caer la cantidad establecida por el médico en la plataforma Google Calendar. Así el paciente recibirá la dosis diaria necesaria.
.
Desarrollo y construcción del prototipo
Programación
Para crear la programación, se ha diseñado un diagrama de flujo del programa , el cual puede servir de guía a la hora de crear el programa.
.
Diagrama de flujo 1
.
En él se aprecia como tenemos una pantalla inicial que nos lleva a otra en la que el usuario puede elegir el sensor deseado para realizar la medición. Se realizará al menos una medición antes de pulsar el botón de mandar los resultados. Al pulsar el botón de resultados, se mostrarán los resultados medidos y se mandarán al Arduino. Se medirá automáticamente la posición del acelerómetro y también será trasmitida por el puerto serie, como los datos anteriores.
.
Diagrama de flujo 2
.
Al principio el programa se divide en dos partes: por un lado, recibe los datos de los sensores y los guarda en una base de datos y por otro lado, mediante una pagina web se lee los datos de la base de datos de un paciente. Junto a los resultados se abre el Google Calendar en el se escribira la hora a la que se dispensara al paciente la medicina. La hora a la que se programe el Google Calendar estara continuamente comparandose con la hora actual y cuando coincidan dependiendo de lo escrito en el evento movera un servo u otro y caera la pastilla correspendiente.
Simulación del circuito
En esta fase se carga el programa anteriormente explicado en el Arduino virtual que nos ofrece el software de Proteus llamado ISIS y así se ha podido comprobar el correcto funcionamiento del circuito. Este software es de gran utilidad para la realización de este proyecto, ya que haciendo la simulación, se da un gran paso ante la fabricación posterior, depurando los posibles fallos que puedan surgir.
.
Esquema ISIS
.
Acopio de material
Una vez hecha la simulación y comprobar su buen funcionamiento, se tiene que hacer la recopilación de los componentes a utilizar. Para este proyecto se han recopilado los siguientes materiales:
1x Arduino UNO Rev3
1x Raspberry Pi modelo B
1x Fuente de alimentación 5V-1A
1x Jack hembra
Resistencias 1/4w smd
Led amarillo smd
Oscilador 16MHz
Pulsador para el reset smd
Condensador 47uF 25v smd
Regulador de tensión 7805
Zócalo para arduino
Chip ATMEGA 328
Zócalo para chip de 28 pines
Conector 6 pines ICSP para Arduino
LCD táctil para Arduino de 2.8”
Cable macho-hembra para arduino
Cable macho-macho para arduino
Diodo rectificador m7 smd
Modulo Xbee pro
Wify rn-xv
Shield e-Health para Arduino
Prueba en protoboard
Aunque la simulación del circuito haya salido bien, no quiere decir que cuando se monte el circuito este vaya a funcionar correctamente, por ello, es muy recomendable o casi obligatorio realizar un montaje de prueba con todos los componentes a utilizar en el proyecto.
.
Prueba en protoboard
.
Este punto es de una gran importancia ya que en él se dan tres puntos fundamentales:
1.- El correcto funcionamiento de los de los materiales reunidos en el punto anterior. Para ello, se ha utilizado una protoboard en la que se han ido montando todos los componentes con sumo cuidado, ya que cualquier pequeño error de conexión puede ocasionar que falle todo el circuito.
2.- El correcto funcionamiento del diseño realizado en el punto anterior del ISIS. Ya que hasta no probarlo físicamente, no se puede dar nada por bueno.
3.- Se ha ido creando, probando y mejorando el programa que se encarga de la conexión entre el Arduino y la página web del proyecto.
Diseño y fabricación de la PCB
Por desgracia, por norma general, el diseño realizado anteriormente en ISIS de la simulación del proyecto no suele ser válido a la hora de diseñar el circuito en Ares,por lo que se ha de modificar dicho diseño añadiendo las huellas y componentes que no estén disponibles en el diseño inicial.
Como podremos leer en uno de los puntos que se verán más adelante, otro paso importante es la asignación de huellas o marcas a realizar de los componentes que no dispongan las librerías de Proteus.
.
Diseño ISIS 2
.
Diseño ISIS 2
.
Diseño de la PCB
Se han realizado dos placas diferentes, cada una independiente de la otra. Cada una de las placas contiene pines, los cuales sirven a la hora de conectar otras placas encima, alimentándolas.
.
Esquema ARES 1
.
Esquema ARES 2
.
.
.
Se han utilizado diferentes materiales a la hora de construir los circuitos en las placas. En uno de estos circuitos se ha utilizado una placa de Pertinax (baquelita) de tipo FR-4 (retardante de llama) y para la otra se a utilizado una placa de cobre virgen fotosensible de tipo FR4. Las placas se han diseñado en dos caras para que ocupe el menor espacio posible. Se han respetado en todo momento las recomendaciones establecidas para las distancias entre componentes y la anchura de las pistas, ya que de ser estas demasiado delgadas, pueden llegar a ocasionar problemas.
Fabricación de la PCB
Por suerte, Don Bosco dispone de una máquina capaz de crear circuitos impresos mediante fresado en muy poco tiempo. La máquina en cuestión es una BoardMaster LPKF Promat S62.
Para la fabricación de nuestras placas se han introducido los esquemas en el ordenador conectado a la LPKF . Una vez cargados estos archivos se le tiene que ordenar a la máquina que comience a hacer los agujeros de los componentes en la placa.
A continuación, se procede a realizar la primera cara de ésta y a continuación el vaciado. Tras terminar la primera cara, se voltea la placa y se repite la misma operación.
Al terminar las dos caras y comprobar que la placa ha salido bien, se procede al lacado de ésta. Este lacado sirve para que la placa no se vea afectada por la corrosión o factores externos debidos a la intemperie y alargue su vida útil sin que sufra desperfectos visibles.
.
Placa con lacado
.
LPFK
.
Posicionamiento y soldadura
Al posicionar los componentes, se debe empezar colocando los mas bajos primero, y a continuación ir poniéndolos conjuntamente con otros de un tamaño igual o similar. Esto se hace para que al apoyar la placa y comenzar a soldar, los componentes queden apoyados en la superficie y no caigan por su propio peso.
.
Proceso de soldadura
.
Todos los integrados susceptibles de fallar han sido colocados en sus correspondientes zócalos para que al soldarlos no se deterioren, y que en caso de que alguno se estropee, sea sencillo poder sustituirlo sin tener que realizar ninguna soldadura de más. Para realizar las soldaduras, se ha utilizado una estación de soldadura, la cual dispone de estañadores de punta fina para poder realizar un trabajo más detallado. También se ha aplicado Flux en cada soldadura realizada para que el estaño se adhiera mejor y aumente su durabilidad.
Puesta en marcha
Una vez realizadas las soldaduras, el siguiente paso ha sido colocar el microprocesador y los servos correspondientes con sus pines y comprobar su correcto funcionamiento. Fueron varias las placas que no funcionaron a la primera debido a las pistas, ya que no coincidían todas. El problema se solucionó mirando el diseño del Ares y realizando los cambios oportunos.
Construcción de la maqueta
Para la construcción de este proyecto se ha utilizado un cubo diseñado y fabricado con ayuda de una impresora 3D. En dicho cubo irán las pastillas que se proporcionaran al paciente y los sensores que leerán las constantes vitales que aparecerán en una pantalla táctil insertada en el cubo. Se ha cableado por dentro del cubo de forma que quede mas protegido y se han realizado las conexiones pertinentes. Una de las placas realizara la conexión con los servos mediante cableado y la otra la conexión con los sensores y la puesta en marcha de la pantalla táctil.
.
Conexion de los sensores a la placa
.
La construcción del cubo de plástico que sustentan las pastillas y del conjunto Arduino- WifiShield se han diseñado con el software “Solid-Edge” y la fabricación de las mismas se ha realizado con la impresora “Prusa I3” de Createc 3D.
Una vez construido el cubo se le ha colocado una pieza de metacrilato trasparente para poder posicionar los tubos que contendrán las pastillas, al mismo tiempo se ha colocado una pieza rectificada manualmente de metacrilato transparente para la visualización de la pantalla táctil y del interior del cubo, para así poder ver las luces indicadoras de conexión y las conexiones eléctricas.
Conclusiones y lineas futuras
Al proyecto se le pueden añadir diferentes elementos de diseño y varias aplicaciones, ajustándose a las necesidades de los clientes, por ejemplo: reconocimiento de voz para personas invidentes; elemento acústico para cuando algún dato este fuera de limite o sea errónea para que el cliente se de cuenta; hacer un maletín o caja para poder transportar mejor nuestro producto a diferentes lugares; aplicación de móvil para poder visualizar los datos en el momento.
Además, aunque el objetivo principal de este proyecto haya sido crear una herramienta para el mercado de la medicina, existen diversos sensores que podríamos aplicar como lineas futuras, por ejemplo: sensor de posición, sensor de SPO2, electrocardiograma, sensor de presión arterial, sensor de GSR, sensor de EMG, etc.
Este proyecto se llevo en representación de nuestro centro y en nombre de La Salle Berrozpe a la edición XXVIII del Premio Nacional Don Bosco, habiéndo conseguido el premio a la investigación.
Don Boscon, departamentu bat baino gehiagoren artean eginiko proiektu bat da oraingoan azalduko duguna.
Mekatronika, Eraikuntza metalikoak eta elektronikako departamentuak parte hartu dute bertan, momentu oro hiru departamentuen arteko komunikazioa beharrezkoa izanda.
Itsaspeko bat eraikitzea izan da proiektu honen helburua, departamentu bakoitzari bere lana emanaz.
Post honetan, eraikuntza metaliko eta mekatronikako lanari buruz gainetik hitz egingo da, elektronikan zentratuz.
Eraikuntza fisikoari buruz, hona hemen argazki bat, hasiberria zenekoa:
Ikusi daiteken bezala, erdialdea bi zatitan bananduta dago: Goiko zatian bateriak, elektronika, bonbak, elektrobalbulak etab. joango dira, eta beheko aldea beste bi zatitan bananduta dago, urez beteko diren bi kamerakin.
Gure helburua, itsaspekoa WIFI bitartez kontrolatu ahal izatea izan da. WiFi bitartez tablet batetik antena batera egingo da komunikazioa. Antena hori, momentuz, buia batean egongo da eta bertatik RaspberryPi batera joango da seinalea. RaspberryPi-a, serie bitartez, Arduino batekin komunikatuko da, mikrokontroladoreak itsaspekoa kontrolatu dezan.
Orain arte funtzio desberdinak jarri zaizkio itsaspekoari:
Aurrerako martxa (propultsio motorea alde batera biratuz)
Atzerako martxa (propultsioa beste aldera mugituz)
Ezker / Eskubi bira (servoa biratuz)
Servomotorea zentratu (servoa dagoen lekuan dagoela, erdira eramateko)
Eskuz kamerak bete ala hustu (bi kamerak banaka bete ala hustutzeko)
Automatikoki urperatu ala azaleratu (bi kamerak batera bete ala hustutzeko)
Estabilizatu (ezarritako inklinazio gradu batetik pasatzean, automatikoki estabilizatzeko)
Flotabilidade neutroko puntua gogoratu eta bertara joan.
Proiektu irekia da, hurrengo urteetan hobetu ahal izateko. Adibidez, RaspberryPi-a kamera bat jarri ahal izateko prest dago. Ez dugu kamera hori estankoa uztea lortu (ura sartu ez dadin), baina egin ezkero, kamera jarri ahal zaio. Aurrerago aztertuko ditugu proiektuak izan ditzazken hobekuntza eta berritasunak.
Erabilitako konponenteak (click bakoitzaren gainean datasheet edo webgunera sartzeko)
Eskeman ikusi dezakegunez 4 zati garrantzitsu dauzkagu:
1 – Azelerometroa: Azelerometro hau (MX2125), 2 ardatzeko azelerometro bat da, hau da, X eta Y ardatzak kontrolatzen ditu. Hala ere, proiektu honetarako X ardatza da kontrolatu behar izan dugun bakarra. Funtzionamendu teknikoa oso logikoa da: erdian gas bola bero bat dauka eta lau «termometro» eskin bakoitzean, beraz, azelerometroa biratzean, eta beroa goruntza joatean, termometro hoietako bat, bestea baino beroago egongo da. Pultsoaren luzeera jasoko dugu bueltan, hori jakinda, eta ariketa aritmetiko batzu egin ondoren, zenbat graduko inklinazioa daukagun azelerometroan, beraz, itsaspekoan ere, asmatu dezakegu.
2 – Bonbak + Elektrobalbulak: Mekatronika/konstrukzio metalikoen ikasleak aukeratu dituzte erabiliko diren motoreak, bonbak etab.. Pausu hau gure kasuan pixkat astuna izan da, azkeneko momentuko aldaketak egon zirelako, eskema eta plaka aldaraztera behartuz. Hasieran bonbak besterik eziran jarri behar, horretarako L293D driver bat erabiliko genuke hauek kontrolatzeko. 12V-koak direnez, 8. pinetik 12V sartuko ditugu, 5V 16. pinetik eta bi «Enable» pinetatik, 10KΩ-ko erresistentzi batetik pasata 5V. Enableak konektatuak egonda, 5Vkin sarrerak aktibatzean, irteerak aktibatuko dira 12V emanda. Bideo honetan L293D chip-aren funtzionamendua ikusi daiteke: hemen.
Proiektua aurrera zihoan einean bonbei, elektrobalbula batzu jarri behar genizkiela konturatu ginen, anti-retorno bezala, ura sartzen zen zulotik berriz ere ez ateratzeko. Hauek kontrolatzeko ULN2003A chip-a erabili dugu, pin komunetik (COM) 12V pasarazten ditugu, elektrobalbulara ere konektatuz, sarreran aktibatzen duguna, irteeran ikusten dugu. Pista berdina erabiltzen dugu bonbak eta elektrobalbulentzat, batera aktibatu eta desaktibatu nahi ditugu eta.
3 – Propultsio motorea: Gure kasuan hemen izan ditugu aldaketa gehienak, hasieran 12Vkoa zen, 5206 driver-a erabili behar genuen hasiera batean, baina gero aldaketak egon ziren eta 24Vko DC motore bat jartzea proposatu zen.
Azkenean, eta beste saiakera batzu eta gero, L293D batekin 5Vko Relay batzu aktibatzea aukeratu genuen. Relay-ak bi zati ditu, aktibatzekoa (alde batetik 5V eta bestetik 0V sartuz) eta aktuatzekoa (interruptore baten antzeko funtzionamendua du, alde bat 24Vra konektatzen dugu eta bestea motorearen alde batera). Motorea, alde batetik 24V baldin baditu eta bestetik 0V, martxan jarriko da.
4 – Nibel sentsoreak: Bi kameretan zenbateko ur nibela daukagun jakitea garrantzitsua da, batez ere «flotabilidade neutro» puntu hori lortzeko orduan. Esan beharra dago asko kostatu zitzaigula nahi edo behar genituen sentsore batzuk aurkitzea. Azkenean hauek aurkitu genituen.
Potentziometro baten funtzionamendua dauka. Erdian ikusten den flotadore hori gora ta behera mugitzen da, ur nibela non dagoen arabera. 10 eta 180Ω bitarteko erresistentzi baten konportamendua du, gero eta gorago, geroz eta erresistentzi txikiagoa dauka. Praktikoki, beste 180Ωko erresistentzi bat seriean jarrita, hauek bien tartetik, zatitzaile erresistibo baten moduan funtzionaraziz, nibela (flotadorea) zein puntutan dagoen kokatuta jakingo dugu.
Beranduago konturatu ginen ez ditula balore guztiak ematen, diskretoa dela eta 10 balore desberdin ematen ditula, horregatik Arduinon jarri ditugun 10 posizioak. Esan beharra dago, sentsore honek balore guztiak eman beharko zituela askoz erosoago eta hobeto egiteko flotabilidade neutroaren kalkulua.
Lau puntu hauetaz gain, servoa ikusi daiteke eskeman, baina honek ez dauka misterio haundirik konektatzeko orduan. Hanka bat 5Vra doa, bestea GNDra eta bestea, seinalea, Arduinoko PWM pin batera.
PROGRAMAZIOA:
Programazioan 3 puntu desberdin daude:
Android: Tablet baterako aplikazio bat egingo da Eclipse programa erabiliz. Programa honekin bisualizatu ahal izango dugu RaspberryPi-ra bidaltzen dugun komandoa.
RaspberryPi: Access point bezala konfiguratuko dugu WIFI puntu bat sortuz, tabletetik konektatu ahal izateko, Arduinora komandoak bidaliz TX pinetik.
Arduino(Eclipse): RaspberryPi-tik komandoak jasoko ditu RX pinetik, beste pinetatik aktuadoreak aktibatuz
Arduino
Arduino, erraz erabili daitezken Software eta Hardware malgutan oinarrituta, prototipoak sortzeko plataforma elektroniko irekia da. Lenguaia propio bat erabilita programatzen da. Hala ere, beste programazio lenguaiak erabili daitezke. Informazio gehiago, beraien web orrian, eta hemen deskargak.
Programa osoa hemen behean ikusi daiteke komentatua. Hasteko, esan beharra dago, programa gaur egiten hasiko bagina, agian beste modu batean planteatuko genukela, asko optimizatu daitekelako.
RaspberryPi
RaspberryPi, plaka bakarreko kostu txikiko ordenagailu bat da (SBC), eskoletan, konputazio zientzien irakaskuntzak suspertzeko, Erresuma Batuan RaspberryPi Fundazioak sortua.
Diseinuak System-on-a-chip Broadcom bat darama, ARM1176JZF-S 700MHzko prozesadore zentral bat daukana, VideoCore IV prozesadore grafiko bat eta 512MiB-eko memoria RAM bat.
Diseinuak ez du diska gogorrik, SD txartel bat erabiltzen bait da beharrezko datuak biltegiratzeko.
RaspberryPi-a, access point bezala funtzionarazten dugu, WIFI portu bat sortzeko eta gure tabletetik, inalanbrikoki komunikatu ahal izateko. Django zerbitzari bat instalatu da API-REST bat sortzeko. API-REST-a http bidezko petizioak filtratzen dituen funtzio-URL-en multzoa da.
Google Drive-n uzten ditugu jarraitu beharrezko pausuak Access Point-a lortzeko: hemen.
Android (Eclipse) Eclipse software librearekin, javarekin programatzen, itsaspekoaren kontrolaren interfaz-a sortu dugu. Hauetako botoi bat pultsatuz, komando bat bidaltzen diogu RaspberryPi-ari, honek exekutatu dezan.Programa deskargatzeko linka hemen.
PROIEKTUAREN ETORKIZUNA:
Proiektuaren lehenengo urtea izan da, baina horrek ez du esan nahi dena hemen bukatzen denik.
Hasieran esan bezala, funtzio gehiago ipini ahal zaizkio itsaspekoari, adibidez, kamera bat. Horretarako prest daukagu RaspberryPi-a. Hemen enlazea. Honen arazoa, kamera guztiz estankoa (urik ez sartzea) izatea beharrezkoa dela, eta izan dugun denborarekin ezinezkoa izan dela hau lortzea. Beste aukera bat, goPro kamera bat jartzea izan liteke… baina aurrekontua asko igotzen zitzaigun. Halere, hona hemen tutorial bat goProa eta raspberryPi-a batera konektatzeko. Kamerarekin batera, argi bat jartzea interesgarria izango zen, itsas hondoan argi gutxi dagoenez, zaila izango zelako irudi onak ateratzea.
Beste gehigarri bat, ultrasoinuko sentsoreak ipintzea izango litzateke, bai azpikaldean, itsas hondora zenbat distantzia dagoen jakiteko, edota aurrean, atzean eta aldetan, oztopo batekin aurkitzen bada, talka egin aurretik, itsaspekoa geldiarazteko adibidez.
Buia nola kendu eta itsaspekoa libre uretan ibiltzea interesgarria izango zen, ultrasoinuen bidez urazpitik kontrolatruz edota beste modu batez.
Bestelako ideiak badaude, adibidez RFID irakurgailu batekin, objektuak edota pertsonak bilatzeko balioko zuen, elurretan bezala, itsasoan dabilen jendea (arrantzaleak, urpekariak, etab.), RFID TAG bat izango bazuten errazagoa izango zen horrelako herraminta batekin jendea itsaso azpian aurkitzea, urpekari bat uretara sartzea arriskutsua izan daiteken kasuetan (adibidez, 2014ko martxoan desagertutako Maylasia Airlineseko hegazkina galdu zenean, Bluefin-21 itsaspekoa hondoratu zuten, hegazkina eta jendearen gorpuak aurkitzeko).
Irudimena erabilita, hobekuntzak (bai programan, baita hardwarean ere) eta gehigarriak ipiniz, beste nibel sentsore batzuk bezala (zuzenak, diskretoen ordez, adibidez), proiektu ikaragarri batean bilakatu daiteke Itsaspekoa.
Los drones al ser unos equipos que vuelan más o menos autónomos suelen sufrir averías por fallos al interactuar con ellos las personas o por fallos de diseño. En Don Bosco gracias a los proyectos de innovación de la FP hemos adquirido 2 drones multirotores. Por asesoramiento de Fernando Linares de la empresa SQADrones adquirimos uno muy simple. Esta listo para volar, es robusto por lo que absorbe bien los golpes y responde de una manera muy fiel al comportamiento de un drone de RC. Es un equipo ideal para aprender a volar y acostumbrarnos a la emisora sin miedo a romper el drone.
Sabíamos que este tipo de drones están hechos con materiales de baja calidad y elaborados con una cualificación muy justa de mano de obra. Pero nos decantamos a favor por una parte por su precio pero sobre por la gran cantidad de recambios a los que da la opción de acceder.
El primer día de uso a los 10 minutos empezó a dar síntomas de avería. No se levantaba más que un palmo del suelo y parecía como si le costase, como si le faltase energía. Al tener solo una batería dimos por supuesto que era la batería que se había descargado y no le dimos la mayor importancia. Eso si al ver la falta de baterías compramos otras 2.
A las semanas cuando llegaron las nuevas baterías fuimos a volar con las 3 baterías al gimnasio de Don Bosco. Cuando poníamos una batería cargada, en un primer momento despegaba sin mayor problema pero a los 15 segundos volvía a faltarle fuerza y no se levantaba más de un palmo del suelo. Ante este problema, compramos todos los repuestos del equipo (tardan casi un mes en llegar los repuestos) para poder ir haciendo pruebas.
Al ser un equipo propietario, no hay disponible mucha información (esquemas, planos…) así que con solo 10 minutos de vuelo era complicado saber que podía fallar. Pero por los síntomas parecía que podía ser problema de la placa controladora, que no era capaz de suministrar la suficiente energía a los motores. Cambiamos la placa controladora con mucho cuidado de no provocar otra avería o rotura del chasis, pero el drone volaba igual, por lo que había que pesar en otra cosa.
Otro punto fuerte de este drone es que aunque te golpee con las hélices no hace mucho daño. Si la placa controladora no era, deberían de ser lo motores pero a simple vista todos giraban. Al coger con la mano el drone e ir girándolo hacia todos los lados enseguida notamos que al girarlo hacia uno de los lados, la hélice giraba pero no lo hacia con suficiente fuerza por lo que no era capaz de estabilizarlo.
El cambio de motor es un poco más complicado que el de la controladora de vuelo, no es complejo pero no es apto para manos temblorosas. Primero hay que desmontar gran parte del chasis del drone para poder acceder al motor. Una vez que se ha liberado el motor hay que desoldar los cables con mucho cuidado ya que son muy frágiles y volver a soldárselos al motor nuevo. Por último solo queda rehacer los pasos y volver a montar el motor y el chasis.
Recordar que aunque usaremos varios medios para transmitir la evolución y los distintos resultados que vayamos obteniendo, principalmente la información la difundiremos en el Blog y mediante Twitter.
La Linux Fundation, organización sin ánimo de lucro dedicada a acelerar el crecimiento de Linux y el desarrollo colaborativo, ha anunciado la creación del Proyecto Dronecode. El proyecto reunirá a los proyectos de aviones no tripulados de código abierto existentes y los activos bajo una estructura sin ánimo de lucro dirigida por la Fundación Linux. El resultado será una plataforma de código abierto común, compartido para vehículos aéreos no tripulados (UAV).
.
Una figura muy importante que ha hecho posible, el desarrollo de los drones propiciando la democratización de la tecnología, ha sido Chris Anderson. Como muy bien explica su papel en su blog, Chris empezó a experimentar con su hijo con la robótica y los aviones de radio control hacia 2007. Como vio que era un mundo muy complejo creo la web DIY Drones para que la gente pudiera hacer “públicamente preguntas tontas” sobre la tecnología de los drones.
La plataforma DIY Drones ha crecido muy rápido hasta llegar a los 60.000 miembros activos. Los miembros empezaron colaborando de una manera informal en electrónica, software, diseños aeronáuticos… hasta llegar a colaborar de una manera organizada entorno a proyectos de código abierto, como Ardupilot, Mission Planner, DroidPlaner y otros muchos. Gran parte de estos proyectos fueron posibles usando la plataforma electrónica de código abierto Arduino.
Líderes de la robótica de todo el mundo fueron adoptando la innovación abierta, como Lorenz Meier de ETH en Zurich. Empezando a dirigir los proyectos PX4 y MAVlink, llegó a asociarse con la empresa 3D Robotics creada por Chris Anderson en el 2009. Es un clásico ejemplo de la potencia de la democratización de una tecnología. Está empezando la era de los drones para el consumidor y uso comercial y esto ha sido gran parte gracias a una plataforma de código abierto que ha ayudado a abrir el camino.
Ahora que se ha llegado a este nivel de desarrollo y madurez tecnológico, es el momento de abrazar las mejores prácticas de otros proyectos de código abierto de gran éxito, incluyendo las estructuras de gestión y de gobierno profesionales, para asegurar el crecimiento continuo y la independencia de estos esfuerzos. Se ha creado la Fundación Dronecode para que bajo el control de la Fundación Linux, gestione una organización sin ánimo de lucro, que reúna los proyectos de software de código abierto UAV.
.
.
La creación de una organización formal sin ánimo de lucro para organizar, dirigir y coordinar estos proyectos, hace que sea más fácil que las empresas deseen abrazar la innovación abierta en sus propios esfuerzos en UAV y robótica. Esto les permite participar de una manera más formal, ayudando a garantizar que puedan contribuir a la comunidad en todo, desde el código, a las personas, hasta el recurso financiero. En torno a este proyecto, se han incluido gigantes como Intel, Qualcomm, Box y Baidu, además de líderes en UAV como Yuneec, Walkera y la propia Robotics 3D.
¿Por qué ahora? No sólo porque los drones son una tecnología innovadora en pleno boom y abierta, por encima de todo, es porque las plataformas han madurado, y se dirigen cada vez más en la misma dirección, que es en sí Linux. Las mejoras extraordinarias en la tecnología de hardware móvil (gracias Intel y Qualcomm!) Y la tecnología de la nube (gracias Box y Baidu!), Significa que nuestra comunidad y el software está ejecutando cada vez más en los equipos Linux, con conexiones de banda ancha constantes a la nube. Eso significa que la oportunidad para unir fuerzas con el Linux y la comunidad de Linux embebido es ahora el lugar perfecto gracias a la Fundación Linux. ¡Veamos que nos depara la nueva alianza!
Un robot es un dispositivo electrónico y generalmente mecánico capaz de desempeñar tareas automáticamente, ya sea por medio de supervisión humana directa, a través de un programa predefinido o siguiendo un conjunto de reglas generales establecidas. Existen multitud de robots diseñados para cumplir diferentes objetivos: como brazos robóticos para el montaje de piezas en una fábrica, vehículos aéreos no tripulados o los robots móviles terrestres.
El “cuadrúpedo AI” nace de la idea de dos alumnos con ganas de hacer un proyecto visual, no nos valía un proyecto estanco, que no se moviese, que no llamase la atención, y ahí, aparece el Cuadrúpedo.
El robot esta construido con piezas de plástico, ABS o PLA. Nos decantamos por las piezas de plástico por la sencillez que nos ofrecían las impresoras 3D para crear piezas. Aparte las piezas de plástico son de gran ligereza y lo suficientemente robustas para la estructura del cuadrúpedo. Las piezas de plástico están impresas en las impresoras 3D del ikaslab, gracias a Tumaker.
Las uniones son los servos FUTABA S3003. Estos servos únicamente tienen tres conexiones, alimentación (5v) , masa y control Estos van unidos a las piezas de plástico con tornillos como se puede ver en la siguiente imagen:
Para las patas se corto goma con intención de que no se resbalase por el pavimento, sin esa goma el movimiento del cuadrúpedo habría quedado mermado en exceso. Al principio tuvimos problemas con esto, pensamos que sin goma los movimientos serian naturales y andaría normal, pero resulto que no, se resbalaba y se quedaba en el sitio sin avanzar. Para ello cortamos un trozo de goma y lo pegamos con loctite al ABS de la pata.
Una vez recopiladas todas las piezas el robot queda montado tal que así, únicamente el chasis sin nada de electrónica.
Mientras uno de los componentes del equipo iba montando el esqueleto del robot, el otro iba haciendo los esquemas en Isis y viendo el funcionamiento de este. Para el esquema se utilizo el Arduino Uno puesto que no encontramos la opción de sacar el Mega. El Isis nos proporciono una idea general de como iba a ser el proyecto pero muy virtual y de forma visual.
Para el proyecto se ha utilizado el Arduino mega 2560, principalmente por las salidas PWM de las cuales dispone. El cuadrúpedo esta formado por 9 motores,y esta placa nos los admitía. Ya que con el arduino UNO que habíamos pensado en un principio no tenia tantas salidas PWM para todos los motores.
Una vez teniamos la placa decidimos crear un escudo «shield» para el Mega, para tratar de manipular menos posible la placa de aprendizaje. Intentamos buscar esa Shield por internet pero no dimos con ella, por lo que en Ares nos dispusimos a diseñarla.
Como se ve en la siguiente imagen esta el archivo del diseño en Ares:
Una vez montada la electronica y formado el cuadrupedo nos dispusimos a hacer la parte logica del proyecto, La aplicacion que la controlaria y el codigo para los motores y el ultrasonico.
La tecnología principal de este proyecto es el Bluetooth. Nos decantamos por el bluetooth puesto que necesitábamos algo que no llevase cables y fuese inalámbrico, otro de los factores claves del bluetooth es su simplicidad y la facilidad que Internet ofrece a esta tecnología.
El cuadrúpedo se controla con el móvil mediante un modulo Bluetooth y con un programa creado y diseñado con la aplicación App inventor. El App inventor es una plataforma online para preparar programas, se programa mediante una forma visual y no en código.
Una vez creado el programa App inventor se procederá a su descarga, se nos bajara un archivo .apk y lo pasaremos al dispositivo Android, únicamente solo con que ejecutemos ese apk se nos instala Nos aparecerá así en nuestro móvil:
La interfaz creada sera tal que asi y se vera de esta forma sencilla:
En el vídeo se observa el programa, y dependiendo los botones que se pulsen el cuadrúpedo reaccionará de una manera u otra. El programa de Android esta formado por diferentes botones que se explican en el video, excepto dos botones, reset y stop. La primera función es que se quede en el suelo con las piernas abiertas, y stop, es un modo en el que el cuadrúpedo queda apoyado con las cuatro patas pero de forma relajada.
Dispone de un modulo ultrasónico HC-SR04 que permite al cuadrúpedo andar de forma libre, en modo solitario, pero cuando se encuentra con un objeto delante de el, esquivarlo de manera natural para poder seguir andando y moviéndose por el entorno que le rodea.
Según el programa cuando el ultrasónico detecta algún obstáculo a menos de 30cm el cuadrúpedo se dirige hacia atrás.
En el vídeo anterior se observa el programa Android, explicando brevemente lo que ocurre al pulsar los diferentes botones que forman el programa, con su correspondiente reacción del cuadrúpedo.
Como anexo os adjuntamos el programa que hemos utilizado:
#include <Servo.h>
Servo myservoA; // create servo object to control a servo
Servo myservoB;
Servo myservoC;
Servo myservoD;
Servo myservoE;
Servo myservoF;
Servo myservoG;
Servo myservoH;
Servo myservoQ;
long medir1;
long medir2;
long medir3;
int TrigPin = 12;
int EchoPin = 13;
int A = 90; //A – Cadera 1
int B = 90; //B – Cadera 3
int C = 90; //C – Cadera 5
int D = 90; //D – Cadera 7
int E = 90; //E – Pie 2
int F = 90; //F – Pie 4
int G = 90; //G – Pie 6
int H = 90; //H – Pie 8
int Q = 90;
int incomingByte = 0;
#include <SoftwareSerial.h>
SoftwareSerial mySerial(19, 18); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
pinMode(TrigPin,OUTPUT);
pinMode(EchoPin,INPUT);
Serial.println(«Hello «);
Serial.println(«attaching to port_b»);
myservoA.attach(9); // attaches the servo on pin 9 to the servo object
myservoB.attach(8); // attaches the servo on pin 9 to the servo object
myservoC.attach(6); // attaches the servo on pin 9 to the servo object
myservoD.attach(7); // attaches the servo on pin 9 to the servo object
myservoE.attach(2); // attaches the servo on pin 9 to the servo object
myservoF.attach(3); // attaches the servo on pin 9 to the servo object
myservoG.attach(4); // attaches the servo on pin 9 to the servo object
myservoH.attach(5); // attaches the servo on pin 9 to the servo object