Il vostro ECG su Facebook

ecg_connesso

Quello che vi presentiamo oggi è un progetto nato da un'idea estemporanea: sfruttare in maniera diversa Facebook. Tutti noi, sulle piattaforme social, pubblichiamo tutto il giorno una serie di cose davvero poco interessanti. Con questo progetto proveremo a fare in modo che l'elettronica, l'acquisizione dei segnali, i sistemi elettromedicali e la popolare piattaforma di social network dialoghino tra di loro in un'applicazione veramente interessante. Ecco cosa abbiamo sviluppato.

Per parlare di questo progetto dovremo fare diversi passi indietro ma saremo brevi, sintetici e concisi.

Per realizzarlo è assolutamente indispensabile provvedere ad un opportuno impianto di amplificazione differenziale dedicato.
Utilizzare dei semplici amplificatori operazionali non sarebbe stato sufficiente ed è proprio per questo motivo che è stata realizzata una configurazione differente che prende il nome di amplificatore da strumentazione.
In un articolo dedicato abbiamo affrontato, infatti, proprio questo tipo di problematiche, cercando una soluzione basata anche sul tipo di guadagno ottenibile. Il risultato è stata la descrizione di un sistema idoneo a fornire le giuste prestazioni sia in termini di eliminazione delle componenti molto comune sia in termini di amplificazione del segnale differenziale.

Come si sa, però, il rumore non è una grandezza deterministica e per eliminarlo c'è bisogno di una caratterizzazione diversa: serve filtrare almeno parte delle interferenze, che sono facilmente individuabili perché l'interferenza di rete è certamente presente ed individuabile con precisione.
A questo proposito abbiamo pubblicato un articolo che parla di filtri estremamente selettivi in frequenza il cui scopo è proprio sopprimere queste componenti.
Il dimensionamento è un fatto critico e proprio per questo motivo bisogna essere assolutamente sicuri della resa finale.
È necessario studiare il filtro e fare diverse prove per caratterizzarlo in maniera estremamente dettagliata.

Come si fa l'ECG

Apriamo una breve parentesi sulle derivazioni elettrocardiografiche perchè è importante fare chiarezza sia in generale sia rispetto a quello che useremo.
Innanzitutto, le derivazioni possono essere bipolari oppure unipolari, a seconda che uno oppure entrambi gli elettrodi siano influenzati dall'attività cardiaca. Nel primo caso, l'attività influente sarà circa equivalente mentre nel secondo caso solo uno degli elettrodi, cosiddetto "Esplora ante" sarà influenzato dall'attività. L'altro verrà definito "indifferente".

Altra possibilità, definirli in funzione della distanza dal cuore per cui avremmo elettrodi "diretti", cioè a contatto con la superficie del cuore, "semi diretti", cioè situati a breve distanza dal cuore e poi gli "indiretti", ovvero molto distanti dal cuore.

La posizione è fondamentale per la definizione degli elettrodi ed ora lo vedremo nel dettaglio.
Le derivazioni standard di Einthoven si chiamano così in riferimento al primo che intraprese lo studio dell'attività cardiaca. L'idea fu quella di seguire una geometria triangolare

Image credits

con elettrodi collocati alle estremità del corpo. Si tratta del modo di rilevare l'elettrocardiogramma più utilizzato in campo clinico. Il "sistema di derivazioni standard" o "derivazioni degli arti" prevede elettrodi posti sul polso destro (R), sul polso sinistro (L) e sulla caviglia sinistra (F).

Le derivazioni pericordiali rappresentano un'altra possibilità che completa il livello di informazioni prelevate.
Se le derivazioni già viste si collegano tra loro attraverso resistori di valore elevato, si ottiene un punto comune di riferimento arbitrario, conosciuto con il nome di "terminale centrale di Wilson".
Le derivazioni pericordiali si ottengono misurando l'andamento del potenziale di alcuni punti del torace rispetto al terminale centrale di Wilson; dal momento che il segnale che si propaga all'interno della muscolatura cardiaca lo fa attraverso fasci nervosi, quindi percorso fisso, ci aspettiamo che ciascun punto del torace serva a rilevare potenziali differenti che nel tempo evolvono.

Esistono, poi, le cosiddette derivazioni di Goldberger, meglio note come derivazioni degli arti unipolari aumentate. Si tratta, in pratica, di una variante delle precedenti perché invece di misurare il potenziale di altri punti rispetto al terminale centrale, si misurano i potenziali di ciascuno dei tre elettrodi.

In ogni caso, qualsiasi sia la configurazione che si sceglie, maggiore è il numero di elettrodi coinvolti nella misurazione, più precisa e completa sarà l'analisi effettuata.

Ora che abbiamo inquadrato il problema, non ci resta che ragionare su

che cosa ci occorre

Il sistema che stiamo per descrivere è composto di diversi elementi.
Quello che è fondamentale, però, è capire come vengono fatti i collegamenti, qual è la struttura.
Per fare questo, diamo uno sguardo allo schema a blocchi:

