Nel post di oggi vedremo come Misurare il battito cardiaco con Arduino e sensore XD-58C. Il PulseSensor può essere utilizzato per controllare il battito cardiaco durante un allenamento, il sonno, o altre attività in cui vogliamo monitorare il battito. N.B questo sensore non è medico o approvato dalla FDA. È destinato esclusivamente a progetti / demo di hobby e non deve essere utilizzato per applicazioni critiche per la salute, per le quali è consigliato consultare il medico.
Misurare il battito cardiaco con Arduino e sensore XD-58C
Cenni sul progetto
Il progetto si basa sull’utilizzo si un sensore abbastanza economico e di facile utilizzo: PulseSensor XD-58C. Lo collegheremo alla board Arduino (un clone di Arduino Nano in questo caso) e vedremo come leggere i valori tramite il Serial Plotter
Materiale occorrente
Ecco l’elenco dei componenti che utilizzeremo per questo progetto
- Arduino Nano ATmega328P CH340G: (Link Amazon – Link eBay)
- PulseSensor XD-58C: (Link Amazon – Link eBay)
- Breadboard: basetta forata sperimentale (Link Amazon – Link eBay)
- Jumper Wire: cavetti elettrici (Link Amazon – Link eBay)
- Arduino IDE: ambiente di sviluppo per programmare il micro controllore Arduino (per l’installazione e la configurazione vi rimando a questi post)
Panoramica sul sensore XD-58C
Il sensore XD-58C utilizza un circuito di amplificazione ottica integrata, abbinato ad un circuito che fa da filtro per l’eliminazione del rumore. Può essere alimentato sia a 3.3 volt che a 5 volt e il segnale di uscita può avere un valore massimo pari alla tensione di alimentazione. Per leggere i battiti basta posizionare il sensore sul lobo dell’orecchio o tenerlo premuto tra il pollice e l’indice.
Queste sono le caratteristiche principali
- Lunghezza d’onda di picco del LED: 515nm
- Tensione di funzionamento: + 5 V o + 3,3 V.
- Tipo di uscita: analogico
- Segnale di uscita: 0 ~ 3,3 (con alimentazione a 3,3 V) / 0 ~ 5 V (con alimentazione a 5 V)
- Massima corrente assorbita: 4mA
E questa è la vista fronte/retro del PulseSensor
Per maggiori informazioni sul sensore XD-58C potete consultare questo link.
Montaggio e collegamenti
Il collegamento del sensore XD-58C alla board Arduino Nano è molto semplice. In base al modello i colori potrebbero differire da quelli che mostro nello schema, prima di effettuare i collegamenti verificate le sigle dei contatti presenti sulla parte posteriore del sensore: a sinistra il contatto del segnale (S), al centro il contatto per l’alimentazione positiva (+) e a destra il contatto per la massa (-)
Nel mio caso i colori dei Jumper sono collegati al sensore in questo modo:
- + : Arancione
- – : Giallo
- S : Rosso
Effettuiamo i collegamenti come mostrato nella tabella seguente:
COLLEGAMENTO PIEDINI | ||
---|---|---|
Arduino Nano | XD-58C | Jumper Wire |
3.3 | + | Arancione |
GND | – | Giallo |
A0 | S | Rosso |
Questo lo schema realizzato con Fritzing
e questa un’immagine del circuito reale
Misurare il battito cardiaco con Arduino e sensore XD-58C
Sketch e test lettura
Questo lo sketch che utilizzeremo per leggere il valore del PulseSensor
Il codice è abbastanza semplice e commentato.
Con la variabile PulseSensorPin indichiamo al micro controllore che il sensore è collegato sul pin A0.
I valori sono compresi in un range da 0 a 1024, una volta effettuata la lettura l’assegnamo alla variabile Signal e la inviamo al Serial Plotter.
Ora non ci resta che caricare e testare lo sketch.
Colleghiamo la board Arduino Nano ad una delle porte USB del PC e configuriamo, dalla tab Strumenti dell’IDE, la Scheda, il Processore e la Porta relative alla board:
- Scheda: Arduino Nano
- Processore: ATmega328P
- Porta: CM3
Carichiamo lo sketch cliccando sul pulsante Carica (contrassegnato da una freccia rivolta verso destra)
A differenza dei progetti che abbiamo visto nei post precedenti, per questo progetto utilizzeremo il Serial Plotter invece del Serial Monitor.
Avviamolo da Strumenti Plotter Seriale
Ora non ci resta che misurare i battiti cardiaci tenendo premuto il sensore tra il pollice e l’indice, o posizionandolo sul lobo dell’orecchio.
Nel Serial Plotter vedremo il grafico creato dalle letture del sensore XD-58C collegato ad Arduino
Per progetti più complessi, sull’utilizzo del sensore XD-58C, è possibile utilizzare le varie librerie che sono presenti in rete, come la PulseSensor Playground.
A presto 😉