Progetto parametri vitali(accelerometro)

Salve a tutti,
sto lavorando al mio progetto di tesi che consiste nel realizzare un dispositivo per monitorare i parametri vitali dei neonati(temperatura, battito, respirazione). L’idea è quella di realizzare una clip contenente tutti i sensori da applicare al pannolino oppure sul pigiama del neonato. In particolare vorrei monitorare la respirazione, se non rilevo movimenti del neonato per più di 15-20 secondi faccio partire l’allarme. Per farlo sto utilizzando:

  • Arduino uno;
    -un accelerometro GY-521;
    -un sensore di temperatura LM35 ;
    -un buzzer per l’allarme acustico;
    -due led per l’allarme visivo;

Per rilevare il BPM vorrei utilizzare un dischetto piezoelettrico ma ne parleremo in un altro topic.

Con l’accelerometro riesco a monitorare il respiro abbastanza bene. In pratica quello che faccio è salvare i dati dell’accelerometro su una variabile per poi confrontarli con quelli ottenuti precedentemente (anche questi salvati in un’altra variabile). Se i due valori sono diversi ( c’è stato movimento ) mi azzera il cronometro, altrimenti lo faccio scorrere.
Sono a buon punto col progetto, ma volevo attingere alla vostra esperienza per migliorare/ottimizzare il mio dispositivo.

Problema 1 : Quale accelerometro mi conviene utilizzare?

Fino ad ora ho utilizzato il GY-521 che ha integrato sia l’accelerometro che il giroscopio. Per comunicare con Arduino usa il protocollo I2C ( un po’ una rottura però funziona ). Ho visto in rete però anche il modello MMA7361L della Freescale( sempre tri-assiale con sensibilità regolabile ±1.5g e ±6g).

Quest’ultimo non utilizza il protocollo I2C ma posso estrapolare i dati semplicemente con la funzione analogRead(PinAx), il che devo dire sarebbe molto più comodo.

Cosa mi consigliate voi? Continuo ad usare GY-521 o mi conviene acquistare MMA7361L? ( considerando anche che poi dovrò usare la Ethernet Shield per far comunicare Arduino con l’App per smartphone)

Problema 2:Rumore accelerometro.

Di questo problema sicuramente ne sarete già a conoscenza. Anche quando l’accelerometro è in quiete, i valori X,Y,Z sul monitor seriale variano continuamente. Ovviamente si tratta di rumore e ho già risolto il problema facendo una media degli ultimi 10 valori e poi dividendo per 1000. Così ho attenuato il problema e ottenuto una buona stabilità. Volevo chiedervi dunque, c’è un modo più elegante per eliminare il rumore? Magari utilizzando una resistenza pull-down?
Ho già cercato in rete e una soluzione sarebbe quella di implementare il filtro di Kalman, ma non saprei come implementarlo e da quello che ho visto in rete rallenterebbe molto il programma. Voi dunque cosa consigliate?

Un ultima cosa: avete idee su altri sensori per monitorare altri parametri vitali? Qualunque idea è ben accetta.

Vi ringrazio moltissimo in anticipo

P.s allego il codice in caso servisse

Ciao, io ti consiglierei l'MPU6050 e di utilizzare il DMP (Digital Motion Processor) interno. Stabilizza i valori raw con un refresh rate di (mi pare) 200Hz. Direi che ci stai dentro largamente per una applicazione come la tua. Si trovano diversi sketch online.

La comunicazione è i2c :)

EDIT: dopo una rapida ricerca ho scoperto che la GY-521 è la scheda che monta l'MPU6050. Sei già a metà dell'opera :grin:

Grazie mille, provo subito ciò che mi hai consigliato!

Mi sfugge come con un accellerometro su un pannolino dovresti riuscire a monitorare il respiro, sei sicuro che non siano altri movimenti quelli che confondi con gli atti respiratori?

In ogni caso non penso che ti accetteranno di porre sensori autocostruiti senza certificazioni su dei bambini