Quest'immagine risulta certamente chiara ed esaustiva perché evidenzia ciascun collegamento così come viene realizzato ed alla fine permette di farsi un'idea anche delle dimensioni in gioco.

Adesso vediamo di intenderci su tutto ciò che serve singolarmente e vediamoli nel dettaglio:

Arduino Yun

Arduino è una scheda che non ha davvero bisogno di presentazioni. Semplice, economica, facilmente utilizzabile, immediata e Open Source. Come immaginare che potesse migliorarsi?
Eppure non era completa, per niente. La sua dotazione era parziale ma adesso esiste la versione che risolve questo problema ed il suo nome è proprio Yun.
Basata sullo stesso microcontrollore e su Atheros AR9331, supporta la distribuzione Linux Linino, basata su OpenWRT.
Rispetto alla precedente è dotata di un lettore di schede di memoria micro-SD, interfaccia Ethernet e supporto Wi-Fi nonché di una porta USB tipo A.
Completano la dotazione 20 pin digitali di I/O, di cui sette possono essere usati per uscite PWM.

La scheda pertanto si distingue dalle altre perché non ha bisogno di aggiungere diverse funzionalità che fino a questo momento necessitavano l'utilizzo di uno o più shield integrative. Tra l'altro, è in grado di comunicare grazie ad una distribuzione completa il che la rende autonoma con tutta la funzionalità della connessione ad Internet unita alla semplicità di Arduino.
Inoltre, insieme ai comandi Linux come CURL sarà possibile scrivere nella shell e tramite Python.

Per tutti quelli che non la conoscono, come potete vedere nelle foto, la scheda è molto simile alla versione Leonardo ma implementa diverse funzionalità in più. Tra le sue caratteristiche principali c'è la libreria Bridge che permette una estrema facilità di comunicazione tra due processori rendendo possibile agli sketch di Arduino l'esecuzione e la comunicazione con interfacce di rete ed anche la ricezione delle informazioni. Tutto contemporaneamente. Senza contare che una serie di periferiche possono essere interfacciate direttamente con essa ed interagire direttamente con il programma che stiamo scrivendo.

ECG/EKG Shield

La scelta fatta per questo progetto prevede l'utilizzo di uno shield grazie al quale si riesce ad acquisire segnali elettrocardiografici ed elettromiografici. L'acquisizione non è l'unica delle possibilità dal momento che, una volta rilevati, questi segnali possono essere analizzati e studiati con precisione.

Un esempio applicativo è la caratterizzazione della muscolatura in funzione del tipo di stimolo associato al particolare gesto ed anche alla sua intensità.

Lo shield è utilissimo su tutte le schede della serie Arduino e l'idea di utilizzare la Yun si è dimostrata vincente ciò nondimeno, la scheda può funzionare correttamente anche con quelle che lavorano a 3.3 V.
Ben due pin digitali sono disponibili per fornire un'uscita di calibrazione, D4 e D9.
Il connettore d'ingresso è predisposto per l'interfacciamento con elettrodi attivi.

I braccialetti

Questi sono elettrodi passivi progettati per lavorare con lo shield che vi abbiamo mostrato e grazie a questo tipo di interfaccia tutti gli esperimenti annunciati in precedenza possono avere luogo.

Per evitare di fare confusione, gli elettrodi sono marchiati con le lettere L, R e D.

Il codice

Dal punto di vista della programmazione, abbiamo sostanzialmente due grossi problemi da risolvere: prima di tutto lavorare sui dati. Dando per scontata l'acquisizione, abbiamo la necessità di utilizzare i dati in maniera tale da poter produrre un'immagine complessiva che descrive il tracciato e quindi di stampare questi dati su un'immagine di base.
Sostanzialmente stiamo costruendo, grazie alla gestione delle immagini, un grafico partendo dagli assi e sovra-imponendo i campioni cioè i valori cioè il grafico.
Tutto sommato abbastanza semplice.

Il secondo problema, dal punto di vista della programmazione, è proprio la pubblicazione su Facebook. Far interagire la scheda Arduino Yun con Facebook è una cosa complicata ma tutto sommato, lavorandoci un po', la soluzione si trova.

Conclusioni

Per il momento, è tutto. Il sistema è testato e funzionante e vederlo al lavoro da' grande soddisfazione.

Come tutti i progetti, però, naturalmente, non può mai dirsi concluso perché c'è sempre la possibilità di fare delle migliorie e degli aggiustamenti.

In particolare, in questo caso, identifichiamo nel filtro un elemento perfettibile sia dal punto di vista tecnico sia dal punto di vista progettuale.

Ma non basta perché naturalmente il progetto potrebbe fare di più, possono essere aggiunte altre funzioni, per esempio si può lavorare non più soltanto su Facebook ma anche su altre piattaforme.

Si può cercare degli elettrodi migliori.

Si possono implementare una serie di LED che indichino a che punto è arrivato il sistema fino alla pubblicazione, magari segnalata con luce verde.

Ma adesso la parola è a voi: che ne dite? Come lo migliorereste?

STAMPA     Tags:, , , , , ,

Leave a Reply