projecte tecnològic amb...
TRANSCRIPT
1
Autor: Roger Margarit Sol
Curs: 2014-2015
Tutora: Francesca Bresolí
Centre: INS Vil·la Romana
Data: 07/11/2014
Projecte tecnològic amb Arduino
El meu treball de recerca consisteix en construir i programar un prototip d’una cadira de rodes
controlada amb el mòbil, de manera tàctil o amb la veu. Aquest control es fa mitjançant Arduino,
un microcontrolador que rep per bluetooth les ordres enviades des de l’aplicació del mòbil.
L’aplicació està feta amb l’App Inventor, una pàgina web que permet crear aplicacions per mòbil, i
utilitza el reconeixement de veu de Google per fer el control per veu.
En el treball s’explica en què consisteix Arduino i els passos seguits per crear el prototip, com el
disseny, la construcció i la programació tant de la placa Arduino com de l’aplicació del mòbil. El
treball també compta amb un petit estudi de les possibles aplicacions que podria tenir la cadira,
amb algunes entrevistes a experts i usuaris, així com millores que es podrien afegir al prototip i
possibles projectes de futur.
This research project consists in programming and building a wheelchair prototype controlled with
a mobile, either by touch or by using one’s voice. The control of the chair is made with a
microcontroller called Arduino, which receives from Bluetooth the orders sent by a mobile app.
This app is created with the App Inventor, a MIT University’s website, and it uses Google’s voice
recognition to achieve the voice control.
In the project I explain what is Arduino and all the followed steps to build the prototype, such as
the design and construction, and the programming of the Arduino and the mobile app. The project
also has a small study of the possible applications that the wheelchair could have, with some
interviews to experts and users. It also suggests some improvements and future projects for the
prototype.
En primer lloc vull agrair a la meva tutora del Treball de Recerca, Francesca Bresolí, per la
seva orientació i ajuda. També vull agrair a l’Elisabet Capdevila i al Lluís Remolí, per la
seva col·laboració i al David i l’Eloi per ajudar-me amb Arduino. Finalment vull agrair a la
meva família i en especial al meu pare per ajudar-me en la construcció.
Índex
INTRODUCCIÓ ................................................................................................................ 1
Hipòtesi........................................................................................................................ 1
Motivació ..................................................................................................................... 1
Metodologia i cost ........................................................................................................ 2
1. QUÈ ÉS ARDUINO? ..................................................................................................... 4
Història d’Arduino ....................................................................................................... 5
2. DISSENY ...................................................................................................................... 8
3. ELECTRÒNICA ......................................................................................................... 11
Dificultats de l’electrònica ............................................................................................. 13
4. CONSTRUCCIÓ ......................................................................................................... 14
Dificultats de la construcció ........................................................................................... 16
5. PROGRAMACIÓ ........................................................................................................ 17
5.1. Aplicació del mòbil ............................................................................................. 17
Dificultats de la programació de l’aplicació ................................................................ 21
5.2. Programació de l’Arduino ................................................................................... 22
Dificultats de la programació de l’Arduino ................................................................. 26
6. VESSANT SOCIAL .................................................................................................... 28
CONCLUSIONS ............................................................................................................. 29
REFERÈNCIES ............................................................................................................... 31
ANNEXOS ...................................................................................................................... 35
A. Passos del disseny de la cadira amb Sketch Up ............................................... 36
B. Exemple encesa d’un led ................................................................................. 39
C. Entrevista a Elisabet Capdevila ....................................................................... 41
D. Entrevista a Lluís Remolí ................................................................................ 42
1
Introducció
Hipòtesi
En aquest treball de recerca he pretès construir un prototip d’una cadira de rodes
controlada per veu i de manera tàctil amb el mòbil, utilitzant la placa Arduino, una
plataforma de hardware lliure que, com veurem més endavant,1 permet realitzar una gran
varietat de projectes tecnològics.
La idea primigènia era crear un artefacte tecnològic amb alguna utilitat pràctica, interessat
com estic en les aplicacions socials de la tecnologia. No és un projecte del tot nou, perquè
ja hi ha treballs en marxa,2 però realment m'agradaria que pogués servir per alguna cosa,
com contribuir al desenvolupament dels existents.
El meu treball, doncs, consisteix en dissenyar, construir i programar una cadira de rodes a
mida petita, controlada a partir de la placa Arduino, de manera que pugui avançar,
retrocedir, girar i aturar-se. A partir d’aquesta base afegiria el control per veu. El control de
veu es faria pel mòbil, enviant les dades mitjançant bluetooth a la placa, que ho traduiria al
moviment que toqués, segons el missatge que s’ha transmès.
El fet de fer-ho amb Arduino i no amb un ordinador tindria l’avantatge de ser més barat, ja
que només hauríem d’incloure la placa en la cadira i no un ordinador. També seria més
senzill, ja que la placa Arduino és més fàcil d’utilitzar i no requereix tants coneixements
com passa amb l’ordinador.
Motivació
Quan vaig començar a pensar en el treball de recerca de seguida em van venir al cap idees
relacionades amb la física, la música o la tecnologia. Tres camps que sempre m'han
interessat. La física és una de les assignatures que més m'agraden; la música, i la seva
relació amb les matemàtiques, també em motivava a investigar, i, finalment, la tecnologia
m'ha cridat l'atenció de fa molt temps. De ben petit m’han interessat els aparells
electrònics, he tingut curiositat per saber com funcionaven, com estaven muntats, fins al
punt que he desmuntat càmeres, mòbils, rellotges, i altres ginys per observar-los per dins.
1 Vegeu Què és Arduino?, pàg. 4.
2 En una recerca de treballs previs sobre el projecte que iniciava he trobat: Kokate i Agarkar
(2014): 268-71, Prathyusha, Roy i Shaik (2013): 1242-44 I Alcubierre [et al.] (2005): 1-13, que
trobareu recollits a la bibliografia.
2
Durant l’estiu passat vaig fer un campus de robòtica al Tecnocampus de Mataró.3 Allà vam
programar un robot rastrejador, de manera que seguís una línia, i vaig aprendre les
funcions bàsiques de la placa Arduino.4 De resultes del curs em vaig començar a plantejar
fer el treball d’alguna cosa feta amb Arduino, ja que em va agradar programar i moure un
robot mitjançant programació. Com que m’atreia més fer un projecte tecnològic que no un
de caire més teòric, vaig començar a pensar en possibles projectes. Després de preguntar i
discutir amb companys i entesos en el tema em va venir la idea de fer una cadira de rodes
controlada per veu. Al principi veia moltes dificultats en el projecte, però va anar creixent
dins meu i, finalment, pensant que necessitaria força temps per completar-lo, em vaig posar
a la feina.
No voldria deixar de remarcar que la meva idea era fer un projecte tecnològic però també
tenia un vessant social que em motivava, ja que podria millorar el control de les cadires de
rodes i ajudar certs usuaris. Per això, paral·lelament, vaig investigar sobre les necessitats
del camp i vaig realitzar dues entrevistes que em van ajudar a veure les possibilitats que
tenia, reflectides a les conclusions i als projectes de futur.
Metodologia i cost
El treball pràctic es divideix en tres fases: disseny, construcció i programació.
Per dissenyar la cadira de rodes he realitzat el dibuix a mà amb els diferents plans: alçat,
perfil i planta. He hagut d'estar molt alerta sobretot a les unions que hi ha d’haver entre els
components, com per exemple entre motors i placa. També he intentat que tingui un
disseny una mica atractiu, sense que es vegin massa cables. Després, utilitzant un programa
informàtic he dissenyat cada peça.5
Un cop acabada la fase de disseny, he procedit a la construcció mitjançant fusta. Aquestes
peces s’han ajuntat mitjançant claus, cargols i/o cola, i, al mateix temps, s’han ajuntat amb
els motors i amb la placa d’Arduino i tots els seus components.
Construïda la cadira de rodes queda la darrera fase, la programació. Per fer-la he utilitzat el
Software d'Arduino, basat en Processing.6
3 El Tecnocampus de Mataró és un centre adscrit a la UPF. Tot i que és un centre d'estudis
universitaris, ofereix cursos per a estudiants de secundària (de 13 a 17 anys). Vegeu Què fem. 4 Arduino és una plataforma de hardware i software lliure utilitzada per programar aparells
electrònics i serà element fonamental del treball. Vegeu pàg. 4. 5 M'he decantat per SketchUp perquè ja el coneixia i l’havia utilitzat en diverses ocasions, i em
semblava senzill però força complet. 6 Processing és un llenguatge de programació open source (codi obert), basat en Java.
3
El cost del projecte és el següent:
Ítem Quantitat Preu unitari (€) Preu total (€)
Placa Arduino 1 10 10
Bluetooth 1 8 8
Roda gran i motor 2 3,5 7
Component motors 1 4 4
Roda petita 2 2,5 5
Portapiles 2 1 2
Pila 1,5V 10 1 10
Subtotal electrònica 29
Subtotal estructura 17
Total projecte 46
4
1. Què és Arduino?
Arduino és una plataforma de hardware lliure, formada per un microcontrolador i el seu
programa informàtic. Aquest sistema permet controlar aparells electrònics i crear projectes
tecnològics de tots tipus.7
Però què és un microcontrolador? Un microcontrolador és com un ordenador petit, en un
xip, que és capaç de rebre ordres i executar-les. Està compost per un circuit integrat amb
memòria, on hi ha els programes emmagatzemats, que són llegits pel processador, que els
executa a través dels diferents aparells connectats als seus pins (interruptors, leds, sensors,
motors, etc.)
L’esquema d’una placa Arduino seria aquest:8
Consta de 14 pins d’entrada i sortida digitals (color verd) i 5 pins d’entrada analògics
(color blau). Els pins de color taronja de la part de baix són els de voltatge (5 volts, 9 volts
i Gnd, que és el negatiu, terra). Els programes es carreguen mitjançant la connexió USB i,
un cop emmagatzemats, la placa pot agafar el voltatge d’una pila connectada a X1 (color
rosa) o funcionar a través del corrent que rep de l’ordinador.
7 Vegeu alguns exemples a la pàg. 6.
8 Esquema extret de Introduction to the Arduino.
Figura 1
5
El microcontrolador de la placa es troba al centre (IC1), que en la majoria de plaques
Arduino és l‘ATmega328.
El software d’Arduino és de descàrrega lliure i utilitza un llenguatge de programació basat
en Processing.9
Un dels principals avantatges d’Arduino és, per començar, el preu. Una placa Arduino pot
valer entre 10€ i 20€, ja que només és paga el cost de la placa perquè, com hem dit, tant el
hardware com el software són open source (codi obert). Això vol dir que al comprar una
placa no s’ha de pagar cap llicència per utilitzar-la. De resultes, s’ha creat una comunitat
molt gran, que comparteix tot el que aconsegueix fer per tal que qualsevol ho pugui
utilitzar. Un altre avantatge d’Arduino és que el llenguatge de programació és senzill i, per
tant, facilita la programació de la placa.
La importància d’Arduino també ve donada pel fet que hagi estat el primer
microcontrolador de baix cost i de codi obert, obrint un nou món on importa més el
coneixement que el negoci.
Actualment hi ha competidors d’Arduino, com Raspberry Pi, Launchpad MSP430 o
PICAXE, que també són de codi obert, però com que han sorgit anys més tard no tenen
una comunitat tan gran ni estan tan desenvolupats com Arduino.
Història d'Arduino
Arduino va néixer el 2005 a l'IDII (Interaction Design Institute Ivrea), a la població d'Ivrea
(regió del Piemont, capital Torí).10
En els avantatges d'utilitzar Arduino ja es pot entreveure que els orígens de la creació de la
placa eren oferir al mercat un producte més econòmic i més senzill d'utilitzar que les
plaques existents. Tot i això la idea inicial era d’utilitzar-lo pels alumnes de l’Institut.
Un dels artífexs principals, l'enginyer de l'IDII Massimo Banzi, ho explica molt bé en un
documental del 2010:11
com que el cost de l’únic microcontrolador que hi havia era molt
alt, uns 100 dòlars (76 euros), van decidir crear un projecte que fes les mateixes funcions
però que fos més barat i senzill. També volien que funcionés en qualsevol sistema operatiu
i que permetés que es pogués utilitzar sense tenir coneixements previs. Massimo i els seus
col·laboradors, entre ells alguns alumnes, van crear un primer prototip del que més
9 Podeu veure una captura de pantalla del programa a la pàg. 24, on s'explica el projecte propi.
10 El nom d'Arduino el posa un dels seus creadors a partir del nom d'un pub de la població d'Ivrea
on anava sovint. El nom del pub rememora el d'un rei italià de l'Edat Mitjana. 11
Arduino The Documentary. També és interessant la seva TEDtalks, vegeu How Arduino.
6
endavant esdevindria la placa Arduino (figura 2). Com que l’IDII estava a punt de tancar,
van decidir fer la placa open source (codi
obert), perquè no pogués ser embargada.
Aquesta placa es va anar fent famosa i va
arribar a més països, amb models cada cop
més perfeccionats. El març de 2011 ja
s’havien creat més de 120.000 plaques.12
Els primers projectes que es van realitzar
amb aquesta placa van ser força senzills, com per exemple encendre un led durant un segon
i apagar-lo durant el mateix temps, com un intermitent. Amb els anys s’ha anat
perfeccionant la programació i la placa, permetent projectes cada cop més complicats.
Alguns exemples d'aquests projectes realitzats amb Arduino:13
Una impressora 3D14
Un telèfon mòbil15
Drons16
Tot tipus de cotxes teledirigits o rastrejadors17
Torreta de paintball18
12
Segons PANIAGUA (2011). 13
La WEB oficial és http://arduino.cc/. Com que Arduino és open source tots aquests projectes es poden trobar per Internet i en la majoria hi ha instruccions de com fer-los. 14
Vegeu DEVIJVER(2011) i PEARCE (2012). 15
Vegeu ArduinoPhone. 16
Vegeu ArduCopter-more. 17
Vegeu BARREIRO (2014). 18
Vegeu Autonomous Paintball.
Figura 2: Prototip de la placa Arduino (2005).
Figura 3. D'esquerra a dreta: Impressora 3D, mòbil, dron, cotxe rastrejador i torreta de paintball.
7
Aquests projectes han estat realitzats amb Arduino Uno i Arduino Mega, les versions més
noves d’Arduino. Altres versions més antigues són: Arduino Duemilanove, Arduino
Diecimila, Arduino NG Rev. C, Arduino NG (Nuova Generazione) i Arduino Extreme.
També hi ha versions d’Arduino adaptades per tot tipus de projectes, com Arduino Fio,
sense cables; LilyPad Arduino, circular; Arduino Nano i Arduino Mini, de mida petita,
entre altres.
Recentment Arduino ha desenvolupat una impressora 3D, l’Arduino Materia 101,19
presentada el passat 3 d’octubre. Aquesta impressora serà de codi obert, igual que les
plaques Arduino i funciona amb Arduino Mega. El preu d’aquesta impressora 3D està
entre els 600 i 700 €, i es pot comprar a la botiga online d’Arduino.
19
Vegeu Arduino materia 101.
8
2. Disseny
Per dissenyar la cadira de rodes em vaig fixar en diferents factors: malgrat es tractava de
fer un prototip, vaig intentar tenir al cap les normes bàsiques de funcionalitat que han de
complir les cadires de rodes i les especificacions bàsiques de la construcció.20
Evidentment, i sobretot, vaig tenir en compte que les mides fossin proporcionals a una
cadira normal. Finalment, vaig intentar fer-la atractiva visualment, tot i que a l’hora de
muntar-la em vaig adonar que seria força difícil.
Els elements que componen el disseny de la cadira són:
- Dues rodes grans
- Dues rodes petites
- Estructura bàsica en fusta
- Dos motors
- La placa Arduino
- Complement de control dels motors
- Portapiles amb 6 piles
Vaig començar fent esbossos de la cadira a mà, basant-me en les mides reals d’una cadira
per fer-la a escala,21
i en el que mesuraven els components que havia de posar, com la
placa Arduino o els motors.
20
BOLIVAR (2012) i MARTINEZ (2012). 21
Per saber les mides que tenia la cadira vaig consultar la web Una Ciudad para todos.
Figura 1: Esbós de l’alçat de la cadira
9
Un cop fets els esbossos, vaig fer el primer disseny amb ordinador, mitjançant el programa
Sketch Up.22
Després del primer disseny vaig fer-ne un altre amb les mides correctes i intentant que
s'assemblés més a una cadira de rodes estàndard, però també buscant comoditat a l’hora de
posar els elements.
Elements del disseny final:
1. Rodes grans
2. Rodes petites
3. Motors
4. Placa Arduino
5. Mòdul del motor
6. Portapiles
22
Tot el disseny amb Sketch Up s'explica a l'Annex A.
5
2 1
6
3
4
Figura 3
Figura 2
10
1
3
4 i 5
6
2
Figura 4
Respecte del primer disseny23
vaig afegir el portapiles i el complement que vaig utilitzar
per controlar els motors (fig. 3, 5).24
També vaig canviar l’orientació dels motors, que
passen d’estar verticals a horitzontals. Aquest canvi és estructural: quan vaig començar a
construir la cadira em vaig adonar que la millor manera d'unir-los a la base era posant-los
horitzontals, com veurem més endavant en la construcció.25
Tot i que aquest disseny pretenia ser el definitiu, a l’hora de construir la cadira vaig canviar
altres elements perquè tenien més utilitat o perquè eren més fàcils de fer. Per exemple, els
suports que aguanten el seient són dues barres, però quan vaig construir la cadira em vaig
adonar que era més útil fer-ho amb tota una paret que aguantés millor el seient i que cobrís
més la zona dels cables. Per tant al construir la cadira no vaig ser del tot fidel al disseny. A
continuació podeu veure dues imatges del projecte final, on es veuen les diferències amb el
disseny.
23
Fig. 2, pàg. 9. 24
Veure electrónica, pàg. 11. 25
Pàg. 14.
11
3. Electrònica
Juntament amb la programació de la placa, calia fer les connexions entre els diferents
components, com per exemple entre la placa Arduino i el mòdul dels motors (que
expliquem a continuació), entre els motors i el mòdul, entre el bluetooth i la placa... Això
ho vaig fer mitjançant cables però també altres elements, com cargols i soldadures.
Per connectar correctament els motors vaig utilitzar un mòdul de control del motor (motor
driver module L298N, fig. 1), un element extern a la placa Arduino. La placa Arduino
dóna un voltatge de fins a 5V, i com que necessitava més voltatge pel motors vaig utilitzar
aquest mòdul, que permet ser controlat per la placa, però rebre energia d’una font externa,
sense haver de passar per la placa. Les connexions del mòdul són les següents:
Els motors es connecten a les entrades 1 i 2 i queden ben fixats gràcies als cargols. El
voltatge es connecta al 3 o al 5, depenent de la quantitat de voltatge que vulguem utilitzar
(l’entrada 3 és per més de 12V mentre que l’entrada 5 és des de 5V). A l’entrada 4 hi ha el
GND, el terra, on es connecta el negatiu. Les 4 sortides al 6 són les dels motors, que aniran
connectades a l’Arduino, des d’on enviarem el senyal per encendre o apagar els motors.
Abans de connectar els motors a les entrades 1 i 2 vaig haver de soldar els cables amb el
motor perquè no se separessin. Tot seguit, vaig connectar els cables dels motors a les
entrades corresponents.
El voltatge el vaig connectar a l’entrada de +5V perquè no utilitzava més de 12 Volts i vaig
connectar el negatiu de la pila al GND. També vaig connectar el GND del mòdul amb el
GND de la placa Arduino perquè sinó no funcionava.
Figura 1
12
Figura 3: Connexions entre els elements
Un cop connectats els motors a les entrades 1 i 2, vaig fer les connexions des de la sortida
6 fins a la placa Arduino. Allà els vaig connectar als pins 6, 9, 10 i 11,26
ja que són pins
digitals però que també poden emetre senyal analògic, que com es veurà més endavant a la
programació,27
era necessari per controlar la velocitat. Com que la placa també necessitava
voltatge, vaig haver d’utilitzar una altra font d’alimentació, cosa que va suposar haver
d’utilitzar més piles.
La connexió del bluetooth amb la placa va ser més senzilla. Les connexions del bluetooth
són les següents:
La sortida de VCC es connecta al voltatge de la placa. El GND del bluetooth es connecta
amb el de la placa. Les sortides RXD i TXD es connecten al TX i RX de la placa
respectivament. Aquests pins són els de comunicació, els que reben i envien missatges. Per
això quan carreguem un programa a la placa, s’ha de desconnectar el bluetooth, perquè no
interfereixi en les dades que rep de l’ordinador.
Aquestes connexions les vaig fer amb cables pel positiu i
el negatiu, però per connectar les altres dues sortides
vaig connectar directament el bluetooth a la placa, sense
cap cable, perquè així també el bluetooth quedava
subjectat.
26
Pins de la placa d’Arduino a la pàg. 4. 27 Pàg. 22.
Figura 2
13
Dificultats de l’electrònica
El problema que té l’Arduino i els altres microcontroladors és que quan el sistema no et
funciona, no saps si l’error està en la programació de la placa o en la connexió dels
elements, i has de revisar les dues coses.
Abans de començar les connexions vaig mirar si els motors funcionaven perquè els havia
comprat per internet i calia comprovar-ho. En provar-ho amb una pila de 9V cap dels dos
funcionava i com que no tenia altres piles no sabia si el problema era de la pila o dels
motors. Vaig provar-ho amb una font d'alimentació i sí que van funcionar, la qual cosa em
va fer veure que la culpa era de la pila, que no tenia prou intensitat. A resultes d’això vaig
haver d’utilitzar 6 piles d’1,5 Volts connectades en sèrie, que tot i tenir el mateix voltatge
que la pila gran de 9V proporcionen més intensitat.
Un cop fetes les connexions dels motors, del voltatge i de l’Arduino els motors no
s’encenien quan els donava l’ordre. Vaig buscar informació de perquè no m’anava però no
vaig trobar la raó, i provant connexions vaig veure que només funcionava si els GNDs de
la placa i el mòdul estaven connectats.
Més endavant, un cop ja vaig tenir-ho annexionat a la cadira em vaig trobar que un dels
motors s’encenia tota l’estona. Després de mirar per què passava vaig trobar que era
perquè la placa Arduino i el mòdul, que estava a sobre, feien contacte i provocaven que el
motor tingués voltatge. Per solucionar-ho vaig posar cinta aïllant a la base del mòdul.
Un altre problema que em va sorgir va ser quan ja estava muntant l’electrònica a la cadira i
se’m va trencar un tros del mòdul del bluetooth. Aquesta ruptura m’impedia col·locar un
cable per alimentar el bluetooth, i per tant vaig haver de soldar un cable al tros de peça que
quedava (figura 4).
Figura 4
14
4. Construcció
Per construir la cadira vaig utilitzar fusta de contraxapat. Per començar vaig serrar les
peces rectangulars: la base, el seient, les parets del seient i el respatller, respectant les
mides fetes al disseny. Vaig serrar les peces amb la serra de marqueteria.
A continuació vaig unir els motors amb la base. La meva primera intenció era posar-los
verticals mitjançant un angle, però més tard vaig veure que la millor manera de fer-ho seria
posant-los horitzontals sota de la base. Per fer-ho vaig foradar la fusta i vaig col·locar dos
cargols amb una volandera per cada motor. El kit que vaig comprar dels motors ja portava
una peça rectangular metàl·lica per tal de poder unir els motors amb cargols a qualsevol
lloc.
També vaig posar les rodes davanteres, que com que eren més petites que les grans, vaig
haver de posar un segona fusta entre les rodes i la base, per tal que la cadira quedés
horitzontal, com es pot veure a la figura 2. Per aguantar les rodes davanteres vaig utilitzar
cargols amb punta. A continuació vaig unir les parets a la base, utilitzant cola blanca.
Figura 3
Figura 1
Figura 2
15
Figura 5
El següent a fer era unir la placa d’Arduino a la base, i per fer-ho vaig utilitzar dos cargols,
que els vaig posar en els forats que té la placa. A sobre vaig col·locar-hi el mòdul dels
motors, unit mitjançant fil de niló a la placa Arduino. Com s’ha dit a les dificultats en
l’electrònica,28
vaig haver de recobrir la part de baix amb cinta adhesiva, per evitar un fals
contacte entre totes dues parts.
A continuació vaig fer totes les connexions ja esmentades en l’electrònica, com es pot
veure a la imatge 4.
El següent pas era posar el respatller i el seient. Abans d'encolar-los, vaig clavar els dos
portapiles, un davant i l’altre darrere del respatller, mitjançant claus. Els vaig col·locar aquí
i no al davant de la base perquè fessin pes sobre les rodes grans, les que tenien la tracció, i
per tant asseguressin un bon funcionament del moviment. A continuació, prèviament a
encolar el respatller, vaig fer un petit forat a la part de baix per poder passar els cables que
anaven del portapiles al mòdul dels motors. També en vaig fer un al seient, pels cables de
les altres piles provinents de l’Arduino. Finalment, vaig
encolar amb cola blanca el respatller. El seient no el vaig
enganxar, ja que si l’enganxava no podria modificar res de
l’electrònica si hi hagués algun problema. Per això vaig
posar el seient de manera que encaixés, amb unes fustes a
sota que entraven a pressió amb les parets de sota, com es
pot veure a la figura 5.
Per acabar el prototip vaig serrar els reposabraços i els vaig enganxar només al seient, no al
respatller, per la raó ja esmentada abans.
28
Veure pàg. 13.
Figura 4
16
Dificultats de la construcció
La construcció va ser el que em va portar més temps perquè cada peça i cada unió
demanava molta cura i dedicació per fer-ho correctament. En el procés em vaig trobar
molts problemes relacionats amb la manera d’unir els elements. Per exemple, quan vaig
unir els motors a la base amb cargols, aquests van quedar torçats i mòbils. Per això els vaig
haver de treure, posar anelles i tornar a cargolar, per evitar que es moguessin i quedessin
rectes. També em vaig trobar que les dues rodes davanteres no estaven a la mateixa altura.
Això provocava que la cadira anés coixa, i que hi hagués més tracció en un costat que en
l’altre. Per resoldre-ho vaig treure els cargols de les rodes i vaig posar anelles, entre la roda
i la cadira, per elevar-la i que quedés al mateix nivell que l’altra roda.
També vaig tenir problemes en el tema dels components, sobretot en les rodes petites. En
el kit comprat només n’hi havia una i vaig haver-ne de comprar unes altres. Però aleshores
em vaig trobar que eren massa grans, i vaig haver de comprar-ne unes altres de més petites.
També em vaig trobar amb el problema d’on posar totes les piles. Vaig intentar posar el
portapiles més petit a sota la base, però l’espai era massa petit i vaig haver-lo de posar a la
part davantera del respatller, un lloc no massa adient.
Malgrat les dificultats finalment vaig aconseguir construir el prototip:
Figures 6 i 7
17
5. Programació
La programació associada al projecte consta de dues parts diferenciades:
- l'aplicació de mòbil que permet enviar les dades del mòbil per bluetooth29
- la programació de la placa Arduino.
5.1 Aplicació de mòbil
L'aparença de l'aplicació App Inventor és la següent:
A la barra de l’esquerra es situen totes les interfícies que es poden col·locar a l’aplicació,
tant si són visibles com no, com un quadre de text o el reconeixement de veu. A la dreta és
on s’editen les propietats dels elements que hi ha. Al centre hi ha la pantalla de mòbil on hi
posem els elements.
Un cop fet el disseny, l’aplicació es programa mitjançant uns blocs, que s’arrosseguen i
s’ajunten per tal de crear respostes a les ordres que rep (figura 2).
29 Per fer-ho vaig utilitzar la pàgina web App Inventor, del MIT, que permet crear aplicacions de
mòbil de manera senzilla i em vaig basar en Cómo controlar arduino.
Figura 1
18
Figura 2
Primer de tot vaig dissenyar l’aparença de l’aplicació, amb els botons i els quadres de text.
En el botó que ens obre el reconeixement de veu hi vaig posar la imatge d’un micròfon, i
vaig omplir els quadres de text. El quadrat on posa dispositius és una llista, on hi haurà els
dispositius bluetooth per poder-se connectar. També vaig col·locar els elements del
reconeixement de veu del google i el bluetooth, elements que queden amagats. Finalment
vaig afegir botons per controlar la cadira de manera tàctil (figura 4).
Acabat el disseny, la primera fase de la programació era què havia de fer l’aplicació de
mòbil en iniciar-se.
Si en engegar-la (fig. 5, 1) el bluetooth està apagat (fig. 5, 2), tots els botons deixen de
funcionar (fig. 5, 3) i surt un missatge on diu que està desactivat (fig. 5, 4). Si pel contrari
Figura 3 Figura 4
19
el bluetooth està activat (fig. 5, 5), els botons resten actius i el missatge ens indica que està
activat (fig. 5, 6). En la figura 6 podeu veure l’aspecte de l’aplicació en cas que el
bluetooth no estigui activat.
Un cop l’aplicació detecta que el bluetooth està encès, la llista agafa la informació de les
adreces de bluetooth (fig. 7, 1), i el nom que ens apareix a l’aplicació és “Dispositius”. Un
cop polsem el botó ens apareixeran les adreces de bluetooth disponibles, i ens haurem de
connectar al dispositiu de bluetooth que hi ha a l’Arduino, que en el meu cas és el HC-06
(fig. 8).
Quan ja haguem seleccionat el dispositiu, i el mòbil s’hi hagi connectat, el nom del text
superior canviarà a “Connectat” (fig. 7, 2) i el botó del micro s’activarà (fig. 7, 3).
1
2
3
4
5 6
Figura 5
Figura 6
2
1
3
Figura 7
Figura 8
20
A continuació programarem el botó perquè ens obri el reconeixement de veu i
programarem que enviï les dades a través de bluetooth:
A la primera part (fig. 9, 1) es pot veure que quan polsem el botó s’ordena al
reconeixement de veu que agafi text, i un cop agafat, el BluetoothClient1 envia el text fins
al dispositiu Arduino (fig. 9, 2). A més en una caixa de text surt el missatge registrat (fig.
9, 3), i un cop enviat el missatge, el reconeixement de veu es torna a encendre, perquè així
no s’hagi de polsar altre cop el botó (fig. 9, 4).
A més a més, vaig afegir un control de la cadira de manera tàctil mitjançant fletxes, com ja
s’ha vist abans (fig. 4). La programació d’aquests botons és senzilla, només hem d’ordenar
a cada fletxa que enviï el text corresponent a la seva direcció (fig. 10, 1), i que en el quadre
de text surti l’ordre emesa (fig. 10, 2).
1
2
3 4
Figura 9
1 2
Figura 10
21
Dificultats de la programació de l’aplicació:
Malgrat el programari de l'App Inventor no l'havia utilitzat mai el seu format és similar a
Scratch,30
que sí coneixia, i això en va facilitar l'aprenentatge. Així com el tutorial que ja
hem mencionat.31
L’App, però, no serviria del tot per una persona amb greus dificultats de moviment, ja que,
primer s’ha de configurar perquè es connecti al bluetooth de l’Arduino, i posteriorment, tot
i que el reconeixement de veu s’activa de nou cada cop que es dóna una ordre, hi ha el
problema de que el reconeixement de veu del Google no sempre reconeix el que es diu.
Això no seria problema si no fos que quan no entén el missatge, apareix un quadre de text
que s’ha de polsar per treure’l, una acció que l’usuari potser no podria fer. A més a més,
l’eina del reconeixement no és gaire ràpida, i triga una mica entre l’enviament de dades i la
rebuda de dades, que faria que el moviment fos més lent. Per solucionar-ho s’hauria de
buscar un altre reconeixement de veu més ràpid amb millors prestacions o millorar el de
Google. A més a més el reconeixement de veu del Google requereix tenir connexió a
internet.
30
Scratch és un llenguatge de programació creat pel MIT, desenvolupat per simplificar la creació d’animacions, jocs... 31
Vegeu Cómo controlar arduino.
22
5.2 Programació de l’Arduino
La programació de qualsevol programa d’Arduino se separa en tres blocs:
Variables: En aquest bloc declarem els elements i li diem al programa en quin pin32
els hem connectat.
Void setup: Tal com indica la paraula setup, definim la configuració dels elements
prèviament declarats, segons si són d’entrada (com un sensor, que rep dades) o de
sortida (un llum o un motor), utilitzant la funció pinMode (número de pin,
INPUT/OUTPUT). Només s’executa un cop a l’iniciar-se el programa.
Void loop: Aquesta part és la que es va repetint, és la part central del programa.
Aquí posem totes les funcions que ha de fer la placa, que les llegeix de dalt cap a
baix. Un cop arriba al final, el void loop torna a iniciar-se. Aquí s’utilitzen funcions
com if, else if, while, for, etc.
Podeu veure un exemple senzill de programació a l’Annex B.33
El programa de la cadira és
força més complicat que l’exemple anteriorment proposat i té algun apartat més. Per fer-lo
vaig utilitzar els coneixements que ja tenia d’Arduino i de la bibliografia existent.34
Per començar vaig declarar les variables:
String voice;
int motoresquerre1 = 6;
int motoresquerre2 = 11;
int motordret1 = 10;
int motordret2 = 9;
Els motors, connectats en 2 pins cada un, són variables normals, de tipus int. L’altra
variable, String voice és com una cadena, que emmagatzemarà el text rebut des del mòbil.
32
Recordeu la definició de pin a pàg. 4. 33
Programació d’encesa i apagada d’un llum (Annex B). 34
Vegeu Voice Activated i Cómo controlar arduino.
23
La part del void setup és la següent:
void setup(){
pinMode (10,OUTPUT);
pinMode (11,OUTPUT);
pinMode (6,OUTPUT);
pinMode (9,OUTPUT);
Serial.begin(9600);
}
Aquí declarem que les variables dels motors són de sortida, i iniciem el Serial, que ens
servirà per rebre les dades, a una velocitat de 9600 bytes per segon, la que s’utilitza
normalment.35
La part més complicada del programa és el void loop, la part principal del programa:
Quan el bluetooth envia les paraules aquestes comencen amb un asterisc o unes cometes i
acaben amb un coixinet. Per exemple, si enviem des del mòbil l’ordre Endavant arribarà
com “endavant#.
El primer que fa el programa és comprovar si hi ha text per llegir, si el Serial està
disponible (fig. 1, 1). El delay de 10 mil·lisegons només serveix per fer-ho més estable
(fig. 1, 2). A continuació creem una variable de tipus char, que emmagatzema caràcters, i
35
La velocitat de comunicació del Serial pot anar des de 300 fins a 115200 bytes per segon, tot i
que se sol utilitzar els 9600.
Figura 1
24
1
2
3
4
Figura 2
l’anomenem c (fig. 1, 3). Aquesta variable contindrà els caràcters que arribin del Serial,
que provindran del bluetooth (fig. 1, 4). Tal i com hem dit abans, el missatge arriba amb
unes cometes a davant i acaba amb un coixinet. La variable c va emmagatzemant caràcters
fins que rep un coixinet. Llavors atura l’absorció de lletres i mitjançant el break passa al
següent punt (fig. 1, 5). La variable c queda llavors com una successió de caràcters (per
exemple “,e,n,d,a,v,a,n,t). Per això en el següent punt el programa agafa tots els valors que
no siguin unes cometes (fig. 1, 6), i fa que passin a la variable voice, que al ser un altre
tipus de variable queda com a endavant (fig. 1, 7).
Un cop fet això la variable voice serà la paraula rebuda, a la qual li assignarem un
moviment o un altre depenent del missatge que contingui:
Primer comprovem que el missatge no estigui buit (fig. 2, 1). Segons el que contingui el
missatge provocarà un moviment o altre. Si, per exemple, el missatge és avançar o
qualsevol de les altres paraules que hi ha, s’executarà la funció ENDAVANT (fig. 2, 2).
Aquesta funció, igual que les dels altres moviments, està declarada al final del programa, ja
que així queda més ordenat i clar. En el cas que el missatge sigui de girar cap a un costat o
l’altre, el programa executa durant mig segon la girada i a continuació es para. Això està
fet perquè la cadira no es posi a donar voltes sense parar (fig. 2, 3).
Un cop ha executat una d’aquestes opcions, la variable voice es buida (fig. 2, 4).
25
Les funcions que mouen els motors són aquestes:
Cada funció té escrita si els motors estan encesos o no. Per això, en la PARADA podem
veure que tots estan a 0 (analogWrite(pin,0)). En canvi a ENDAVANT tots dos motors
tenen un dels seus pins oberts. Si canviéssim els pins oberts a tancats i els tancats a oberts,
la direcció canviaria i aniria cap enrere, com passa a ENRERE. Per moure la cadira cap a la
dreta només s’encén el motor de l’esquerra, i a l'inrevés per moure-la cap a l'esquerra. En
lloc d’haver-hi HIGH o LOW, vaig utilitzar un control analògic, per les raons que
s’expliquen a continuació a les dificultats. El valor que apareix dins de l’escriptura és 150
perquè així la velocitat és més baixa, i 130 a ENRERE per fer el moviment una mica més
lent a l’anar enrere. El valor que es posa al control analògic pot anar des dels 255 (HIGH)
fins al 0 (LOW), permetent molt més control.
Figura 3
26
Dificultats de la programació d’Arduino
El primer problema que em vaig trobar va ser que les dades que venien del bluetooth
arribaven lletra per lletra, de manera que si enviava “endavant” m’arribava com “e, en,
end, enda... Buscant informació vaig trobar una pàgina on ensenyaven a controlar uns
llums amb el mòbil i d’aquí vaig agafar el codi per poder unificar tota la paraula,
mitjançant les variables char i string. El problema que tenia aquest codi era que el missatge
provinent del bluetooth arribava amb un asterisc al principi, a diferència del meu missatge,
que m’arribava amb cometes a l’inici. Perquè l’asterisc no influís en el programa,
canviaven la part de if( voice == “avançar”) pel mateix amb un asterisc davant: if( voice
== “*avançar”). Com que el meu missatge començava per unes cometes vaig intentar
canviar-ho per if (voice == “”avançar”) però l’Arduino no detectava les cometes com part
del missatge, sinó que ho agafava com que el missatge estava buit. Per solucionar aquest
problema vaig estar buscant fins que vaig trobar una manera d’eliminar les cometes, la que
s’ha vist en la figura 1, 6. Com que el programa només continua si aquestes cometes
existeixen, vaig haver d’afegir-les quan s’utilitza el control tàctil de la cadira, i fer que
enviessin el missatge amb les cometes davant.
També vaig tenir dificultats en programar els motors, perquè quan els connectava a HIGH
els dos motors es movien a molta velocitat. Aquesta velocitat era massa per la cadira, que
es mouria excessivament ràpida. Per això vaig haver de canviar el control, passar de digital
a analògic. Això em permetia no tenir només dues posicions (0 o 1), sinó que podia
calibrar el voltatge que hi enviava. Per això quan els motors han de funcionar no està escrit
amb un digitalWrite, sinó amb un analogWrite (escriptura analògica). Aquest canvi va
provocar que hagués de canviar els pins on els motors estaven connectats, ja que tots ells
estaven en pins digitals. En lloc,
però, de canviar-los als analògics,
vaig utilitzar els pins digitals 6, 9,
10, 11, que també poden funcionar
com a analògics (pins de color verd
fig. 4).
Figura 4
27
Un cop feta la programació vaig provar el control de la cadira, tant de manera tàctil com
amb la veu. El resultat el podeu veure al següent enllaç: www.tinyurl.com/videotrecroger
28
6. Vessant Social
Paral·lelament al disseny, construcció i programació, vaig dur a terme un petit estudi de la
vessant social que tenia el meu projecte. Per això vaig realitzar dues entrevistes, a Elisabet
Capdevila, metgessa de l’Institut Guttmann,36
i a Lluís Remolí,37
usuari des de fa 30 anys
de cadira de rodes i gran coneixedor de les millores en aquest camp. L’entrevista amb
l’Elisabet em va servir per confirmar que una cadira de rodes controlada per veu podria ser
útil, tot i que en casos específics, com els tetraplègics o les persones amb trastorns de
mobilitat. En Lluís Remolí em va explicar detalladament totes les millores que s’han fet i
que es fan, sobretot les de caràcter elèctric, ja que eren les que m’interessaven més. Així
vaig conèixer els diferents complements elèctrics que s’afegeixen a les cadires manuals per
facilitar-ne el moviment, cosa que em va servir per poder pensar com es faria el moviment
en el suposat cas que el meu projecte es portés a la pràctica. A més a més en Lluís, al ser-
ne usuari, em va ajudar a trobar-li utilitats al control de la cadira de manera tàctil. A partir
d’aquestes entrevistes vaig treure conclusions respecte a la viabilitat del projecte i les
utilitats que podria aportar.
36 L’Institut Guttmann és un hospital dedicat al tractament medicoquirúrgic i a la rehabilitació
integral de les persones amb lesió medul·lar, dany cerebral adquirit o altres discapacitats d’origen
neurològic.
37 Totes dues entrevistes es troben als annexos C i D.
29
Conclusions
L'objectiu principal del projecte de recerca era la construcció d'un prototip de cadira de
rodes controlat per veu mitjançant la placa Arduino, i l'he assolit. Malgrat les dificultats, el
control s'ha aconseguit de manera tàctil i per veu amb el mòbil.
Pel camí d'aconseguir l'objectiu del treball he aprofundit en el coneixement dels diferents
camps treballats, com el disseny, l’electrònica, la construcció i la programació.
D'entrada, amb el projecte he après a utilitzar millor el programa de disseny Sketch Up
que, tot i conèixer prèviament, no havia fet servir massa. Tot i això aquesta part no va ser
excessivament dificultosa. També he aprofundit en l’electrònica, les connexions entre els
elements, ja que no havia soldat mai abans ni havia hagut d’estar tan atent a la manera de
connectar els diferents aparells. En aquest apartat ja van sortir més dificultats, relacionades
també amb la programació. En la part de construcció vaig haver de serrar, llimar, clavar i
foradar que, tot i no ser excessivament difícil, va ser la part que em va portar més feina.
Però la part més dificultosa va ser, sens dubte, la part de programació. La programació de
l’aplicació va ser senzilla, però el programa de la placa Arduino sí que va resultar
complicat. Tot i els coneixements previs d'Arduino i les indicacions de la bibliografia, el
programa havia de ser específic pel meu projecte. Per tant, vaig haver de fer força proves
abans d’aconseguir el definitiu.
Aquest camí, doncs, no ha estat fàcil i m'ha portat a entendre que hi ha molts aspectes que
es poden millorar, tant en el prototip com en una possible cadira de rodes a mida real que
utilitzés aquest sistema.
Un dels aspectes a millorar del prototip seria la font d'alimentació, ja que necessita massa
piles. Es podria solucionar amb piles de botó o amb una bateria petita. No ho considero un
problema rellevant perquè en el cas de portar-ho a una cadira de mida real es substituiria
fàcilment per una bateria gran.
Un altre problema que m’he trobat fent el prototip és el control per veu. El reconeixement
de veu de Google no és excessivament ràpid a l’hora de reconèixer la paraula, fet que
impedeix un control exacte. Però la investigació m'ha portat a veure l'interès del control per
30
veu:38
un control per veu que fos precís podria ser útil tant per als tetraplègics39
com per a
les persones amb trastorns de mobilitat.40
En aquest cas s’hauria de substituir els mots a
reconèixer per sons, perquè a vegades descoordinen també les paraules. Tot això es podria
començar a pensar un cop arreglat la rapidesa del control per veu, ja sigui buscant algun
altre reconeixement de veu més ràpid que el de Google o millorant-lo.
Veient els problemes que oferia el control de veu, de falta de precisió i rapidesa, vaig
decidir buscar les possibilitats que oferia el control tàctil. D'entrada no semblava millor que
els controls que hi ha ara, com un joystick, més precisos. Però el control tàctil per mòbil
oferia altres prestacions, especialment quan l'usuari no està assegut a la cadira.41
En ser
control per bluetooth i des del mòbil, la cadira es podria controlar a distància, permetent
apartar-la en cas de no ser necessària o acostar-la per utilitzar-la. Això dóna un afegit
d'autonomia a l'usuari perquè no necessita d'algú que li acosti o aparti la cadira. També
podria ser útil per anar sol amb cotxe, ja que l’usuari podria seure al seient i després enviar
la cadira amb alguna rampa al maleter, i no necessitaria ningú més per desplaçar-se en
cotxe.
És clar que la màxima aspiració del projecte seria, en un futur, portar el prototip a una
cadira real. En el meu treball he hagut de dissenyar el prototip, buscar els motors i
construir la cadira, però aquesta feina no caldria perquè cada vegada hi ha cadires manuals
amb més prestacions elèctriques, com motors o multiplicadors.42
Per això si es volgués
portar a la realitat, es podria fer a partir d’una cadira que ja tingués incorporat motors i
bateries i, a partir d’aquí, fer el control per Arduino. Segurament no seria fàcil, perquè es
necessitarien complements per suportar l’alt voltatge dels motors, però seria un projecte de
futur possible i engrescador.
38 Especialment a partir de l'entrevista amb Elisabet Capdevila, metgessa a l'Institut Guttmann.
Vegeu Annex 3. 39 Per descansar les cervicals perquè normalment controlen la cadira amb el mentó. 40 Perquè tenen distonies i atàxies, que provoquen una falta de control del moviment. 41 La idea va sorgir de la conversa amb en Lluís Remolí, usuari de cadira de rodes. Vegeu Annex
D. 42 Un multiplicador és un motor que multiplica la força que se li aplica, permetent més facilitat per
moure la cadira.
31
Referències
Pàgines web i documents en línia
3Dwarehouse [en línia]
https://3dwarehouse.sketchup.com/index.html [Consultat: 10 de juliol del 2014]
ALCUBIERRE, J. M.; MINGUEZ, J.; MONTESANO, L.; MONTANO, L.;SAZ, O.;
LLEIDA, E. "Silla de Ruedas Inteligente Controlada por Voz" [en línia]. Primer Congreso
Internacional de Domótica, Robótica y Teleasistencia para todos. Fundación ONCE
(2005): 1-13.
https://webdiis.unizar.es/~jminguez/Silla de Ruedas Inteligente Controlada por Voz.pdf
[Consultat: 26 de juny del 2014]
ArduCopter - more than your average quadcopter [en línia].
http://www.arducopter.co.uk/ [Consultat: 27 de juny del 2014]
Arduino materia 101: Simplifying access to the world of 3d printing [en línia].
http://blog.arduino.cc/2014/09/30/arduino-materia-101/ [Consultat: 4 de novembre del 2014]
ArduinoPhone [en línia].
http://www.instructables.com/id/ArduinoPhone/ArduinoPhone [Consultat: 27 de juny del 2014]
Autonomous Paintball Sentry Gun [en línia].
http://www.instructables.com/id/Autonomous-Paintball-Sentry-Gun/ [Consultat: 27 de juny del
2014]
BARREIRO, J. Desde un 'drone' a una Game Boy: cinco cosas que puedes fabricar tú
mismo gracias a Arduino [en línia]. (2014).
http://www.eldiario.es/hojaderouter/tecnologia/hardware/drone-Game_Boy-fabricar-
Arduino_0_276122594.html [Consultat: 27 de juny del 2014]
32
BOLIVAR, L. H. Proyecto de investigacion de una silla de ruedas [en línia]. (2012).
http://www.monografias.com/trabajos94/proyecto-silla-ruedas/proyecto-silla-ruedas.shtml
[Consultat: 26 de juny del 2014]
DEVIJVER, S. Building Your Own 3D Printer [en línia]. (2011).
http://reprapbook.appspot.com/ [Consultat: 27 de juny del 2014]
Introduction to the Arduino Board [en línia].
http://arduino.cc/en/Reference/Board?from=Guide.Board
[Consultat: 27 de juny del 2014]
KOKATE, J. K.; AGARKAR, A. M. "Voice operated wheel chair" [en línia]. IJRET:
International Journal of Research in Engineering and Technology , vol. 03, issue 02
(2014): 268-71. http://ijret.org/Volumes/V03/I02/IJRET_110302047.pdf
[Consultat: 26 de juny del 2014]
KUSHNER, D. The making of Arduino [en línia]. IEEE Spectrum (2011).
http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino/0
[Consultat: 11 de juliol del 2014]
MARTÍNEZ, S. Silla de ruedas [en línia]. (2012)
http://www.monografias.com/trabajos94/silla-ruedas/silla-ruedas.shtml
[Consultat: 26 de juny del 2014]
MONTOTO, J. F.; FERNANDO, J.; GUTIÉRREZ, A. "Silla de Ruedas Controlada por
Voz" [en línia]. 6to. Congreso Nacional de Mecatrónica, Instituto Tecnológico de San
Luis Potosí, S.L.P. Asociación Mexicana de Mecatrónica A.C., Noviembre 8-10, (2007):
179-87. http://www.mecamex.net/anterior/cong06/articulos/60734final.pdf [Consultat: 10
de juliol del 2014]
PANIAGUA, S. Arduino, la revolución silenciosa del hardware libre [en línia]. (2011).
http://www.sorayapaniagua.com/2011/03/14/arduino-la-revolucion-silenciosa-del-
hardware-libre/ [Consultat: 10 de juliol del 2014]
33
PEARCE, J. M. "Building Research Equipment with Free, Open-Source Hardware" [en
línia]. SCIENCE: www.sciencemag.org, vol. 337 (2012): 1303-4.
http://211.144.68.84:9998/91keshi/Public/File/41/337-6100/pdf/1303.full.pdf [Consultat:
10 de juliol del 2014]
PRATHYUSHA, M.; ROY, K. S.; SHAIK, M. A. "Voice and Touch Screen Based
Direction and Speed Control of Wheel Chair for Physically Challenged Using Arduino"
[en línia]. IJRET: International Journal of Research in Engineering and Technology , vol.
04, issue 04 (2013): 1242-44.
http://www.ijettjournal.org/volume-4/issue-4/IJETT-V4I4P346.pdf [Consultat: 7 de juliol
del 2014]
Què fem a Xnergic? [en línia]. http://www.xnergic.org/que-fem-a-xnergic/ [Consultat: 10
de juliol del 2014]
Una Ciudad para todos [en línia].
http://www.silladeruedasengestion.org/sccs/manual.php?id=2 [Consultat: 1 de setembre del
2014]
Voice Activated Arduino (Bluetooth + Android) [en línia].
http://www.instructables.com/id/Voice-Activated-Arduino-Bluetooth-Android/
[Consultat: 27 de juny del 2014]
Enregistraments audiovisuals
Arduino The Documentary [enregistrament en vídeo] (2010) Rodrigo Calvo i Raúl Alaejos
(dir.) New York, Gijón, Madrid: Laboral Centro de Arte (28:16 min).
http://vimeo.com/18390711 [Consultat: 11 de juliol del 2014]
Cómo controlar arduino mediante voz (TUTORIAL) [enregistrament de vídeo] (8 de juliol
de 2014) Luis Amezcua (14:55 min).
https://www.youtube.com/watch?v=yL9bEjEjioU&list=LLGO3p6IrfFCHTGXCEu1L9xQ&index
=93 [Consultat: 23 d'agost del 2014]
34
How Arduino is open-sourcing imagination [enregistrament de vídeo] (2012) TEDTalks.
Edinburgh: TEDGlobal (15:46 min).
https://www.ted.com/talks/massimo_banzi_how_arduino_is_open_sourcing_imagination -
t-14178 [Consultat: 11 de juliol del 2014]
36
Annex A
Passos del disseny de la cadira amb Sketch Up
Sketch Up permet crear figures en 3D d’una manera no massa complicada. Les principals
eines que té el programa són aquestes:
Les eines que més vaig utilitzar van ser la tercera, el llapis, per fer línies; la cinquena, per
fer circumferències; la sisena, per fer volums, i les de control de la visió, les del 4rt apartat,
per rotar, moure i fer zoom en la pantalla. Per fer el segon disseny també vaig utilitzar el
regle per mesurar les peces i que fossin acurades i altres per rotar, per engrandir o per
moure peces.
Per fer les formes rectangulars vaig utilitzar el llapis. Cada cop que unim entre si més de
dos punts, el programa fa automàticament un pla. Un cop fet un pla podem donar-li volum
amb el llapis mateix, fent tots els costats, o utilitzar l’eina Push/Pull.
Aquesta eina permet donar-li volum a un pla i simplement estirant cap amunt el pla es crea
la figura en 3D, com es pot veure a la figura 2.
Això em va permetre crear totes les parts de la cadira que eren rectangulars, com la base, el
seient, el respatller i els suports.
Per crear les rodes vaig utilitzar l’eina de fer circumferències i l’eina de Push/Pull per fer-
les amb volum, marcant també el pneumàtic. Vaig unir-les a una peça rectangular amb la
forma dels motors i vaig posar-ho a ambdós costats de la base.
Figura 1
Figura 2
37
Com que les rodes petites del davant eren força difícils de dissenyar amb exactitud, em
vaig baixar un model ja fet de la roda, a la biblioteca online d’Sketch Up.43
També em vaig
descarregar una placa d’Arduino per posar-la a sota la base.
Aquí es pot veure la base de la cadira amb els motors i les rodes i els suports que aguanten
el seient.
La cadira amb la part de dalt feta.
43 Sketch Up compta amb una biblioteca on hi ha milions de peces creades per usuaris. Vegeu
3dwarehouse a la bibliografia.
Figura 3
Figura 4
38
El primer disseny de la cadira acabat, amb les rodes i la placa Arduino de la biblioteca
d’Sketch Up i les rodes i motors pintats de groc.
Per fer el segon disseny, amb les mides correctes, vaig haver de fer totes les plataformes
amb la mida exacta. Per fer-ho vaig utilitzar aquest quadre de text, en el qual posem la
mida en mil·límetres quan fem cada línia o pla.
Amb això vaig poder refer totes les peces amb la mida correcta, tot i que algunes peces,
com la de les rodes amb els motors les vaig agafar del primer disseny i les vaig augmentar
de mida, per no haver-les de refer. Finalment la cadira va quedar així:
Figura 5
Figura 6
39
Annex B
Exemple encensa d’un led (llum)
Per començar declarem les variables que tindrà el sistema:
int led = 13;
Led és el nom que li posem a la variable i 13 és el pin on està connectat el led. Int indica el
tipus de variable que és, ja que hi ha diferents tipus.
Després, al void setup(), indiquem si és d’entrada o de sortida de dades.
Void setup(){
pinMode(led,OUTPUT);
}
Amb el pinMode declarem el led OUTPUT, que significa que és de sortida.
A continuació arribem al void loop(), on hi ha la part central. Aquesta és la part que es
repeteix, per tant aquí és on farem que el led s’encengui i s’apagui:
Void loop(){
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}
Per encendre el llum, utilitzem el digitalWrite, que ens permet escriure digitalment (encès
o apagat /0 o 1) el que volem realitzar amb l’element que volguem. Per activar el led el
posem a HIGH, que també es pot escriure amb un 1. Per tal que s’estigui durant un segon
encès col·loquem a continuació un delay, amb el qual indiquem els mil·lisegons que volem
que estigui funcionant les funcions de sobre, que en aquest cas són 1000 mil·lisegons.
40
Després posem un altre digitalWrite on escrivim que apagui el llum (LOW). Tot seguit
posem un altre delay d’1 segon perquè deixi el led apagat durant aquest temps. Un cop
arribi aquí el programa tornarà a l’inici del void loop.
Figura 1: Aspecte del programa
41
Annex C
Entrevista a Elisabet Capdevila
Entrevista a Elisabet Capdevila, metgessa a la Guttmann, un hospital dedicat al tractament
medicoquirúrgic i a la rehabilitació integral de les persones amb lesió medul·lar, dany
cerebral adquirit o altres discapacitats d’origen neurològic.
Quina és la teva feina a la Gutmann?
Sóc metgessa internista i tinc un màster de neurorehabilitació. Estic a la unitat de dany
cerebral.
Dels casos que hi ha la Guttmann, quins requereixen l’ús d’una cadira de rodes?
L’ús d’una cadira de rodes gairebé tots, tant els hemiplègics, amb una meitat paralitzada,
els paraplègics, que no poden moure les cames, o com els tetraplègics, que no mouen ni
braços ni cames. També tots els que tenen trastorns de mobilitat, de descoordinació, de poc
control de la mobilitat, tot i que tinguin força. Aquests també solen necessitar una cadira de
rodes.
En quins d’aquests casos creus que el control per veu de la cadira podria ser útil?
Els tetraplègics sovint controlen la cadira mitjançant el mentó, però potser els aniria bé no
cansar tant les cervicals i fer-ho amb la veu. També podria ser útil per tots els que tenen
trastorns de mobilitat, ja que tenen distonies, és a dir moviments que no controlen, que es
disparen sense que vulguin, i atàxies, que és que no poden fer un moviment correctament,
no poden tirar endavant o endarrere. En aquests casos s’hauria de tenir en compte que han
de ser ordres molt clares, que es pogués adaptar als sons que ells poden fer, ja que a
vegades també descoordinen les paraules.
Per tant, li veus futur a una cadira de rodes controlada per veu?
Per casos concrets sí, i a més podria ser un plus de comoditat per tetraplègics.
42
Annex D
Entrevista a Lluís Remolí
Entrevista a Lluís Remolí, usuari d’una cadira de rodes.
Quina és la teva història?
Jo vaig tenir un accident de cotxe el 1984, que em va provocar una lesió medul·lar, de
paraplegia completa. Vaig passar 6 mesos en hospitals i des de llavors vaig amb cadira de
rodes. Durant aquests 30 anys m’he interessat força per les millores de les cadires de
rodes.
Quines millores s’han fet a les cadires de rodes?
Bàsicament reduir el pes, fer-les desmuntables i més anatòmiques, amb respatllers més
rígids, i algunes amb amortidors. També es comencen a posar cada cop més complements
elèctrics a la cadira manual. Per exemple es canvien les rodes per rodes elèctriques amb
bateries que multipliquen la força que fa l’usuari. També hi ha cadires amb una roda que es
col·loca a sota el seient, que també fa tracció. Un altra complement en aquest tema és una
roda amb bateries que es posa entre les cames, fent com un tricicle, que es controla amb un
manillar. Tots aquests complements pesen força, ja que necessiten d’una bateria que els
alimenti, però tot i això la cadira segueix sent menys pesada que les elèctriques.
Quines millores creus que anirien bé en un futur?
Es podrien afegir petites coses com per exemple una bossa per portar coses o un retrovisor,
però sense complicar massa la cadira. També aniria bé fer les rodes d’algun material que
no es refredés tant a l’hora d’impulsar les rodes. Però sobretot s’ha de millorar el pes i el
preu.
Creus que una cadira controlada per veu o de manera tàctil amb el mòbil seria útil?
Per veu no sé si serviria, haurien de ser molt precises, ho veig força difícil. Em sembla que
la ciència i la tecnologia es dirigeixen més cap a controlar-les amb el pensament. I de
manera tàctil amb el mòbil sí que podia ser força útil, faria la cadira més polivalent. Crec
que té futur per utilitzar a casa, per manipular la cadira sense estar-hi assegut per no haver
43
de demanar a algú que ho faci. Per exemple serviria al bany, per poder-la apartar perquè no
es mullés, o per apartar-la quan molestés.