TREBALL FI DE GRAU
G au en Enginye ia Elec ònica Indus ial i Au omà ica
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP
D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL
EN TEMPS REAL.
Memò ia i Annexos
Au o : Joan Ga cia Apa ici
Di ec o : He minio Ma ínez Ga cía
Con oca ò ia: Juny 2023
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
i
Resum.
El eball p esen en el documen desc iu o el p océs in oluc a en el disseny i la implemen ació
d'un p o o ip d'elec oca diòg a po à il pe la mesu a de es di e ències de bio-po encial en el cos.
A més, es de alla la c eació de dues di e en s aplicacions pe a la isuali zació del senyal. La p ime a
es à dissenyada amb l'aplicació P ocessing, que gene a una in e ície g à ica en la pan alla d'un
o dinado on es mos a el senyal, amb comunicació se ial pe l'en iamen de dades. La segona es à
dissenyada amb un ma c de eball mol nou anomena Flu e , que ha pe mès c ea una aplicació
amb la ma eixa uncionali a pe a disposi ius mòbils And oid, amb comunicació Blue oo h pe la
ansmissió de dades.
S'ha e ús de la placa A duino Uno pe al de e el mos eig del senyal desi ja , ja que po a un ADC
inco po a , així com pe l'en iamen de dades a a és del po se ial. Pe a la comunicació Blue oo h,
s'ha u ili za el mòdul HC-06 conjun amen amb l'A duino.
El p o o ip inal esul a un ci cui obus mun a en una PCB i alimen a amb ba e ies de 9 V, el
uncionamen del qual es po oba ep esen a an en les dues aplicacions com en l'oscil·loscopi.
Pa aules clau: Elec oca diòg a , isuali zació del senyal, P ocessing, Flu e .
Memo ia
ii
Resumen.
El abajo p esen e en el documen o desc ibe odo el p oceso in oluc ado en el diseño y la
implemen ación de un p o o ipo de elec oca dióg a o pa a la medida de es di e encias de bío-
po encial en el cue po humano. A demás, se de alla la c eación de dos dis in as aplicaciones pa a la
isualización de la señal. La p ime a es á diseñada con la aplicación P ocessing, que gene a una
in e icie g á ica en la pan alla de un o denado donde se mues a la señal, con comunicación se ial
pa a el en ío de da os. La segunda es á diseñada con un ma co de abajo muy no edoso llamado
Flu e , que ha pe mi ido c ea una aplicación con la misma uncionalidad pa a disposi i os mó iles
And oid, con comunicación Blue oo h pa a la ansmisión de da os.
Se ha u ilizado la placa A duino Uno pa a hace el mues eo de la señal deseada, ya que lle a un ADC
inco po ado, así como ambién pa a el en ío de da os a a és del pue o se ial. Pa a la comunicación
Blue oo h, se ha u ilizado el módulo HC-06 jun amen e con el A duino.
El p o o ipo inal esul a un ci cui o obus o mon ado en una PCB y alimen ado con ba e ías de 9 V, el
uncionamien o del cual se puede encon a ep esen ado an o en las dos aplicaciones como en el
osciloscopio.
Palab as cla e: Elec oca dióg a o, isualización de la señal, P ocessing, Flu e .
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
iii
Abs ac .
This pape desc ibes he whole p ocess in ol ed in he design and implemen a ion o a p o o ype
elec oca diog aph o he measu emen o h ee bio-po en ial di e ences in he human body. In
addi ion, he c ea ion o wo di e en applica ions o isualizing he signal is de ailed. The i s is
designed wi h he P ocessing applica ion, which gene a es a g aphic in e ace on a compu e sc een
whe e he signal is displayed, wi h se ial communica ion o sending da a. The second is designed
wi h a e y inno a i e amewo k called Flu e , which has enabled he c ea ion o an applica ion
wi h he same unc ionali y o And oid mobile de ices, wi h Blue oo h communica ion o da a
ansmission.
The A duino Uno boa d has been used o sampling he desi ed signal, as i has a buil -in ADC, as well
as o sending da a h ough he se ial po . The HC-06 module has been used wi h A duino o
Blue oo h communica ion.
The inal p o o ype esul s in a obus ci cui moun ed on a PCB and powe ed by 9 V ba e ies, he
ope a ion o which can be ound ep esen ed bo h in he wo applica ions and on he oscilloscope.
Keywo ds: Elec oca diog aph, isualizing he signal, P ocessing, Flu e .
Memo ia
i
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
Ag aïmen s.
P ime de o , dona g àcies a la me a amília pe ecolza -me du an o el p océs d'es udis,
especialmen en l'úl im am d'aques s. Vull ag ai ambé als meus amics i companys de la
uni e si a , pe ha e -me ajuda di ec amen o indi ec amen , en especial menció al meu g an amic
Alejand o, pe la guia ebuda quan a e mes de p og amació.
Pe acaba , ag ai al meu u o He minio els consells de cada con ol de seguimen , així com
l'opo uni a de pode e aques eball.
Memo ia
i
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
ii
Índex.
RESUM. _____________________________________________________________ I
RESUMEN. __________________________________________________________ II
ABSTRACT. __________________________________________________________ III
AGRAÏMENTS. _______________________________________________________ V
1. PREFACI. _______________________________________________________ 1
1.1. O igen del eball. .................................................................................................... 1
1.2. Mo i ació.................................................................................................................. 1
2. INTRODUCCIÓ. __________________________________________________ 3
2.1. Objec ius del eball. ................................................................................................ 3
2.2. Abas del eball. ...................................................................................................... 3
3. ORIGEN DE L’ELECTROCARDIÒGRAF I CONCEPTES TEÒRICS. ______________ 5
3.1. L’elec oca diòg a i la se a u ili a . ........................................................................ 5
3.2. O igen de l’elec oca diòg a . .................................................................................. 5
3.3. Es udi de l’es a de l’a . .......................................................................................... 6
3.4. El bio-senyal ca díac. ................................................................................................ 7
3.5. De i acions es ànda ds de l’ECG. ............................................................................ 8
3.5.1. De i acions bipola s clàssiques (DI, DII, DIII). ........................................................ 8
3.5.2. De i acions unipola s ex emi a s (aVR, aVL, aVF). ............................................... 8
3.5.3. De i acions p eco dials (V1-V6) ............................................................................. 8
3.6. Ca ac e ís iques d’un ECG con encional i ep esen ació del bio-senyal. ............... 9
4. DISSENY DEL PROTOTIP A IMPLEMENTAR. ___________________________ 11
4.1. C i e is pe a la manipulació i l’aïllamen del senyal desi ja . ............................... 11
4.1.1. Ampli icació del senyal. ........................................................................................ 11
4.1.2. Pe o bacions i in e e ències. ............................................................................. 12
4.2. Ha dwa e i so wa e u ili za . ................................................................................ 14
4.2.1. Ha dwa e. ............................................................................................................. 14
4.2.2. So wa e................................................................................................................ 19
4.3. P ocedimen s pe a l’adquisició del bio-senyal ca díac. ....................................... 22
4.3.1. Col·locació dels elèc odes. .................................................................................. 22
4.3.2. P e-ampli icació del senyal i ci cui impulsa pe la cama d e a. ........................ 22
4.3.3. E apa de il ació del senyal. ................................................................................ 24
Memo ia
6
solució salina eali za en la unció dels elèc odes. La col·locació dels elèc odes e ec uada es coneix
com el iangle d'Ein ho en, un en cada b aç i l'al e en la cama esque a [3][6].
Figu a 3.2.1. P ime model d’elec oca diòg a d’Ein ho en [3].
3.3. Es udi de l’es a de l’a .
Ac ualmen , el model d'elec oca diòg a ha can ia mol espec e al que es po eu e en la igu a
3.2.1. S'ha eduï conside ablemen la se a mida, millo a , i adap a a les demandes que la medicina
ha ana imposan .
A ui dia hi ha apa ells d'elec oca diog a ia po à ils a un p eu ela i amen assequible, ello ges
in el·ligen s que en eali zen, i ins i o , la se a cons ucció és una p àc ica habi ual en es udian s del
camp de la bio-enginye ia. Tanma eix, la iabili a i les possibili a s d'aques s apa ells no són les
ma eixes que les d'un apa ell p o essional d'hospi al.
També han so gi nous ipus d'elec oca diog ama a pa de l'es ànda d, com pe exemple, el
moni o Hol e . Es ac a d'un disposi iu po à il capaç d'en egis a els senyals elèc ics del co del
pacien du an un pe íode con inu de 24 a 48 ho es, men e aques a ida no mal. Pe al a banda, el
moni o d'esde enimen s, que és un apa ell ambé po à il, pe ò amb un emps d'ús mol més g an
que el moni o Hol e , on el pacien escull en quin momen d'aques pe íode de emps ol egis a la
se a ac i i a ca díaca [1].
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
7
3.4. El bio-senyal ca díac.
A a bé, pe al de pode eballa i eu e conclusions amb els esul a s ob ingu s mi jançan
l'elec oca diòg a , s'han de conèixe en de all les ca ac e ís iques d'aques bio-senyal ca díac que
es em mesu an .
Pe comença , aques senyal és el bio po encial p esen en la supe ície del cos a causa de la
pola i zació i despola i zació del co . Aques s enòmens enen lloc dins de les càme es ca díaques del
co , dues ca i a s supe io s (au ícules), i dues ca i a s in e io s ( en icles) [4].
A con inuació, en la igu a 3.4.1., es po obse a la o ma d'ona ípica d'aques po encial bioelèc ic
ca díac, com ambé la de inició dels seus in e als. La espec i a ampli ud i du ada nominals
d'aques s in e als es po oba en la aula 3.4.1.
Figu a 3.4.1. Fo ma d’ona i de inició d’in e als ípics d’un ECG [4].
Taula 3.4.1. Ampli ud i du ada nominals dels in e als d’un ECG ípic [6].
Ampli uds [mV]
Du acions [ms]
Ona P
0.1-0.3
In e al PR
160
Ona T
0.2-0.3
In e al QT
350
Ona QRS
0.5-3
Segmen RR
160
In e al QRS
70-100
Memo ia
8
3.5. De i acions es ànda ds de l’ECG.
Depenen de la col·locació dels elèc odes en el cos s'ob enen di e en s esul a s de la mesu a de
l'ac i i a elèc ica del co . Un apa ell d'elec oca diog a ia p o essional p esen a un nomb e o al de
12 o més mesu es di e en s ( ins a 16) d'aques senyal. Gene almen en són 12, que eben el nom de
les 12 de i acions es ànda ds.
Cadascuna d'aques es mesu es p esen a unes ca ac e ís iques pa icula s i di e en s de les de la es a
de mesu es. Pe sabe -les in e p e a co ec amen és necessa i conèixe els seus e s di e encials.
3.5.1. De i acions bipola s clàssiques (DI, DII, DIII).
Aques es de i acions es ac en de les p ime es de i acions desc i es pe Ein ho en (el iangle
d'Ein ho en), que mesu en els ec o s elèc ics des de la pe spec i a del pla on al del co . Reben
aques nom pe què simplemen calculen la di e ència de po encial en e dos pun s.
La de i ació DI mos a la di e ència de po encial en e el b aç esque e (+) i el b aç d e (-), la DII la
di e ència en e la cama esque a (+) i el b aç d e (-), i la DIII la di e encia en e la cama esque a (+) i
el b aç esque e (-) [5].
Aques es es de i acions són les que s'han du a e me de o ma p àc ica en aques eball.
3.5.2. De i acions unipola s ex emi a s (aVR, aVL, aVF).
Com en el cas an e io , aques es de i acions mesu en ambé els ec o s elèc ics des de la
pe spec i a del pla on al del co . Pe ò, en aques cas, no es ecull la di e ència de po encial en e
dos pun s, sinó que es calcula el po encial absolu de es pun s espec e a un ze o. Aques ze o
eò ic es ac a del cen e del iangle d'Ein ho en.
Així doncs, les de i acions unipola s en ex emi a s són les aVR, aVL i aVF, sen aques es la mesu a
del po encial en el b aç d e , el b aç esque e i la cama esque a, espec i amen . To espec e a un
ze o [5].
3.5.3. De i acions p eco dials (V1-V6)
A di e ència de les dues classes de de i acions an e io s, aques a mesu a els ec o s elèc ics del co
s’e ec ua des de la se a pe spec i a del pla ho i zon al. També són unipola s, pe an , mesu en el
po encial absolu de de e mina s pun s espec e a un ze o.
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
9
Aques a p esen a un o al de sis mesu es di e en s. Els po encials absolu s V1 i V2 els obem en els
lími s d e i esque a de l'es e nó, espec i amen . Pe explica el posicionamen del po encial V3 és
necessa i de ini abans la ubicació del po encial V4, si ua en la línia imagina ia e ical que passa pel
mig de la cla ícula. Pe an , el pun V3, es oba en mig de V2 i V4, d'una o ma equidis an .
Seguidamen , obem V5 en la línia imaginà ia que passa pel començamen de l'aixella, men e que
V6 en la línia imaginà ia que passa pel mig de l'aixella [5].
Figu a 3.5.3.1. Rep esen ació g à ica de les de i acions es ànda ds d’un ECG [5].
3.6. Ca ac e ís iques d’un ECG con encional i ep esen ació del bio-
senyal.
A ui en dia, l'elec oca diog ama ípic es po oba en di e sos o ma s. Hi ha po à ils, de
sob e aula, d'o dinado , e c. Po p esen a una elecció manual de les de i acions a mesu a i
ep esen a , pe ò l'elecció au omà ica és la més es esa. Adqui eix i cap u a d'una a se ze de i acions,
depenen de la complexi a de l'apa ell i de la necessi a .
Pe a ep esen a o es i cada una de les de i acions desc i es en el pun an e io , s'han de segui
unes no mes es able es. La ep oducció d'aques es mesu es s'e ec ua sob e un pape quad icula .
Aques es quad ícules p esen en una ampli ud i al u a d'un mil·líme e.
Així doncs, la sensibili a d'aques s apa ells és so in de 10 mm/mV, de al o ma que pe ep esen a
0,1 mV es necessi a 1 mm d'al u a. No obs an això, aques a sensibili a po p end e els alo s de 5 i
de 20 mm/mV. Pe al a banda, p esen en una eloci a d'imp essió en el pape de 25 mm/s, on 1
mm ho i zon al de pape es co espon a 0,04 s. Aques a eloci a po a ia en e 10 i 100 mm/s [6].
Memo ia
10
Figu a 3.6.1. Rep esen ació d’un ECG en calib ació es ànda d [5].
A més, aques s disposi ius poden eni la possibili a de de ec a pe ells ma eixos a í mies i de
mesu a pa àme es ípics del bio-senyal ca díac. P esen en una impedància d'en ada supe io a 10
MΩ, un ebuig al mode comú (CMRR) majo a 100 dB i un ma ge eqüencial de eball de 0,05 Hz a
alguna eqüència d'en e els alo s de 75 i 200 Hz [6].
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
11
4. Disseny del p o o ip a implemen a .
El p o o ip implemen a es à en oca a l'ob enció de les es de i acions bipola s clàssiques. Pe an ,
enca a que s'hagi e una b eu in oducció a les 12 de i acions d'un apa ell d'elec oca diog a ia
p o essional, el desen olupamen d'aques apa a i dels pos e io s es à di igi cap al mesu a ge en
conc e d'aques es es mesu es.
4.1. C i e is pe a la manipulació i l’aïllamen del senyal desi ja .
A l'ho a de la cap ació del bio-senyal ca díac, so geixen di e ses complicacions degudes a nomb osos
ac o s. Pe una banda, la pe i a ampli ud del senyal, imposa com a condició necessà ia l'exis ència
d'una e apa d'ampli icació pe a pode eballa amb aques . Pe al a banda, hi apa eixen les
in e e ències i pe o bacions, és a di , o s aquells senyals supe posa s al senyal d'in e ès que olem
cap a . Aques s dos e s s’expliquen en de all en els seus co esponen s apa a s.
4.1.1. Ampli icació del senyal.
Pe a en end e aques apa a és necessa i disposa d'una isió global del eball. Com es po
cons a a en els pun s in oduc o is, l'objec iu del eball és en ia el senyal cap a un disposi iu mòbil.
Pe e -ho, es necessi a un mic ocon olado que sigui capaç de cap a aques senyal i en ia -lo.
El mic ocon olado escolli és l'A mega328P-PU, que es oba p esen en la placa A duino Uno R3.
Aques i o s els mic ocon olado s eballen amb alo s disc e s, com a conseqüència, si es ol
ope a amb dades analògiques, es necessi a un con e ido d'analògic a digi al (ADC).
El senyal d'in e ès és un senyal analògic, pe aques mo iu es a ús de l'ADC in eg a en la placa
A duino Uno R3. A a bé, pe a e un bon ús del con e ido i ap o i a o el seu endimen , és
necessa i adap a el senyal d'en ada als ma ges supe io i in e io d'aques . Aquí és on en a en joc
l'e apa d'ampli icació i adap ació del senyal, que é com a objec iu modi ica el senyal en an pe al
que aques comp engui o a l'ampli ud de l'ADC.
A més, a pa de se necessà ia l'ampli icació pe a eballa co ec amen amb el con e ido ADC, es
necessi a, ja que és p oblemà ic eballa amb senyals an dèbils. Els senyals dèbils enen una g an
p edisposició a eu e's a ec a s pe esis ències in e nes dels componen s, en e al es ac o s que
a ec en no ablemen al seu alo .
Memo ia
12
4.1.2. Pe o bacions i in e e ències.
Enca a que en l'e apa de p e-ampli icació, explicada més enda an , es p odueixi un ebuig al so oll
p esen (CMRR), és a di , els senyals que s'apliquen al ma eix emps en les dues en ades, hi ha
senyals indesi ja s que enca a es an p esen s. Pe elimina aques es pe o bacions, p ime s’han
d'iden i ica , i desp és ac ua en conseqüència pe a edui -les el màxim possible.
So oll degu a les línies elèc iques.
Conside a el cos humà com una an ena, pe an , d’alguna o ma cap a el senyal p esen en
l’ambien , que és en g an pa la ensió en al e na p o inen de la línia elèc ica.
Figu a 4.1.2.1. Exemple de pe o bacions degudes a la línia elèc ica en la mesu a d’un senyal [7].
Com s'ap ecia en la ima ge an e io , hi és p esen una in e e ència de ipus més o menys sinusoidal,
amb una eqüència de 60 Hz. Pe aques a in o mació es po conclou e que s'ha eali za la mesu a
en Amè ica del no d o en qualse ol al e lloc del món on es aci se i una eqüència de 60 Hz pe a
l'alimen ació de co en al e n. Aquí en Eu opa, la eqüència d'aques senyal és de 50 Hz [7].
So oll elec omiog à ic d’al a eqüència.
Pe al a banda, hi apa eixen les pe o bacions que enen eqüències ele ades, com pe exemple el
so oll muscula d'al a eqüència (so oll elec omiog à ic). Aques és un so oll d’uns 10 kHz de
eqüència. Com o es les in e e ències, emb u en el senyal i és necessa i la se a eliminació [7].
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
13
Figu a 4.1.2.2. Exemple de senyal amb il e passa baixos a 40 Hz i sense il a , amb pe o bacions d’al a
eqüència p esen s [7].
In e e ències de baixes eqüències.
La in e e ència deguda a la espi ació, així com al es in e e ències de baixes eqüències, es
mani es a com un desplaçamen del senyal (o se ) a mesu a de o ma sinusoidal. Aques a p en
eqüències d’en e 0,15 Hz i 0,3 Hz (de o ma ap oximada, ja que depèn del pacien )[7].
Figu a 4.1.2.3. Exemple de senyal amb il e passa al s a 0,5 Hz i sense il a , amb pe o bacions de baixa
eqüència p esen s [7].
So oll pe mal con ac e d’elèc odes i mo imen .
Aques ipus de so oll és degu a les desconnexions en e l'elèc ode i la pell, així com del mo imen
del pacien . Aques s ac o s an a ia la impedància en e l’elèc ode i la pell, gene an una dis o sió
en el senyal d’in e ès [7].
Memo ia
14
So oll elec o-qui ú gic.
Aques ipus de pe o bacions són les p esen s en qui ò ans i en aplicacions on s’u ili zen ins umen s
qui ú gics. P esen en una eqüència ele ada (100 Hz a 900 Hz) i poden malme e el senyal mesu a .
Pe an , es ac a d’in e e ències a eni en comp e semp e quan la ci cums ància ho eque eixi [7].
4.2. Ha dwa e i so wa e u ili za .
Pe a e eali a el p o o ip p esen a en apa a s in oduc o is, es a ús d’un ha dwa e i d’un
so wa e. A con inuació es de allen les se es ca ac e ís iques i uncionali a s.
4.2.1. Ha dwa e.
En aques pun es oben els componen s ha dwa e més elle an s.
A duino.
La placa A duino Uno Re 3, és una eina àcil i ú il de e se i , amb una g an quan i a d'in o mació i
ecu sos disponibles en in e ne , a la egada que pe me immenses possibili a s. Com a
conseqüència, és un disposi iu mol popula en e els aman s de la p og amació i elec ònica, des
dels p incipian s ins als més expe s.
Algunes de les se es ca ac e ís iques més impo an s són els 14 pins d'en ada/so ida digi al, 6 pins
pe a en ades analògiques, un ello ge in e n a 16 MHz a pa i d'un oscil·lado de c is all, connexió
USB, un ang del ol a ge d’en ada ecomana dels 7 als 12 ol s, e c. Po a inco po a el
mic ocon olado de la ma ca ATMEL, l’A mega328P, que p esen a un con e ido d'analògic a digi al
de 10 bi s, pe an , aques s alo s analògics són ep esen a s en un ang de 0 a 1023. Aques ADC é
una eloci a de mos eig p ede e minada es able a a pa i del ello ge in e n i d’un p escale , que
és de 125 kHz, un e o absolu de p ecisió de ±2 LSB i un e o in eg al de no linea i a de 0,5 LSB
[30][21].
En aques eball es a se i pe eali za un mos eig del senyal desi ja , és a di , cap a els alo s del
senyal analògic cada ce pe íode de emps i eali za la con e sió pe a p odui un senyal disc e .
També, mi jançan un mòdul Blue oo h, en ia el senyal cap al disposi iu mòbil.
Mòdul blue oo h hc-06.
Aques disposi iu pe me la connexió Blue oo h en e la placa A duino i p àc icamen qualse ol
disposi iu que p esen i aques ipus de xa xa sense ils. T eballa a una eqüència de 2,4 GHz i a una
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
15
eloci a de 9600 Bd. S'alimen a a una ensió d'en e 3,3 i 5 V i é un abas de com a màxim una
desena de me es. La se a connexió és senzilla, l'únic a des aca són pels pins de ansmissió i
ecepció. Aques s an cap als pins de ecepció i ansmissió de l'A duino, espec i amen [9].
Figu a 4.2.1.1. Connexiona de l’HC-06 a l’a duino [9].
És u ili za pe p opo ciona la connexió sense ils en e el disposi iu mòbil i la placa A duino.
Elèc odes.
Els elèc odes u ili za s són de la ma ca Tiga-Med. Fan la unció d'in e ície en e el cos i
l’elec oca diòg a , uncionan com a ansduc o s pe a con e i el co en iònic gene a pel pacien
en ene gia elèc ica. En conc e , es ac a d’elèc odes de placa me àl·lica, que enen un conduc o
me àl·lic en con ac e amb la pell, semp e amb l’ajuda de pas a elec olí ica.
Com es po ap ecia en la igu a 4.2.1.2., el model equi alen de l’elèc ode es ac a d’una
esis ència i un condensado en pa al·lel, men e que la pas a elec olí ica es ep esen a com una
esis ència [10].
Figu a 4.2.1.2. Model equi alen de l’elèc ode, la pas a elec olí ica, l'epide mis i la de mis amb la capa
subcu ània [10].
Memo ia
22
El seu codi es oba en l’apa a 4.3.5 comen a , i en l’annex B de o ma comple a.
4.3. P ocedimen s pe a l’adquisició del bio-senyal ca díac.
Un cop s'ha de ini el ha dwa e, el so wa e i els p incipis a eni en comp e pe a la co ec a mesu a
de la di e ència dels bio-po encials, es de alla el p ocedimen segui .
4.3.1. Col·locació dels elèc odes.
P ime de o , es p ocedeix a col·loca els 3 elèc odes que són necessa is. Com es mesu en les
de i acions bipola s clàssiques (DI, DII, DIII), es eque eix dos elèc odes que ecullen la di e ència de
bio-po encial en e dues pa s del cos i un que es posa en la cama d e a, que a à de e e ència a
massa pel ci cui . Els que són col·loca s en el b aç, se solen ica en el canell o en la pa supe io
d'aques , men e que els de la cama, acos umen a ana en e el u mell i el genoll [17].
Pe e i a p oblemes de so oll elaciona s amb el can i d'impedància en e l'elèc ode i la pell pe
ac o s com el mo imen , es ecomana que el pacien adop i una posició es able i s'assegu i el
co ec e con ac e en e l'elèc ode i la pell, a ai an la zona si es conside a necessa i.
Figu a 4.3.1.1. Col·locació elèc odes segons les de i acions bipola s clàssiques ( iangle Ein ho en) [17].
4.3.2. P e-ampli icació del senyal i ci cui impulsa pe la cama d e a.
L’e apa de p e-ampli icació del senyal es à o mada p incipalmen pe l’ampli icado
d’ins umen ació, que ha de p esen a un segui de p opie a s en conc e ( eu e el seu apa a
co esponen ). És una ase p è ia al il a ge i a l’ampli icació, on g àcies a les ca ac e ís iques de
l’ampli icado d’ins umen ació, es p odueix un al ebuig al mode comú (a o es aquelles
pe o bacions aplicades d’igual mane a en les dues en ades de l’ampli icado d’ins umen ació), a la
egada que s’ampli ica 7 egades la di e ència de bio-po encial de dues pa s del cos. En el da ashee
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
23
del componen no hi ha el alo exac e del CMRR pe a un guany de 7, pe ò si hi és el alo ípic
d'aques pe a un guany de 10, que és de 110 dB. S'ha escolli aques alo del guany pe què és el
ecomana pel da ashee ( eu e igu a 4.3.2.1.).
El ci cui impulsa pe la cama d e a és una con igu ació mol ecomanada en o es les aplicacions
elacionades amb el mesu a ge de bio-po ecials p esen s en el cos humà, ja que pe me imposa la
e e ència de ensió del cos en el ci cui eduin ambé les in e e ències en mode comú. S’u ili za un
ampli icado ope acional amb e oalimen ació nega i a, ja que pe culpa de les ensions en mode
comú p esen s en el cos i de la impedància elèc ode-pell, si la connexió es es di ec amen sense
aques a con igu ació, hi apa eixe ien co en s pa àsi s. La e oalimen ació, pe an , edueix aques a
impedància i elimina els co en s pa àsi s. A més, eò icamen , aques a con igu ació p opo ciona al
ci cui un il e passa baixos a la egada que un il e pe a les in e e ències degudes a la línia
elèc ica [31].
El ma eix Da ashee del componen AD620, mos a un possible on -end pe a la implemen ació
d’un equip mèdic d’elec oca diòg a , que és el que s’ha segui com a e e ència a l’ho a de la
implemen ació d’aques p o o ip.
Figu a 4.3.2.1. P e-ampli icació del senyal i ci cui impulsa pe la cama d e a amb l’in eg a AD620 [11].
La pa de l'esque a del ci cui , on hi és l'ampli icado ope acional AD705J i la se a ealimen ació
nega i a, es ac a de l'anomena ci cui impulsa pe la cama d e a. El alo del condensado C1
s'escull amb l'objec iu d'aconsegui l'es abili a d'aques a e oalimen ació, que és de 0,1 µF .
El componen p esen en el da ashee pe e aques a unció és l'AD705J, el qual es ac a d'un
ampli icado ope acional bipola de baix consum, amb unes p opie a s idònies pe a e -lo se i en
aplicacions combinades amb ampli icado s d'ins umen ació, in eg ado s de p ecisió, e c.
Malau adamen , a causa de la poca disponibili a d'aques , s'u ili za el clàssic TL071, que, enca a que
no p esen i uns ni ells an al s d'impedància d'en ada ni an baixos de co en s i ensions d'o se ,
compleix amb la uncionali a .
Memo ia
24
Seguidamen , desp és del ci cui impulsa pe la cama d e a hi apa eix l’e apa de p e-ampli icació del
senyal, jun amen amb l'ajus del guany de l'ampli icado d'ins umen ació. Saben que el guany és 7,
es dedueix que el conjun de esis ències equi alen s a 𝑅𝐺 ( eu e Eq. 4.2.1.1.) p enen el alo de
8233,34 kΩ.
4.3.3. E apa de il ació del senyal.
Un cop ob ingu la di e ència del bio-po encial en l’e apa de p e-ampli icació, és necessa i l'exis ència
d'una e apa de il a ge. Enca a que amb el ebuig al mode comú de l’ampli icado d’ins umen ació i
el ci cui impulsa pe la cama d e a s'aconsegueixi una educció conside able de nomb oses
in e e ències, con inuen ha en -hi pe o bacions p esen s que emb u en el senyal. Cal esmen a
que el senyal d’in e ès es oba comp ès en e l’in e al de eqüències de 0,05/0,67 Hz a 100/150 Hz
(100 Hz pe adul s i 150 Hz pe nens) [7].
S’han u ili za uncions polinomials d’ap oximació pe al disseny i implemen ació dels il es p esen s
en el eball. Aques es uncions polinomials, depenen de la se a ipologia, poden eni espos es
di e en s, com pe exemple algunes de les més conegudes com Bu e wo h, Legend e, Tchebysche ,
Bessel e c. A a bé, pe a escolli quina ipologia de il e és més adien pel p o o ip, s’han anali za les
espos es de o es i cada una d’aques es a ian s.
Un il e ideal se ia aquell que a enués al comple o s aquells senyals amb una eqüència comp esa
dins de la banda a enuada, i no modi iqués aquells amb una eqüència o a de la banda a enuada.
En la p àc ica això no és així, hi ha di e en s espos es pe a un ma eix il e, depenen de la ipologia
d’ap oximació u ili zada.
En la igu a 4.3.3.1. es po obse a el compo amen eal de l’a enuació que p opo cionen els
di e en s ipus de espos es a les di e en s eqüències. Es po obse a una cla a di e ència en e
aques s, sen o s il es passa baixos amb el ma eix o d e, amb una a enuació màxima de -3 dB en la
banda passan i una eqüència de all d’1kHz.
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
25
Figu a 4.3.3.1. Compa a i a en e di e en s uncions d’ap oximació de il es [18].
P incipalmen , pe a escolli quin ipus de unció polinòmica és més adien , s'ha ingu en comp e el
compo amen de l'a enuació del il e du an la banda passan , és a di , du an aquell in e al de
eqüències on en eo ia el il e no ha d'in e eni . Pe exemple, en el cas de la espos a
Tchebysche o Chebyshe , du an la banda passan , l'a enuació a a ian ins a a iba a eqüències
on ins i o aques a és de -3 dB. Aques s -3 dB d’a enunació es adueixen de al o ma que 1 V de
ensió es edueix ins a 0,707 V. Això no in e essa pel eball, ja que les mesu es es eu ien a ec ades
i no es pod ien conèixe els alo s eals dels bio-po encials.
Pe an , l’opció on el senyal no so eix cap modi icació o p àc icamen cap du an les eqüències de
pas, es ac a de la espos a Bu e wo h. Aques ipus de espos a és l’escollida pe al disseny dels
il es passa al s i passa baixos del eball.
Fil e passa al s.
S’ha e ús d’un il e passa al s pe a edui el màxim possible o s aquells senyals de eqüències
baixes supe posades al senyal d’in e ès, com pe exemple l’a ec ació de la espi ació. El il e
unciona com a a enuado de o s aquells senyals que es iguin pe so a d’una de e minada
eqüència de all que s’imposa mi jançan els componen s del ci cui .
La eqüència de all d'aques il e ípicamen oscil·la en e els alo s de 0,05 Hz i 0,67 Hz, enca a que
es ecomana el alo de 0,5 Hz, que és el que s'ha u ili za . Amb aques alo s'elimina o a aquella
in e e ència que ingui un pe íode de 2 segons en enda an , que és el cas de la espi ació humana
(semp e que el pacien es igui en posició de epòs i anquil)[7].
Memo ia
26
Un cop escolli el ipus d’ap oximació, es p ocedeix a de e mina l’o d e del polinomi. Pe conèixe
aques alo , és necessa i p ime sabe qua e pa àme es essencials, al com es po eu e en la
igu a 4.3.3.2.
Figu a 4.3.3.2. Plan illa del il e passa al s a dissenya [19].
Coneixen l’a enuació mínima en la eqüència màxima de la banda a enuada (𝐴𝑚𝑖𝑛) que és de -25
dB, l’a enuació màxima en la eqüència mínima de la banda de pas (𝐴𝑚𝑎𝑥), que és de -3 dB i els
alo s de les eqüències 𝑓
𝐴 i 𝑓𝑃, sen aques es de 0,119 Hz i 0,5 Hz espec i amen , es po
de e mina l’o d e amb l’ajuda d’un àbac pe a les ap oximacions Bu e wo h. L’o d e n esul a de
alo 2.
Saben l’o d e i la ipologia d’ap oximació, es a ús dels ci cui s p esen s en la igu a 4.3.3.3.
Figu a 4.3.3.3. Disseny del ci cui pe a les ap oximacions de Bu e wo h, Legend e i Chebyshe [20].
Al se un il e passa al s d'o d e dos, només s'u ili za un bloc de ci cui pe aconsegui l'ap oximació
desi jada. És a di , si es olgués ob eni una ap oximació d'o d e qua e, se ia necessa i la u ili zació
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
27
de dos d'aques s blocs, i, pe o d es impa ells, es a se i l'úl ima columna. No obs an , pe oba els
alo s exac es del condensado i esis ències del ci cui , es necessi a conèixe els alo s dels
pa àme es m i q. Aques s es an p esen s en la aula de la igu a 4.3.3.4.
Figu a 4.3.3.4. De e minació dels pa àme es i de la unció de ans e ència pe a una ap oximació de
Bu e wo h [20].
Finalmen , cal aplica l’equació 4.3.3.1., on s’ha imposa el alo d’1µF pel condensado 𝐶𝑜 i,
subs i uin la 𝑤𝑝 pe 2𝜋𝑓
𝑝 , sen 𝑓
𝑝 la eqüència de all (0,5 Hz) es oba el alo co esponen a 𝑅𝑜,
que és de 318309,89 Ω.
𝒘𝒑=𝟏
𝑪𝒐𝑹𝒐
(Eq. 4.3.3.1.)[20]
A iba ins aques pun , només cal subs i ui els pa àme es en el ci cui co esponen de la igu a
4.3.3.3. i desp és no mali za els alo s. El esul a és el següen :
Figu a 4.3.3.5. Ci cui pe l’ap oximació Bu e wo h del il e passa al s dissenya d’o d e dos.
Memo ia
28
Pe a comp o a que el il e dissenya compleix els equisi s espe a s, s’ha eali za una simulació del
ci cui amb els alo s dels componen s u ili za s, en l’aplicació LTspice. D’aques a mane a s’ha
conegu el compo amen eò ic del ci cui a di e en s eqüències. Es po ap ecia en la igu a
4.3.3.6. com a una eqüència de més o menys 0,5 Hz l’a enuació és p àc icamen -3 dB. Pe al a
banda, a 0,119 Hz, hi ha una a enuació gai ebé de -25 dB. Pe an , el il e es compo a segons
l’espe a .
Figu a 4.3.3.6. Respos a en eqüència del il e passa al s dissenya .
Fil e passa baixos.
S’ha e ús d’un il e passa baixos pe a edui el màxim possible o s aquells senyals d’al es
eqüències supe posades al senyal d’in e ès, com pe exemple les in e e ències
elec omiog à iques. És un a enuado de o s aquells senyals que es iguin pe sob e d’una
de e minada eqüència de all.
La eqüència de all escollida ha es a de 200 Hz. Amb aques alo s'elimina o aquell senyal que
ingui un pe íode de 5 ms i més pe i .
Seguidamen , es p ocedeix a de e mina l’o d e del polinomi. Pe conèixe aques alo , és necessa i
sabe els qua e pa àme es essencials, de la ma eixa o ma que s’ha e en el cas del il e passa al s.
Coneixen l’a enuació màxima en la eqüència màxima de la banda de pas (𝐴𝑚𝑎𝑥) que és de -3 dB,
l’a enuació mínima en la eqüència mínima de la banda a enuada(𝐴𝑚𝑖𝑛), que és de -40 dB i els alo s
de les eqüències 𝑓
𝑝 i 𝑓
𝐴, sen aques es de 200 Hz (s’ha deixa ma ge en e la eqüència de all i els
100 Hz pe no a enua el senyal d’in e ès amb o al segu e a ) i 800 Hz espec i amen , es po
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
29
de e mina l’o d e amb l’ajuda d’un àbac pe a les ap oximacions Bu e wo h. L’o d e esul a de
alo 4.
Saben l’o d e i la ipologia d’ap oximació, es a ús dels ci cui s p esen s en la igu a 4.3.3.3., pe ò a a
dels ci cui s passa baixos.
Al se un il e passa baixos d'o d e qua e, és necessa i l’ús de dos blocs de ci cui pe aconsegui
l'ap oximació desi jada, al com s’ha explica an e io men . Com en el cas an e io , pe oba els
alo s exac es del condensado i esis ències del ci cui , es necessi a conèixe els alo s dels
pa àme es m i q. Aques s ambé es an p esen s en la aula de la igu a 4.3.3.4.
Finalmen , cal aplica l’equació 4.3.3.1., on s’ha imposa el alo de 120 nF pel condensado 𝐶𝑜 i,
subs i uin la 𝑤𝑝 pe 2𝜋𝑓
𝑝 , sen 𝑓
𝑝 la eqüència de all (200 Hz) es oba el alo co esponen a 𝑅𝑜,
que és de 6631,46 Ω.
A iba ins aques pun , només cal subs i ui els pa àme es en el ci cui co esponen de la igu a
4.3.3.3. i desp és no mali za els alo s. El esul a és el següen :
Figu a 4.3.3.7. Ci cui pe l’ap oximació Bu e wo h del il e baixos baixos dissenya d’o d e qua e.
Com en el cas an e io , es eali za una simulació del ci cui amb els alo s dels componen s u ili za s
en l’aplicació LTspice. Obse an la igu a 4.3.3.8., s’ap ecia com a una eqüència de 200 Hz
l’a enuació és de -4,2 dB. Pe al a banda, a p àc icamen 800 Hz, hi ha una a enuació de -49,5 dB.
Aques s esul a s di e eixen lleuge amen dels espe a s. Això és degu al e que de e mina s alo s
dels condensado s, o i es a no mali za s, no es a en disponibles. Pe an , s’ha e ús del alo més
p ope . No obs an , en la p àc ica, el il e compleix amb la uncionali a .
Memo ia
30
Figu a 4.3.3.8. Respos a en eqüència del il e passa baixos dissenya .
Fil e eliminado de banda.
S'u ili za un il e eliminado de banda pe a elimina les pe o bacions co esponen s a la línia
elèc ica. A di e ència dels dos il es an e io s, idealmen , es ac a d'un il e capaç d'elimina
només aquells senyals amb una de e minada eqüència. En la p àc ica, no es po aconsegui un il e
capaç d'elimina només els senyals d'una eqüència en conc e , sinó que s'elimina un ma ge de
eqüències (aques ma ge, com més pe i sigui, millo ).
L'es uc u a escollida del il e eliminado de banda ep el nom de il e no ch a pa i de cèl·lules en
doble T amb millo a del ac o de quali a Q.
Abans d'explica en de all aques a con igu ació és necessa i de ini el ac o de quali a Q. Aques
pa àme e ep esen a la elació que hi ha en e la eqüència cen al del il e (que és la que es ol
elimina ) i el Band Wid h (que és el ma ge de eqüències eliminades).
𝑸 = 𝒇𝒐
𝑩𝑾
(Eq. 4.3.3.2.)[23]
Una ca ac e ís ica mol impo an del ci cui és la possibili a d’ajus a aques pa àme e. Pe an ,
coneixen la eqüència cen al del il e, que són els 50 Hz, i el ma ge de eqüències, sen aques de
18,59 Hz (40,7 Hz i 59,29 Hz), es po de e mina el alo de la Q = 2,69. S’ha escolli aques alo de
ma ge i no més pe i , ja que pe ac o s com la ole ància dels componen s, la eqüència cen al del
il e es pod ia eu e desplaçada i com a esul a el il e pod ia no a enua els senyals amb aquella
eqüència a elimina . D’aques a mane a, enca a que hi hagi alguna pe i a des iació en la 𝑓
𝒐, la
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
31
eqüència desi jada pe elimina é més possibili a s d’en a en el ma ge i, pe an , de se
a enuada.
Figu a 4.3.3.9. Fil e no ch a pa i de cèl·lules en doble T amb millo a del ac o de quali a Q [23].
En la igu a 4.3.3.9. es oba la con igu ació del il e, on els alo s dels condensado s 𝐶1 i 𝐶𝟐 són del
ma eix alo que 𝐶𝒐, el alo de 𝐶𝟑 de 2*𝐶𝒐 els alo s de 𝑅𝟏 i 𝑅𝟐 de 𝑅𝒐 i 𝑅𝟑 de 𝑅𝒐
2.
Pe oba 𝐶𝒐 i 𝑅𝒐 es a ús de l’equació 4.3.3.1., on la 𝑓
𝒐 són els 50 Hz i es ixa el alo de 𝐶𝒐 a 47 nF.
D’aquí su el alo de 𝑅𝒐, que és de 67, 725 kΩ.
A a bé, pe oba el alo de 𝑅𝒀𝒁 i de 𝑅𝑿𝒀 s’u li za l’equació 4.3.3.3. i 4.3.3.4.
𝑸 = 𝟏
𝟒 ∗ (𝟏 − 𝒎)
(Eq. 4.3.3.3.)[23]
𝒎 = 𝑹𝒀𝒁
𝑹𝒀𝒁 + 𝑹𝑿𝒀
(Eq. 4.3.3.4.)[23]
Pe oba el alo del pa àme e m es subs i ueix Q pe 2,69, que esul a de alo 0,907.
Seguidamen , mi jançan l’equació 4.3.3.4., es ixa el alo de 𝑅𝑌𝑍 a 97,5 kΩ pe oba el alo de
𝑅𝑋𝑌, que és de 10 kΩ
Com en els casos an e io s, es no mali zen els componen s i es eali za una simulació en L spice amb
els componen s u ili za s.
Memo ia
38
5. Diag ama de blocs del sis ema i p o o ip implemen a .
Figu a 5.1. Diag ama de blocs del eball.
De la ima ge an e io , cal comen a que o es les e apes de il e no es oben seguides pel e que
s’ha ana en p o es a la egada que s’a egien e apes. És a di , p ime amen s’ha es udia el
compo amen del p o o ip amb només el il e passa al s i, a pa i dels esul a s, s’han a egi més
e apes. És un simple apun , ja que a e ec es p àc ics, a l’es a en sè ie, el esul a és exac amen el
ma eix.
A con inuació, en la igu a 5.2, es po oba l’esquemà ic del ci cui o al implemen a , que és el que
s’ha en ia a ab ica pe e la PCB. Cal des aca que, o es aquelles pa s del ci cui que enen el ex
de “GND”, “ +”, “ -“, “D+”, “D-“, “RL”, “ ou ”, “ 1”, “ 2” i “ 3”, es an connec ades en e si.
Figu a 5.2. Esquemà ic sence del p o o ip.
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
39
En la igu a 5.3. p ime amen , es oben els “heade s”, que s’u ili zen pe a l’alimen ació i la connexió
a massa del ci cui , pe a l’en ada dels bio-po encials del cos i ambé pe al senyal de so ida.
Seguidamen , hi apa eix el ci cui impulsa pe la cama d e a jun amen amb l’e apa de p e-
ampli icació.
Figu a 5.3. P ime a pa de l’esquemà ic sence del p o o ip.
Començan pe la pa esque a de la igu a 5.4. es po oba el il e passa al s, segui de l’e apa
d’ampli icació i, inalmen , el il e passa baixos d’o d e 4.
Figu a 5.4. Segona pa de l’esquemà ic sence del p o o ip.
Començan ambé pe la pa esque a de la igu a 5.5. es po oba el il e eliminado de banda
segui del di iso de ensió amb el ci cui sumado , que o men pa de l’e apa d’adequació del
senyal.
Memo ia
40
Figu a 5.5. Te ce a pa de l’esquemà ic sence del p o o ip.
Com s'ha comen a an e io men , aques ci cui és l'implemen a en PCB, al com es po eu e en la
igu a 5.6. P esen a dues capes i unes dimensions de 86 mm*58 mm, amb un espai màxim en e
connexions de 0,16 mm. Aquelles connexions co esponen s a l'alimen ació i a massa enen una
amplada de 0,5 mm, men e que la es a de connexions de 0,254 mm.
Figu a 5.6. Esquemà ic PCB del p o o ip.
Finalmen , en la igu a 5.7, es po eu e el esul a inal de la PCB amb o s els componen s solda s.
Ha es a dissenya en EasyEDA [32] i en ia a cons ui a JLPCB [33].
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
41
Figu a 5.7. P o o ip inal en PCB.
La connexió de l'A duino amb el mòdul Blue oo h HC-06 s'ha e de mane a ex e na a la PCB, d'igual
o ma que l'alimen ació. Ha sigu necessa i connec a el nega iu d'una pila amb el posi iu de l'al a,
pe gene a els +9 V i els -9 V.
Memo ia
42
6. Funcionamen , disseny i p og amació de l’aplicació
mòbil.
A con inuació, s’explica el uncionamen de l’aplicació mòbil a la egada que el codi que ho a
possible. Cal Rema ca que, a l’ho a de c ea un p ojec e Flu e en And oid S udio, es c een
nomb oses ca pe es i i xe s, pe ò aquí només s’explica aquells que s’han modi ica i en són ú ils de
o ma di ec a.
Figu a 6.1. Fi xe s de l’aplicació Flu e en And oid S udio.
Pe segui un il conduc o a l'ho a d'en end e el codi, es comença explican la p og amació del
"main.da ", que con é el "bucle" p incipal de l'aplicació. Aques bucle execu a el widge sense
“es a ” “MyApp”. Aques s’enca ega d’inicia l’aplicació, on p ime de o , se sol·lici en els pe misos
necessa is al disposi iu, en ús del paque “pe mission_handle ” [35] ( o s aquells e e en s als
Blue oo h i d'al es que es necessi en indi ec amen ).
Seguidamen es edi igeix cap al widge "LandingPage"amb l’ajuda de u es [36] (que és el widge
que cons ueix la pan alla inicial). Aques és p esen en “LandingPage.da ”. Mol d'aques co espon
a l’in e ície g à ica, pe an , no es comen a amb de all (és una ines a que no can ia, no é "es a ").
Si cal esmen a que, en polsa el bo ó d'aques a pàgina inicial ("Connec de ice"), es na ega cap al
widge "MyApp" un al e cop pe què s'execu i una unció. Aques a unció, que és de ipus “builde ”,
amb l'ajuda d'un "S eam" (que és com una a iable que s'enca ega de gua da els es a s can ian s
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
43
del Blue oo h, i "a isa" a la unció que s'han p oduï can is), és l'enca egada de edi igi el codi cap a
una de e minada ines a (widge ), depenen si el Blue oo h es oba ac i a o no (aques “S eam”
es à semp e con olan l’es a del Blue oo h). Si el Blue oo h es à ac i a , es edi igeix cap al widge
"DispDe icesSc een" (p esen en la "page" "FindDe icesSc een.da ") i, si no es à ac i a , es edi igeix
cap al widge "Blue oo hO Sc een" (p esen en la "page " "Blue oo hO Sc een.da " [26].
Les ins uccions Blue oo h (de la llib e ia " lu e _blue.da ") i la se a es uc u ació, s'han e d'un
exemple o icial p esen en el eposi o i o icial de paque s pe a les aplicacions Da i Flu e [26].
A a bé, al com s'ha explica , quan el Blue oo h és apaga i s'ha polsa al bo ó "Connec de ice" de la
pan alla inicial (widge "LandingPage"), s'execu a el widge "Blue oo hO Sc een". Aques widge
simplemen c ea una pan alla d'espe a on es mos a un pe i ex , ampoc é "es a ".
El widge "DispDe icesSc een", p en un pape mol impo an en el uncionamen . Cal anomena
que, al se la pan alla on s'ani an mos an els di e en s disposi ius Blue oo h disponibles, es c ea un
"es a " en el widge , que pe me ac uali za la pan alla a mesu a que hi ha nous disposi ius. Es c ea
ambé un “s eam” pe eb e esul a s dels disposo ius Blue oo h i ambé a isa a mesu a que es an
oban (“_s eamSubsc ip ion”), així com ambé una llis a buida pe pode emmaga zema aques s
esul a s (“_ esul s”).
Seguidamen , es c ida a la unció “ini S a e()” on mi jançan “s a Disco e y()” i “.lis en(( esul )” es
eali za una p ime a subsc ipció pe eb e els esul a s p o inen s del Blue oo h i s’emmaga zemen
els esul a s en la a iable (" esul "). A con inuació, es busca en la llis a “_ esul s” si l’ad essa del
disposi iu nou oba ja es oba dins de la llis a. Si es oba en la llis a, simplemen s’ac uali za la
in o mació i, si no es à, s’a egeix mi jançan “_ esul s.add( esul )”. Quan ja no es de ec in nous
disposi ius, es de é la ce ca (“_isDisco e ing = alse;”).
Seguidamen , amb la ins ucció ".map", es a una i e ació sob e o s els disposi ius " esul " p esen s
en “_ esul s”, i s'en ia la se a in o mació (de o s els disposi ius cap a s, d’un en un) cap a un widge
que c ea la se a isuali zació en pan alla. Aques widge ep el nom de "Blue oo hDe iceLis I em",
que es oba dins de la ca pe a "componen s", amb el ma eix nom. Aques widge , a pa de c ea la
isuali zació d’un ec angle amb el nom del disposi iu, gene a un bo ó a la d e a "CONNECT". Quan es
polsa, es edi igeix cap a la "Page" "FindDe icesSc een.da " (que és on es à em abans, en ús de la
unció “onTap”), i s'execu a una na egació cap al widge "De iceSc een"[36], amb el "de ice"
selecciona com a a gumen (del qual s’ha polsa el seu bo ó), que con é o a la se a in o mació
(“builde : (con ex ) => De iceSc een(de ice: esul .de ice)”).
En aques a ma eixa pan alla, a baix a la d e a, hi apa eix un bo ó. Aques bo ó, amb l’ajuda de
“_isDisco e ing” a a ian en e un senyal d’”s op” quan la ce ca de disposi ius blue oo h es à ac i a
Memo ia
44
(malg a això, en aques momen el bo ó no é cap acció) i en e un senyal de “busca ” quan la ce ca
de disposi ius es à inac i a. En aques momen el bo ó sí que p esen a acció, si es p en s’execu a la
unció “_S a Scan” que inicia la ce ca de disposi ius.
El widge "De iceSc een" és a la "page" amb el ma eix nom. Aques a pan alla execu a la unció
p incipal de l'aplicació, eb e les dades en iades pel disposi iu Blue oo h al qual s'ha connec a i
g a ia les dades en un g à ic. Pe an , es ac a d'una pan alla que é un "es a ". P ime amen , es
c ea una a iable (“_connec ion”) pe con ola la connexió amb el disposi iu, i un “S eam” pe
con ola la “subsc ipció” a aques pe eb e dades(“_da aSubsc ip ion”). Seguidamen , es a el
p o ocol "bonding" que e i ica si el disposi iu selecciona ha es a p è iamen incula , si no ho ha
es a eali za el p océs de inculació. Un cop e aques p o ocol, ja es po es abli la connexió. És un
p o ocol o almen necessa i abans de connec a -se al disposi iu. És una acció que es po du a e me
g àcies al paque “ lu e _blue oo h_se ial” [27].
Dins de la unció “_connec ToDe ice()” es eali za la subsc ició pe eb e les dades, on mi jançan
".lis en", es eben les dades p o inen s del Blue oo h i s’emmaga zemen en “da a”.
Aques es dades han de se ans o mades pe pode -se g a ia . P ime es con e eix a "s ing" i
desp és a un alo en e . En acaba , amb l’ajuda del paque “_cha Da a”[29], es g a ien els pun s X i
Y i amb “S Ca esianCha ” es dibuixen els eixos del g à ic.
En an més en de all, obse an el codi, es po eu e com no s'accep a cap dada més pe i a a 100,
que co espon a 0,489 V (es po eu e en les igu es 7.1.1, 4.3.4.4. i 7.1.2. com cap senyal a iba ins a
al lími ). Pe an , en eb e una dada més pe i a a 100, no s'ac uali za el alo de la Y sinó que es
g a ia el alo de la Y an e io . Això és degu al e que a egades, els alo s que es eben pe
Blue oo h, p esen en alo s mol baixos de o ma alea ò ia i sense sen i . D'aques a mane a es
co egeix el p oblema i el p océs de g a ia no s’a u a.
Figu a 6.2. Valo s ebu s pe Blue oo h (p oblema d'incohe ència dades).
A més, cada egada que es ep una dada (mi jançan la unció “p in ”, s’obse a com o es les dades
ebudes pe Blue oo h són àlides, pe an , semp e s’hau ia de g a ia el alo de la Y i de la X), sigui
més pe i a que 100 o no, se suma una uni a a la a iable X (que ac ua com a emps). Les dades
s'ac uali zen quan el alo de X a iba a 1000, que coincideix ambé quan el g à ic a iba més o menys
al seu lími en X (1030), i du a ap oximadamen 5,5 segons. Pe an , això ol di que s'es an eali zan
imp essions en el g à ic 181,81 egades /segon (ja que es iga 5,5 segons en g a ia 1000 alo s). De
o ma simila al que oco e amb l'aplicació de P ocessing, s'ha de modi ica la eqüència de mos eig
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
45
de l'A duino pe a una millo isuali zació del senyal. En aques cas, la eqüència idònia és de 153,85
Hz.
Cal esmen a que en el eposi o i o icial de paque s pe a les aplicacions Da i Flu e , s'ha oba
in o mació mol ú il sob e com u ili za la llib e ia " lu e _blue oo h_se ial.da "[27], a més, s'ha
oba un exemple en aques a ma eixa pàgina on hi ha un codi que ep dades pe blue oo h i les
g a ia [28]. Pe sabe com c ea un g à ic, s'ha e ús de la in o mació disponible en el ma eix
eposi o i, pe ò pe la llib e ia "sync usion_ lu e _cha s" [29].
El codi de "main.da " i el p esen dins les ca pe es de "pages" i "componen s", co esponen al que
s’ha explica (s’ha es uc u a d’aques a o ma pe què sigui més in uï iu) es po oba en l'Annex A,
comen a al màxim de all pe a una majo comp ensió.
S'ha explica l'es uc u a p incipal i més impo an de l'aplicació, pe ò hi ha ca pe es i codis que
ambé són necessa is pe al co ec e uncionamen d'aques a. Pe exemple, pe e ús de llib e ies, és
comple amen necessa i eni -les desca egades i icades en un a xiu anomena "pubspec.yaml". A
més, en aques a xiu ambé s'ha d'a egi una ins ucció pe al de pode ica ima ges en l'aplicació
(com és el cas de la ima ge i dels dos objec es en la pan alla d'inici)[37]. També és necessa i ica o s
aquells pe misos que se sol·lici en en el disposi iu mòbil en un a xiu anomena
"And oidMani es .xml" [35] que es oba dins de la ca pe a "and oid". Pe acaba , indi ec amen s'ha
e ús del codi p esen en la ca pe a "S yles", on simplemen es desc iu b eumen la amília
ipog à ica o colo al qual algun ex del codi de l'aplicació ha e e e ència.
Figu a 6.3. In e ície de la pan alla inicial de l’aplicació.
Memo ia
46
Figu a 6.4. In e ície de la pan alla on es mos en els disposi ius Blue oo h a condició que el Blue oo h es igui
ac iu. En l'esque a la ce ca es à ac i a, men e que en la d e a ja s'ha a u a .
Figu a 6.5. In e ície de la pan alla que es mos a quan el disposi iu Blue oo h es à desac i a i s’ha polsa el
bo ó “Connec de ice” de la ines a inicial.
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
47
Figu a 6.6. In e ície de la pan alla de isuali zació de dades en e ical.
En l'eix ho i zon al no s'ha especi ica que les uni a s de "Time" siguin segons, ja que ealmen l'eix
ho i zon al no es à cons uï a pa i del emps, sinó que són simplemen di isions de la pan alla.
Figu a 6.7. In e ície de la pan alla de isuali zació de dades en ho i zon al.
Cal comen a que la le xe a cap en e e p esen en les igu es no s’ha c ea di ec amen , sinó que és
una implemen ació del widge “AppBa ”. Aques widge gene a pe de ec e aques símbol que si es
p en sob e ell es na ega cap a la u a an e io que é gua dada el p og ama [34].
A més, de o ma au omà ica, la ma eixa aplicació in en a adap a els widge s de cada ines a quan el
elè on mòbil es col·loca en ho i zon al. En l'app del eball es po e en o es les pan alles menys en
la inicial, on no hi ha cap ins ucció pe al de pode na ega de dal cap a baix
(“SingleChildSc ollView”) i, pe la con igu ació de la pan alla, can ian els eixos ho i zon al i e ical
sob esu el con ingu d'aques a.
Memo ia
54
En la igu a 7.3.1. es po obse a el senyal co esponen a la I de i ació bipola clàssica en l’aplicació
d’o dinado P ocessing. Tenin en comp e que el alo màxim de l’ampli ud del senyal p esen és
d’ap oximadamen 1,5 V, es po dedui l’ampli ud del senyal o iginal, que esul a de més o menys 1
mV
Figu a 7.3.2. Resul a II De i ació en l’aplicació P ocessing.
En la ima ge an e io es po obse a el senyal co esponen a la II de i ació bipola clàssica en
l’aplicació d’o dinado P ocessing. Tenin en comp e que el alo màxim de l’ampli ud del senyal
p esen és d’ap oximadamen 4,2 V, es po dedui l’ampli ud del senyal o iginal, que esul a de més o
menys 2,8 mV
Figu a 7.3.3. Resul a III De i ació en l’aplicació P ocessing.
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
55
En la igu a an e io es po obse a el senyal co esponen a la III de i ació bipola clàssica en
l'aplicació d'o dinado P ocessing. Tenin en comp e que el alo màxim de l'ampli ud del senyal
p esen és d'ap oximadamen 2,5 V, es po dedui l'ampli ud del senyal o iginal, que esul a de més o
menys 1,67 mV.
En aques cas, els alo s de l'ampli ud màxima compa ada amb l'ob inguda amb l'oscil·loscopi dis en
no ablemen , ins i o a més de 0,5 mV de di e ència. To i això, les o mes d’ona són simila s, el
senyal es dis ingeix cla amen i, com en l’oscil·loscopi i en l’app mòbil, els alo s de les ampli uds de
l’ona QRS en en dins de la no mali a de alo s es able s en la aula 3.4.1. D'igual mane a que
oco e en l'app mòbil, en la II i III de i ació hi apa eix el senyal supe posa a un segui d'in e e ències
i pe o bacions. Aques es dues mesu es enen més p edisposició a eu e's a ec ades.
Enca a que el senyal ep esen a en les dues aplicacions sigui ní id, no és an cla com aquell
isuali za en l'oscil·loscopi. Això po se causa de pe i s e o s o limi acions a l'ho a de con e i el
senyal pe pa de l'ADC, e o s o limi acions p esen s en la comunicació (sigui comunicació se ial o
mi jançan Blue oo h), pe qües ions de codi de cada p og ama o a la se a eloci a a l'ho a de g a ia
les dades.
Memo ia
56
Conclusions.
Pe conclou e, es a una alo ació dels esul a s ob ingu s, de les p oblemà iques solucionades,
d'algunes enca a p esen s jun amen amb la se a possible millo a en un u u i, pe acaba , una
anàlisi gene al del eball.
Com s'ha pogu eu e en o el eball, s'ha aconsegui mesu a es di e ències de bio-po encial en el
cos humà amb una quan i a de pe o bacions mínima. Tanma eix, Els esul a s isuali za s en
l'oscil·loscopi p esen en un senyal més ní id (quasi pe ec e) que els ep esen a s en les dues
aplicacions. Enca a que s'hagi expe imen a amb el codi d'aques s dos p og ama is ( en -lo més
e icien ) i amb la eqüència de mos eig de l'A duino pe a aconsegui millo s esul a s, de cap o ma
s'assoleix un senyal an ní id com en l'equip del labo a o i. A a bé, s'ha de eni p esen que el
con e ido analògic-digi al de l'A duino po p esen a di e ses e ades d'imp ecisió a l'ho a de e la
con e sió. Al cap i a la i, no es ac a d'un apa ell p o essional dedica al mos eig i ep esen ació de
senyals, a di e ència de l'oscil·loscopi. Una possible millo a de ca a al u u del eball pod ia se
inco po a un disposi iu de mos eig p o essional, a la egada que millo a la comunicació en e el
disposi iu amb el elè on mòbil i ambé amb l’o dinado . També millo a el codi de cada una
d’aques es dues aplicacions pe al d'ob eni un esul a enca a més p òxim al de l’oscil·loscopi.
Segons el eo ema de Nyquis , la eqüència de mos eig hau ia de se de 200 mos es/segon, pe ò
amb aques alo , apa eixien incong uències en els esul a s del senyal en les aplicacions. Pe an ,
malg a l'incomplimen d'aques a no ma, les eqüències de mos eig que p opo cionen un esul a
òp im són de 100 mos es/segon i de 153 mos es/segon pe l'aplicació de P ocessing i pe la del
mòbil, espec i amen . A més, enin en comp e que an pe comunicació se ial com pe Blue oo h
no es eben alo s in àlids (s'ha comp o a en "p in " dels alo s), saben les di isions en
ho i zon al de la pan alla de isuali zació i el emps ap oxima que iga el senyal a ecó e aques a,
es po de e mina la eloci a a la qual s'es à g a ian . Aques a eloci a d'imp essió esul a de 53
pun s/segon en el cas de l'aplicació de P ocessing, i de 181 pun s/segon en el cas de l'aplicació mòbil.
Un al e aspec e de millo a pod ia se un es udi més p o und sob e que és el que es à passan , pe al
d'aconsegui e el mos eig del senyal a la eloci a desi jada sense incon enien s, així com g a ia el
senyal a la ma eixa eloci a que es a el mos eig.
El p o o ip és obus , es à p esen a en PCB i é una sensibili a mol al a. Aques a sensibili a ,
necessà ia pe cap a els ín ims senyals, p esen a alguns incon enien s, ja que pe a la co ec a
mesu a de les de i acions, s'ha d'ana amb comp e amb el cableja so in de les ex emi a s del cos.
El més pe i con ac e o mal posicionamen a ec en no ablemen al senyal. També a ec a mol la
posició del pacien , aques ha d'es a elaxa el màxim possible, pel e que com s'ha comen a ,
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
57
qualse ol de all é un impac e di ec e en el senyal. En un u u , es pod ia do a al p o o ip d'un
cableja p o essional comple amen p o egi con a o a mena d'in e e ències i de con ac es.
Des aca que el p o o ip p esen a un senyal més ne en la I de i ació (compa a amb la II i III), pel que
a als esul a s isuali za s en les aplicacions. En l’oscil·loscopi, aques p oblema no és an ema cable.
En de ini i a, el p o o ip d'elec oca diòg a conjun amen amb l'aplicació mòbil no dis a gai e d'un
apa ell d'elec oca diog a ia come cial, i el uncionamen de l'aplicació d’o dinado P ocessing
compleix amb la se a comesa. Tanma eix, si es olgués come ciali za , s'hau ien de soluciona els
aspec es abans esmen a s, així com la inco po ació d’una ba e ia in eg ada i no ex e na, augmen an
així la se a p ac ici a .
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
59
P essupos i/o Anàlisi Econòmica.
A con inuació, s’inclou el p essupos e e en als ma e ials u ili za s, cos d’enginye ia i mà d’ob a.
To s els p og ama is que s’han e us són de lliu e disposició.
Ma e ial u ili za di ec amen .
Taula P essupos .1. Taula del p essupos inal del ma e ial u ili za di ec amen .
Ma e ial
P eu Uni a
(€/u.)
Quan i a (u.)
To al (€)
To al (€) amb
IVA
A duino UNO
19,83
1
19,83
23,95
HC-06
8,26
1
8,26
9,99
Cable ba e ia-A duino
5,78 (€/10 u.)
10
5,78
6,99
AD620
5,74
1
5,74
6,95
TL071
0,75
1
0,75
0,91
TL074
0,72
2
1,44
1,74
Heade s
6,27 (€/50 u.)
50
6,27
7,59
Resis ències 1 MΩ
0,04
5
0,2
0,24
Resis ències 10 kΩ
0,03
5
0,15
0,18
Resis ències 24,9 kΩ
0,04
5
0,2
0,24
Resis ències 8,25 kΩ
0,04
5
0,2
0,24
Resis ències 226 kΩ
0,02
5
0,1
0,12
Resis ències 453 kΩ
0,03
5
0,15
0,18
Resis ències 220 kΩ
0,02
5
0,1
0,12
Resis ències 6,65 kΩ
0,04
5
0,2
0,24
Memo ia
60
Resis ències 68,1 kΩ
0,04
10
0,4
0,48
Resis ències 34 kΩ
0,03
5
0,15
0,18
Resis ències 97,6 kΩ
0,04
5
0,2
0,24
Resis ències 2 kΩ
0,03
5
0,15
0,18
Condensado s 0,1 µF
0,03
5
0,15
0,18
Condensado s 1 µF
0,79
2
1,58
1,91
Condensado s 22 nF
0,3
1
0,3
0,36
Condensado s 100 nF
0,59
3
1,5
1,82
Condensado s 333 nF
0,3
1
0,3
0,36
Condensado s 47 nF
0,39
6
2,34
2,83
PCB
1,52 (€/5 u.)
5
1,52
1,84
Cables ECG
15,69 (€/7 u.)
7
15,69
18,99
Elèc odes
8,26 (€/50 u.)
50
8,26
9,99
Ba e ies 9 V
14,77 /(€/2 u.)
2
14,77
17,87
To al amb IVA
114,73 €
Ma e ial u ili za indi ec amen .
Taula P essupos .2. Taula del p essupos inal del ma e ial u ili za indi ec amen .
Ma e ial
P eu Uni a
(€/u.)
Quan i a (u.)
To al (€)
To al (€) amb
IVA
Po à il ASUS
495,86
1
495,86
599,99
Soldado elèc ic
16,16
1
16,16
19,55
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
61
Es any
4,95
1
4,95
5,99
Oscol·loscopi
TDS1002B
192,17
1
192,17
232,52
Mòbil xiaomi
147,36
1
147,36
178,3
To al amb IVA
810,78 €
Cos d’engingye ia.
Taula P essupos .3. Taula del p essupos inal del cos d’enginye ia.
Concep e
P eu pe ho a
(€/h)
Quan i a (h)
To al (€)
To al (€) amb
IVA
Enginye
10,75
450
4837,5
5853,38
To al amb IVA
5853,38 €
Balanç o al.
Taula P essupos .4. Taula del balanç o al inal.
Concep e
To al (€) amb IVA
Ma e ial u ili za di ec amen
114,73
Ma e ial u ili za indi ec amen
810,78
Cos d’enginye ia
5853,38
To al amb IVA
6778,89 €
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
63
Bibliog a ia.
[1] Mayo Clinic. Elec oca diog ama (ECG) [en línia]. Consul a el 14 de ma ç de 2023. Disponible a:
h ps://www.mayoclinic.o g/es-es/ es s-p ocedu es/ekg/abou /pac-20384983
[2] Ame ican Hea Associa ion. Elec oca diog am (ECG o EKG) [en línia] . Consul a el 14 de ma ç
de 2023. Disponible a: h ps://www.hea .o g/en/heal h- opics/hea -a ack/diagnosing-a-hea -
a ack/elec oca diog am-ecg-o -ekg
[3] P ize . Flashback: The Fi s ECG [en línia]. Consul a el 17 de ma ç de 2023. Disponible a:
h ps://www.p ize .com/news/a icles/ lashback_ he_ i s _ecg
[4] Uni e si a de València (Escola Tècnica Supe io d’Enginye ia). Tema 2 Bioseñales. Consul a el 19
de ma ç de 2023. Disponible a: h p://ocw.u .es/ingenie ia-y-a qui ec u a/1-
5/ib_ma e ial/IB_T2_OCW.pd
[5] Uni e si a Jaume I (Facul a de Ciències de la Salu ). Tema 2: Fundamen os básicos
elec oca diog a ía. [ i xe pd ]
[6] Uni e si a Poli ècnica de Ca alunya, Cen e de Rece ca en Enginye ia Biomèdica.Tema 2:
Sis emas de medida de biopo enciales. [ i xe pd].
[7] Richa d E. G egg MSEE, Sophia H. Zhou PhD, James M. Lindaue MD, E ic D. Hel enbein MSEE,
Ka en K. Giuliano RN, PhD. Wha is inside he elec oca diog aph?. Publica el 14 d’Agos de 2008.
ScienceDi ec .
[8] Leydy Lau a Ál a ez E. Análisis de esquemas de il ado análogo pa a señales ECG. Publica en
Desemb e de 2007. Uni e si a Tecnològica de Pe ei a.
[9] Naylamp Mecha onics. Tu o ial básico de uso del módulo Blue oo h HC-06 y HC-05 [en línia].
T ujillo, Pe ú: Naylamp Mecha onics, 2019. Consul a el 29 de ma ç de 2023. Disponible a:
h ps://naylampmecha onics.com/blog/12_ u o ial-basico-de-uso-del-modulo-blue oo h-hc-06-y-
hc-05.h ml
[10] Ronald Del Aguila. Elec odos pa a medi biopo enciales. Consul a el 30 de ma ç de 2023.
Disponible a : h ps://s udylib.es/doc/7213959/elec odos-pa a-medi -biopo enciales
[11] Analog De ices. AD620 Ins umen a ion Ampli ie Da ashee [documen ècnic]. Disponible a:
h ps://pd 1.allda ashee .es/da ashee -pd / iew/48090/AD/AD620.h ml
Annexos
70
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
senyal en emps eal',
s yle: Tex S yle(
deco a ion: Tex Deco a ion.none,
),
),
],
),
maxLines: 7,
o e low: Tex O e low.ellipsis,
),
SizedBox(heigh : 20,),
Tex Bu on( //c ea un bo ó
s yle: Ele a edBu on.s yleF om(//pe me con igu a -lo
shape: RoundedRec angleBo de (bo de Radius: Bo de Radius.ci cula (15)),//es ableix el adi del
bo de del ec angle
backg oundColo : Colo s.black,//es ableix el ons a neg e
minimumSize: Size. omHeigh (50),//50 px d'al u a
),
onP essed: (){ Na iga o .pushNamed(con ex , '/ indDe ices'); },// na ega cap '/ indDe ices' u a
//quan es p esioni el bo ó. Es "na ega à" ins a "/ indDe ices"
child: cons Tex ( //les ca ac e ís iques del ex del bo ó
"Connec de ice",
maxLines: 2,
o e low: Tex O e low.ellipsis,
s yle: Tex S yle(
colo : Colo s.whi e,
on S yle: Fon S yle.no mal,
on Weigh : Fon Weigh .w700,
on Size: 25),
)
)
],
),
)
],
)
),
);
}
}
class LandingBackg ound ex ends S a elessWidge { //de ineix ons de pan alla
inal Widge child; //aques child és él widge que s'ha de ini abans
inal Size size; //és la a iable de inida an e io men
cons LandingBackg ound({ //aga a aques es p opie a s i les asigna a les a iables
Key? key,
equi ed his.size,
equi ed his.child
}) : supe (key: key);
@o e ide
Widge build(BuildCon ex con ex ) {
e u n Con aine ( //"con enedo " p incipal del ons
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
71
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
heigh : size.heigh , //ocupa o a la al u a e ical
wid h: double.in ini y, //ocupa o a la amplada disponible
child: S ack(//se eix pe ica widge s uns asob e d'al es
alignmen : Alignmen .cen e ,
child en: <Widge > [
Posi ioned(//pe me ubica de o ma conc e a un widge
op: 0, //en el can ó esque e supe io
le : 0,
child: Image(
image: cons Asse Image(
'asse s/images/main_ op.png' //el ma eix que l'al e ima ge
),
wid h: size.wid h * 0.3,
)
),
Posi ioned(
bo om: 0, //en el can ó esque e in e io
le : 0,
child: Image(
image: cons Asse Image(
'asse s/images/main_bajo.png'
),
wid h: size.wid h * 0.2,
)
),
Sa eA ea( //s'u ili za pe a que o el con ingu de "Landingbackg ound es igui
//dins del ma ge
child: Cen e (//en la úl ima capa, s'execu a aques a unció pe al de cen a
// o el con ingu de la pan alla.
child: child,
)
)
]
)
);
}
}
A3. Codi “Blue oo hO Sc een.da ”.
1
2
3
4
5
6
7
8
impo 'package: lu e /cupe ino.da ';
impo 'package: lu e /ma e ial.da ';
class Blue oo hO Sc een ex ends S a elessWidge {
cons Blue oo hO Sc een({Key? key}) : supe (key: key);
// enim aquí desde la unció main() quan el blue oo h es à desconnec a
@o e ide
Widge build(BuildCon ex con ex ) {
Annexos
72
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
e u n Sca old(//pe c ea es uc u a d'una pan alla
appBa : AppBa (
i le: Tex ('Check you connec ion'),
),
backg oundColo : Colo s.ligh Blue,
body: Cen e (
child: Column( //col·loca el ex un abaix d'un al e
mainAxisSize: MainAxisSize.min,//pe u ili za el mínim espai possible
child en: <Widge >[
cons Icon(
Icons.blue oo h_disabled,//biblio eca ma e ialda
size: 200.0,
colo : Colo s.whi e54,//colo blanc amb opaci a del 54%
),
Tex (
'Blue oo h is disconnec ed.',
s yle: Theme.o (con ex )
.p ima yTex Theme//es il de ex del paque ma e ial.da
. i leMedium //es il de ex del paque ma e ial.da
?.copyWi h(colo : Colo s.whi e), //ins ucción eque ida po s yle
),
Tex (
'Please, u n on you blue oo h on de ice se ings.',
s yle: Theme.o (con ex )
.p ima yTex Theme
. i leMedium
?.copyWi h(colo : Colo s.whi e),
)
],
),
),
);
}
}
A4. Codi “FindDe icesSc een.da ”.
1
2
3
4
5
6
7
8
9
10
11
12
impo 'da :async'; //Paque async que p opo ciona uncions asínc ones com "S eamSubsc ip ion"
impo 'package: lu e /cupe ino.da ';//widge s de deco ació
impo 'package: lu e /ma e ial.da ';//més widge s de deco ació
impo 'package: lu e _blue oo h_se ial/ lu e _blue oo h_se ial.da ';
//impo a el paque " lu e _blue oo h_se ial". Biblio eca que pe me nomb oses in e accions
//i uncionali a s mi jançan Blue oo h
impo '../componen s/Blue oo hDe iceLis I em.da ';//impo a l'a xiu amb el nom especi ica ,
//que es oba dins la ca pe a componen s del p ojec e
impo 'De iceSc een.da ';// El ma eix que l'an e io .
class DispDe icesSc een ex ends S a e ulWidge {//es de ineix DispDe icesSc een com a
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
73
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//widge amb es a
@o e ide
_DispDe icesSc eenS a e c ea eS a e() => _DispDe icesSc eenS a e();//c ea l'es a DispDe icesSc eenS a e
//, aques es a s'enca ega de ges iona els can is en la pan alla (del widge DispDe icesSc een)
}
class _DispDe icesSc eenS a e ex ends S a e<DispDe icesSc een> {//_DispDe icesSc eenS a e és una ex ensió
//de l'es a de la pan alla DispDe icesSc een
Lis <Blue oo hDisco e yResul > _ esul s = [];//llis a d'objec es que emmaga zema à els esul a s
//de busca disposi ius blue oo h. <Blue oo hDisco e yResul > és una classe de a iable
//g àcies a la llib e ia lu e _blue oo h_se ial
bool _isDisco e ing = alse;//indica si s'es à en la ce ca de disposi ius blue oo h
//En aques cas, indica que no s'es à eali zan la búsqueda
//més enda an , es de ini à com a ue pe indica que si s'es à en
S eamSubsc ip ion<Blue oo hDisco e yResul >? _s eamSubsc ip ion; //es c ea un s eam _s eamSubsc ip ion
//de ipus o el que hi ha a la esque a. Con ola esul a s búsqueda disposi ius Blue oo h
//el ? es pe que po se posi i a o nega i a el s eam
@o e ide//pe me sob eesc iu e la unció ini S a e, que ja exis eix ja que
//_DispDe icesSc eenS a e es una ex ensió de S a e, i aques S a e po a inco po a ini S a e
oid ini S a e() { //el codi es si úa aquí au omà icamen quan s'inicía _DispDe icesSc eenS a e
supe .ini S a e();
_s a Scan();//Pe an , s'a egeix _s a Scan sind de la unció ini S a e, ja que aques a
//s'execu a semp e.
}
@o e ide
oid dispose() {//s'u ili za aques mè ode pe inali za la asca de busca disp blue oo h
//es c ida aques a unció quan el widge "-DispDe icesSc eenS a e" ja no es à en igo
//com pe exemple quan es can ia de pàgina.
_s eamSubsc ip ion?.cancel();//es cancel·la la subsc ipció pe eb e disposi ius
supe .dispose();
}
oid _s a Scan() {
se S a e(() { //can ia l'es a de _DispDe icesSc eenS a e
_ esul s.clea ();//buida o a la llis a de esul a s an e io s
_isDisco e ing = ue; //es comença amb l'escaneig dels disposi ius Blue oo h
});
_s eamSubsc ip ion = // a iable de ipus "S eamSubsc ip ion" que emmaga zema à la in o mació
//dels esul a s de la explo ació Blue oo h. s a Disco e y i .lis en es a la P ime a subsc ipció
Flu e Blue oo hSe ial.ins ance.s a Disco e y().lis en(( esul ) { //Es c ida a s a Disco e y
//pe inicia la explo ació de disposi ius Blue oo h. Es uc u a que es po oba en l'exemple
//aques mè ode e o na un "s eam" que eme e en s cada cop que es de ec en disposi ius
se S a e(() {//se eix pe eali za can is en l'es a del widge "_DispDe icesSc eenS a e"
inal exis ingIndex = _ esul s.indexWhe e(//se eix pe oba l'índex (posició) d'algún
//elemen que compleixi amb la següen condició
(elemen ) => elemen .de ice.add ess == esul .de ice.add ess);//es a una i e ació
// pe eu e si la di ecció del disposi iu ac ual (que es esul , al i com s’ha ica en .lis en)
//coincideix amb algun elemen de la llis a
i (exis ingIndex >= 0) //si s'ha oba algún elemen que compleix la condició
_ esul s[exis ingIndex] = esul ; //s'ac uali za la in o mació pe que ja es aba
else
Annexos
74
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
_ esul s.add( esul );//s'a egeix el nou disposi iu a la llis a _ esul s
});
});
_s eamSubsc ip ion!.onDone(() {//quan ja no hi hagin més elemen s en el "s eam" de
//"_s eamSubs ip ion, s'ac i a aques " lag"
se S a e(() {
_isDisco e ing = alse;//es inali za la búsqueda de disposi ius
});
});
}
@o e ide
Widge build(BuildCon ex con ex ) {
e u n Sca old(
appBa : AppBa (
i le: Tex ('Find De ices'),
),
body: Re eshIndica o ( //widge que pe me , lliscan cap abaix la pan alla,
// edi ecciona cap a la unció _s a Scan pe o na a busca disposi ius
onRe esh: () async {//en la p àc ica, espe a ins a que ja no es de ec in més
//disposi ius pe e -ho
_s a Scan();
},
child: SingleChildSc ollView(//pe me na ega e icalmen pe a eu e més con ingu
//quan el con ingu excedeix de la pan alla
child: Column(
child en: _ esul s.map(( esul ) {//"map" pe me i e a en e cada elemen .
e u n Blue oo hDe iceLis I em(//es c ea un nou í em (pe ò això es oba en "componen s",
"Blue oo hDe iceLis I em"
// al que en iem la in o mació de blue oo h del disposi iu ac ual. El widge que a això, es oba
dins de la
//ca pe a de componen s
de ice: esul .de ice,// iquem la in o mació del apa ell en de ice, i és aques a in o mació la que
s'u li za
//pe a c ea el I em en la se a "page" co esponen
onTap: () {//al polsa sob e el bo ó que es c ea en "Blue oo hDe iceLis I em"
Na iga o .o (con ex ).push(//aques es línies se eixen pe a na ega ins a la pan alla
//De iceSc een, enin el disposo iu selecciona com a "a gumen "
Ma e ialPageRou e(
builde : (con ex ) => De iceSc een(de ice: esul .de ice),//alesho es,
//es mos a la pan alla de De iceSc een amb el de ice especí ic que s'hagi selecciona
// ealmen es c ea un í em pe cada disposi iu, pe an quan polsem sob e el seu espec iu bo ó
//el de ice selecciona se à el bo ó del que s'ha polsa pe e la g à ica
),
);
},
);
}). oLis (),//necessa i ja que el widge column no eballa amb només un child,
// eballa amb child en, i en aques cas només hi ha un.
),
),
),
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
75
119
120
121
122
123
124
125
126
127
128
129
130
131
loa ingAc ionBu on: Floa ingAc ionBu on(//es de ineix un bo ó que depen de la a iable
//_isDisco e ing
child: Icon(_isDisco e ing ? Icons.s op : Icons.sea ch),//si s'es à buscan que apa egui
//la icona de s op, sinó de sea ch. I _isDisco e ing = T ue, que es mos i s op,
//i si es alse que es mos i la lupa.
onP essed: _isDisco e ing ? null : _s a Scan,//quan es p em el bo ó i es à en " alse" la a iable
//s'execu a la unció _s a Scan
backg oundColo : _isDisco e ing ? Colo s. ed : null,//si s'es à buscan , el ons del bo ó
//es e mell, men e que si no, el ons es el p ede e mina (blau)
),
);
}
}
A5. Codi “Blue oo hDe iceLis I em.da ”.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
impo 'package: lu e /cupe ino.da ';
impo 'package: lu e /ma e ial.da ';
impo 'package: lu e _blue oo h_se ial/ lu e _blue oo h_se ial.da ';
impo '../s yles/S yles.da ';
//aquí és on c ea l'espai i la es uc u a de cada un dels í ems de la llis a
class Blue oo hDe iceLis I em ex ends S a elessWidge {
cons Blue oo hDe iceLis I em(
{Key? key, equi ed his.de ice, equi ed his.onTap}) : supe (key: key);
//es de ineix el widge , que é dues p opie a s indispensables. Una és de ice (que po a la in o mació
//del disposi iu, i desp és una unció que s'execu a quan es polsa algún elemen de la llis a.
inal Blue oo hDe ice de ice;// a iables de lec u a
inal VoidCallback onTap;
Widge _buildTi le(BuildCon ex con ex ) {
i (de ice.name != null) { //es comp o a si el disposi iu é un nom que NO és "null"
e u n Column(//si no és "null" es e o na el widge column amb ce es ca ac e ís iques
mainAxisAlignmen : MainAxisAlignmen .s a ,
//pe alinea e icalmen
c ossAxisAlignmen : C ossAxisAlignmen .s a ,
//pe alinea ho i zon almen
child en: <Widge >[
Tex (
de ice.name ?? '',//asigna a ex
// el nom del disposi iu, pe ò si el nom és "null", es ica cadena buida: ''
o e low: Tex O e low.ellipsis,
//d'aques a o ma ens asegu em que semp e es p opo ciona un alo no "null"
//enca a que amb la condició "i " ja s'especi ica que no po se
Annexos
76
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
)
],
);
} else {
e u n Tex (
de ice.add ess); //si no é nom, (és "null"), que es iqui l'ad essa
}
}
@o e ide
Widge build(BuildCon ex con ex ) { //u ili za el "_buildTi le" an e io pe a ob eni el seu
//widge i modi ica -o a egin el bo ó
e u n Con aine (
padding: cons EdgeInse s.all(8.0), //espai de 8 píxels en o es les di eccions
deco a ion: BoxDeco a ion(
bo de : Bo de .all(colo : Colo s.g ey),//deco ació de la "caixa" que en ol a cada ila
bo de Radius: Bo de Radius.ci cula (8.0),
),
child: Lis Tile(//pe a egi el con ingu del "con aine "
i le: _buildTi le(con ex ),//s'ob é el widge del í ol an e io i es cons ueix
ailing: Ele a edBu on( //" ailing" se eix pe especi ica que es col·loca a la d e a del o
child: Tex ('CONNECT'),
onP essed: onTap, //al polsa -se, que s'execu i aques a unció que es à en: "FindDe icesSc een"
),
),
);
}
}
A6. Codi “De iceSc een.da ”.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
impo 'da :async'; //pe me e ús del ime
impo 'package: lu e /cupe ino.da ';
impo 'package: lu e /ma e ial.da ';
impo 'package: lu e _blue oo h_se ial/ lu e _blue oo h_se ial.da ';
impo 'package:sync usion_ lu e _cha s/cha s.da ';//pe pode c ea i mos a g à ics
class De iceSc een ex ends S a e ulWidge {
cons De iceSc een({Key? key, equi ed his.de ice}) : supe (key: key);
//de ice ob ingu en la "page" "FindDe icesSc een"
inal Blue oo hDe ice de ice;//el disposi iu del qual ens hem connec a
@o e ide
_De iceSc eenS a e c ea eS a e() => _De iceSc eenS a e();
//es c ea un es a pe con ola l'es a de la ines a
}
class _De iceSc eenS a e ex ends S a e<De iceSc een> {
//es c ea una ex ensió de l'es a de la pan alla
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
77
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
inal Lis <Cha Da a> _cha Da a = [];//c ea una llis a on s'emmaga zema à
//les dades a mesu a que es eben pe blue oo h
in _coun e X = 0;//comp ado pels alo s X del g à ic
Blue oo hConnec ion? _connec ion;//pe ep esen a que s'ha es able connexió amb el disposi iu
// a iable de ipus “Blue oo hConnec ion”, po eni alo nega iu pe això el “?”
S eamSubsc ip ion<S ing>? _da aSubsc ip ion; // a iable pe emmaga zema la subsc ipció disposi iu
// pe a luxe dades indica que el ipus de dades que es eben es de ipus S ing. Po eni alo nega iu
@o e ide //pe me sob eesc iu e la unció ini S a e, que ja exis eix ja que
//_DispDe icesSc eenS a e es una ex ensió de S a e, i aques S a e po a inco po a ini S a e
oid ini S a e() {
supe .ini S a e();
_bondAndConnec ToDe ice();//només al inicia -se el widge , es c ida a aques es dues uncions
}
@o e ide
oid dispose() {//quan es inali zi aques a ines a s’execu a:
_da aSubsc ip ion?.cancel();//es cancel·la la subsc ipció
_connec ion?.dispose();//és una ins ucció p opo cionada pe la llib e ia de lu e blue oo hse ial,
//la qual anca la connexió Blue oo h i es lli e en o s els ecu sos u ili za s
supe .dispose();
}
Fu u e< oid> _bondAndConnec ToDe ice() async {//es eali za la inculació “bonding” necessà ia abans
//de connec a -se al disposi iu. Acció possible g àcies a “ lu e _blue oo h_se ial”. Asínc ona
S ing a ge Add ess = widge .de ice.add ess;//s'ob é la di ecció del disposi iu selecciona
//i es gua da en la a iable
Lis <Blue oo hDe ice> bondedDe ices = awai Flu e Blue oo hSe ial.ins ance.ge BondedDe ices();
//es demana la llis a de disposi ius p è iamen incula s i s’espe a a que es comple i la ope ació
//pe con inua .”Flu e Blue oo hSe ial” és una ins ucció del paque abans comen a . Es gua da a “bondedDe ices”
bool isBonded = bondedDe ices.any((de ice) => de ice.add ess == a ge Add ess);
//es comp o a si el disposi iu ja es à incula . Es compa a di eccions en una i e ació “any”.
// e o na ue si coincideix algún “de ice” de “bondedDe ices” amb el de ice.ad ess ac ual
i (!isBonded) {
// si el disposi iu no es à incula , s'in en a e -ho
awai Flu e Blue oo hSe ial.ins ance.bondDe iceA Add ess( a ge Add ess);
}
//”bondDe iceAd ess” ambé és del paque “ lu e Blue oo hSe ial”
_connec ToDe ice();//si ja es a a incula o es incula, ens anem cap a la unció especi icada.
}
Fu u e< oid> _connec ToDe ice() async {//en aques a unció, s'es ableix la connexió amb el disposi iu
//i la ges ió de les dades
awai Blue oo hConnec ion. oAdd ess(widge .de ice.add ess). hen((_connec ion) {
//de la llib e ia lu e Blue oo hSe ial. Es ableix connexió amb el disposi iu
// en ús de la se a di ecció. Es e o na un objec e de ipus Blue oo hConnec ion
//”_connec ion” ep esen a si la connexió s’ha es able o no
_connec ion.inpu ?.lis en((da a) {//mi jançan el ".lis en", es pe me eb e dades del disposi iu
//blue oo h al qual s'ha es able la connexió. Dades emmaga zemades en “da a”
Annexos
78
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//el “?” ol di que només el luxe es à ac iu quan “_connec ion” no és “null” (nega iu)
i (_coun e X > 1000) { //simplemen el que a aques a unció és einicia les dades que es mos en
//quan "_coun e X" supe a el alo de 1000. S'ha escolli aques alo ja que es un alo quasi exac e
// a 1030, que és la ampli ud en X del g à ic.Co espon a més o menys 5,5s.A duino 153 m/s.Aquí 181,81 m/s.
se S a e(() {
_cha Da a.clea ();//es bo en o s els elemen s de la llis a (del g à ic)
_coun e X = 0;//es einicia el comp ado en X
});
}
S ing s = S ing. omCha Codes(da a);//IMPORTANT; aques a línea con e eix l'objec e
//"Lis <in >" que és el que es ep en una "s ing". Con e eix by es en ca àc e s.
Lis <S ing> lines = s .spli (' n');//cada cop que es ep n i n en la cadena que en a
// doncs es conside a que és un nou alo . A pa i del "s ing" (“s ”) an e io , gene a
//línies sepa ades pel c i e i comen a
o (S ing line in lines) {// a una i e ació pe cada línia c eada an e io men
//i gua da el esul a en "line"
p in (lines);//aquí s'ha e un p in pe isuali za un p oblema que hi ha ia
//comen a en el eball aques p oblema
in ? alue = in . yPa se(line); //in en a con e i cada "line" a un en e
//i ho gua da en " alue"
i ( alue != null) { //si s'ha eali za co ec amen la con e sió a en e :
i ( alue > 100) {
//els alo s més pe i s a 100 no es mos en (0.489 V), ja que hi han p oblemes a l'ho a de eb e
//els alo s a és del Blue oo h, es gene en alo s mol baixos de o ma
// o almen alea o ia
se S a e(() {
_cha Da a.add(Cha Da a(_coun e X, alue)); //es modi ica la lis a "_cha Da a"
//el alo X és el comp ado i el alo en Y és el " alue"
_coun e X += 1; //s'inc emen a en 1 el comp ado en X
});
} else { //pe si el alo és <100
se S a e(() {
_cha Da a.add(Cha Da a(_coun e X, _cha Da a.las . alue)); //a egeix en Y
//el alo an e io
_coun e X += 1;//inc emen a en comp ado en X
});
}
}
}
});
});
}
@o e ide
Widge build(BuildCon ex con ex ) {//es c ea una es uc u a
e u n Sca old(//ins ucció ípica pe es uc u es
appBa : AppBa (//encapçalamen
i le: Tex (widge .de ice.name ?? 'Unknown de ice'),//si es coneix el nom, que el ex
DISSENY I IMPLEMENTACIÓ D'UN PROTOTIP D'ELECTROCARDIÒGRAF AMB VISUALITZACIÓ DEL SENYAL EN TEMPS REAL.
79
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
//sigui el nom, sino que el ex sigui "Unknown de ice"
),
body: SingleChildSc ollView(//pe a pode na ega e icalmen quan el con ingu excedeix
child: Column(
child en: <Widge >[
Con aine (
heigh : 300,//es c ea un con enedo de 300 pixels d'al u a
child: S Ca esianCha (//de la biblio eca "sync usion_ lu e _cha s"es c ea un
//g à ic ca esià
p ima yXAxis: Nume icAxis(//es de ineix com a eix numè ic
i le: AxisTi le(
ex : 'Time',
),
minimum: 0, // Valo mínim pe l'eix X
maximum: 1030, // Valo màxim pe l'eix X
in e al: 50),//sepa acions en la g à ica
p ima yYAxis: Nume icAxis(
i le: AxisTi le(
ex : 'Vol s [V]',
),
minimum: 0, // Valo mínim pe l'eix Y
maximum: 1100, // Valo màxim pe l'eix Y
in e al: 50),//sepa acions en la g à ica
se ies: <Cha Se ies>[//es de ineix el g à ic
LineSe ies<Cha Da a, in >( //s'especi ica que s'u ili za un g à ic
//de ipus lineal
da aSou ce: _cha Da a,//s'indica la on de les dades
xValueMappe : (Cha Da a da a, _) => da a. alueX,//s'indica el alo de la X
yValueMappe : (Cha Da a da a, _) => da a. alue,//s'indica el alo de la y
),
]),
),
],
),
),
);
}
}
class Cha Da a {
inal in alueX;
inal in alue;
Cha Da a( his. alueX, his. alue);//s'emmaga zema els alo s de x, y en
//"Cha Da a"
}