Skip to content
logo9minuti120x48
Menu
  • Home
  • Tutorial
    • Zaini
    • Stampa 3d
    • ebook
    • Informatica
  • Scritti
    • Racconti
    • Articoli
    • Temi
    • Storia
  • Video
  • Progetti
    • Progetto Carcere
    • Progetto Istruzione
    • Progetto Acque pulite
    • Progetto Tecnologia
  • Chi siamo
    • LinkTree
  • Privacy Policy
    • Cookie Policy (EU)
  • Blog
  • Donazioni
Menu
Arduino Uno r3 e il sensore di battito cardiaco (Misurare il battito cardiaco con Arduino)

Misurare il battito cardiaco con Arduino? Certo che sì.

Posted on 18 Giugno 201824 Aprile 2020 by Alessandro Oppo

Vediamo insieme come misurare la frequenza cardiaca con Arduino utilizzando un sensore di battito cardiaco.

Per il tutorial ufficiale, fatto dagli sviluppatori del sensore e della libreria vi rimando al sito www.pulsesensor.com, qua non affronterò l’argomento in maniera dettagliata ma solamente i passaggi necessari per le prime letture.

Come prima cosa è necessario scaricare la libreria PulseSensor Playground, vi rimando alla guida su come aggiungere una libreria su Arduino IDE.

I collegamenti da fare

L’immagine di Fritzing è presa dal tutorial ufficiale.

Collegamenti da effettuare. Noi useremo come led quello già integrato sul pin 13. (Misurare il battito cardiaco con Arduino)
Collegamenti da effettuare. Noi useremo come led quello già integrato sul pin 13.

– (simbolo meno) – GND
+(simbolo più) – 5v
S – pin analogico A0

Lo sketch

Vediamo insieme l’esempio GettingStartedProject presente nella libreria PulseSensor Playground. Commenterò solamente i passaggi meno chiari.

/*  PulseSensor™ Starter Project and Signal Tester
 *  The Best Way to Get Started  With, or See the Raw Signal of, your PulseSensor™ & Arduino.
 *
 *  Here is a link to the tutorial
 *  https://pulsesensor.com/pages/code-and-guide
 *
 *  WATCH ME (Tutorial Video):
 *  https://www.youtube.com/watch?v=82T_zBZQkOE
 *
 *
-------------------------------------------------------------
1) This shows a live human Heartbeat Pulse.
2) Live visualization in Arduino's Cool "Serial Plotter".
3) Blink an LED on each Heartbeat.
4) This is the direct Pulse Sensor's Signal.
5) A great first-step in troubleshooting your circuit and connections.
6) "Human-readable" code that is newbie friendly."

*/


//  Variables
int PulseSensorPurplePin = 0;        // Pulse Sensor PURPLE WIRE connected to ANALOG PIN 0
int LED13 = 13;   //  The on-board Arduion LED


int Signal;                // holds the incoming raw data. Signal value can range from 0-1024
int Threshold = 550;            // Determine which Signal to "count as a beat", and which to ingore.


// The SetUp Function:
void setup() {
  pinMode(LED13,OUTPUT);         // pin that will blink to your heartbeat!
   Serial.begin(9600);         // Set's up Serial Communication at certain speed.

}

// The Main Loop Function
void loop() {

  Signal = analogRead(PulseSensorPurplePin);  // Read the PulseSensor's value.
                                              // Assign this value to the "Signal" variable.

   Serial.println(Signal);                    // Send the Signal value to Serial Plotter.


   if(Signal > Threshold){                          // If the signal is above "550", then "turn-on" Arduino's on-Board LED.
     digitalWrite(LED13,HIGH);
   } else {
     digitalWrite(LED13,LOW);                //  Else, the sigal must be below "550", so "turn-off" this LED.
   }


delay(10);


}

28 Variabile dove verrà salvato il valore analogico del sensore
29 Valore di soglia sopra il quale dovrebbe riconoscere la presenza di un battito cardiaco. Va calibrato, nel qual caso rilevi sempre un battito bisognerà alzare il valore, diversamente dovrà essere abbassato.
Nota bene: a volte le entrate analogiche ‘impazziscono’, nel senso che le letture dei valori possono essere molto variabili e instabili. Si può provare a cambiare porta, ma di solito è un problema che si risolve da solo nel giro di poco tempo.
42 Lettura sulla porta analogica 0 e salvataggio del valore nella variabile intera di nome Signal precedentemente dichiarata.
48 Se il valore analogico è superiore alla nostra soglia accende il led integrato
50 Altrimenti spegne il led integrato

Guardiamo il nostro battito

Una volta caricato lo sketch, questo è quello che dovreste vedere selezionando Tools>Serial Plotter

Il grafico del mio battito cardiaco (Misurare il battito cardiaco con Arduino)
Il grafico del mio battito cardiaco

Chiaramente sulle x (asse orizzontale) abbiamo il tempo mentre sulle y (asse verticale) abbiamo il valore letto dal sensore.

I picchi alti sono i battiti del nostro cuore. Figo eh?

Spero che anche questo tutorial possa esservi d’aiuto, rimango a disposizione per eventuali bisogni.

Grazie,
Alessandro

Dammi un 5 virtuale, clicca like e condividi.

  • Fai clic qui per condividere su LinkedIn (Si apre in una nuova finestra)
  • Fai clic per condividere su Facebook (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Twitter (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Reddit (Si apre in una nuova finestra)
  • Fai clic per condividere su WhatsApp (Si apre in una nuova finestra)
  • Fai clic per condividere su Telegram (Si apre in una nuova finestra)
  • Fai clic per inviare un link a un amico via e-mail (Si apre in una nuova finestra)

Related

5 thoughts on “Misurare il battito cardiaco con Arduino? Certo che sì.”

  1. Sara ha detto:
    2 Giugno 2019 alle 6:14 pm

    Salve,
    io ho comprato un sensore di battito cardiaco e sto provando a farlo funzionare, ho svolto anche questo esempio. Non capisco perchè non mi restituisce il valore effettivo del mio battito cardiaco, anche nell’esempio non capisco che cosa rappresentano quei valori sulle ascisse e le ordinate. Mi saprebbe rispondere? La ringrazio.

    Rispondi
    1. Alessandro Oppo ha detto:
      2 Giugno 2019 alle 11:16 pm

      Ciao Sara, il sensore è identico a quello usato nel tutorial?
      Sulle ascisse abbiamo il tempo mentre sulle ordinate c’è il valore letto dal sensore.
      Ognuno dei picchi rappresenta un battito cardiaco. Se vuoi sapere quanti battiti il tuo cuore compie in un secondo è possibile farlo aggiungendo un contatore che aumenti ad ogni battito e che stampi il valore dopo un minuto. Se hai bisogno di aiuto dimmelo, intanto cerchiamo di far andare il sensore! Alessandro

      Rispondi
  2. sara ha detto:
    3 Giugno 2019 alle 6:08 pm

    Ciao Alessandro ho letto la tua risposta ma il mio sensore continua a non andare !! aiuto!!! non c’è un modo per contattarti in privato? in modo da potermi spiegare meglio se sei disponibile ? Grazie

    Rispondi
    1. Alessandro Oppo ha detto:
      3 Giugno 2019 alle 11:19 pm

      Ciao Sara, se hai Telegram puoi contattarmi lì, io sono @chiocciolab altrimenti scrivimi pure qui nei commenti e cerco di risponderti al più presto.

      Ma il sensore è identico a quello che ho usato io?

      Rispondi
  3. fabio ha detto:
    4 Aprile 2020 alle 11:28 am

    io ho comprato su ebay: Modulo con sensore frequenza cardiaca battito cardiaco cuore per arduino ID163

    https://www.ebay.it/itm/Modulo-con-sensore-frequenza-cardiaca-battito-cardiaco-cuore-per-arduino-ID163/262770966836?hash=item3d2e5ec134:g:TKwAAOSwEzxYWWq9

    che sembra esattamente il tuo ma non riesco a rilevare il battito anche se vedo un grafico ininterpretabile.
    Sai aiutarmi?

    Fabio

    Rispondi

Cosa ne pensi? Fammelo sapere con un messaggio Annulla risposta

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Scoprici sui social

  • YouTube
  • Telegram
  • Facebook
  • RSS Feed

    Ultimi post

    • Buzzurretto e la scuola – Racconto breve
    • Il mio punto di vista sul progetto scuola
    • Di nuovo nuvole – Racconto breve
    • L’intelligenza artificiale, la forza della logica e la morale – ChatGPT
    • Videogrep, how to extract a certain word from a video (or more)
    • Brucerò tutto non appena è stato scritto – Racconto breve
    • C’è del lavoro da fare – Racconto breve

    Newsletter

    Invia un modulo.
    ©2023 9minuti | Design: Newspaperly WordPress Theme
    Manage Cookie Consent
    Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
    Cookie funzionali Sempre attivo
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
    Visualizza preference
    {title} {title} {title}
     

    Caricamento commenti...