Pulsiossimetro fai-da-te con Arduino

Il pulsiossimetro è uno strumento dal nome più complesso del suo funzionamento, ma è di estrema utilità in quanto, grazie ad esso, è possibile visualizzare l’andamento del battito cardiaco e misurare in maniera non invasiva la quantità di emoglobina nel sangue. La tecnologia odierna e la mania di realizzare tutto in casa, ha portato alla nascita di alcuni progetti davvero interessanti, come quello del pulsiossimetro fai-da-te; si tratta in realtà di un dispositivo, basato su Arduino, in grado di controllare e visualizzare il battito del cuore ma, a causa della mancanza di ricerche e sperimentazioni, ovviamente, non può essere considerato in alcun modo uno strumento medico.

Cosa si può fare con il pulsiossimetro fai-da-te realizzato con Arduino?

Pulsiossimetro fai da te

Come suggerisce l’autore del DIY, con questo dispositivo è possibile visualizzare il battito del proprio cuore ovviamente a solo titolo informativo (il medico resta sempre l’unica voce in capitolo in questo ambito) oppure ci si può divertire utilizzandolo come macchina della verità: appena l’esaminato mente, si dovrebbe vedere un picco nelle oscillazioni della pulsazione.

Cosa include questa guida?

- Codici Arduino e Codici Processing 2
- I passaggi per realizzare un sensore per le pulsazioni
- Il Software Virtual Graphing
- Diagrammi schematici

Di cosa ho bisogno per portare a termine il progetto?

- Una gruccia
- Un led chiaro/luminoso
- Un LDR (Light Dependent Resistor, un fotoresistore)

Problematiche possibili

Perché il mio pulsiossimetro non funziona? I fotoresistori, per qualche motivo, potrebbero non fornire un valore standard della resistenza; c’è quindi bisogno di diversi aggiustamenti e di esperienza con Arduino e con i dispositivi elettronici.
Questo progetto è ispirato al dispositivo di controllo del battito di Make Magazine
Nel nostro caso, però, non viene usato un chip LM324 Op-Amp. Il tutorial di Make Magazine funziona comunque con questa configurazione.

1. Trovare la gruccia adatta

Questo progetto funziona al meglio utilizzando un gruccia con clip ricoperti di gomma.

Gruccia

2. Tagliare i clip

Utilizzare un paio di cesoie.

Cesoie
Clip tagliati

3. Smontare i clip

Clip smontati 1
Clip smontati 2

4. Fare dei buchi con il trapano

Buchi con il trapano

Praticare un foro esattamente al centro della gomma.

5. Installare l'LDR

Piegare le guide dell’LDR e inserirle negli spazi appositamente creati, quindi utilizzare la termocolla per bloccare il fotoresistore.

Installare LDR 1
Installare LDR 2
Installare LDR 3

6. Installare il Led

Utilizzare colla tipo superattack per tenere il Led attaccato al clip; è meglio aggiungere una resistenza per proteggere il Led.

Installare il Led

7. Se non funziona

Circuito

Se ci sono problemi, è possibile utilizzare questo circuito per amplificare le letture; D1 è solo un indicatore e non il Led rosso. È meglio utilizzare un trimmer resistivo da 10K per R3 invece di un resistore a valore fisso.

8. Collegare con i fili

Seguire lo schema riportato sotto. PCB/Perfboard non sono necessari, i fili sono sufficienti!

Collegare i fili 1
Collegare i fili 2
Collegare i fili 3

9. Download dei software

Software

Processing 2 è il software che visualizzerà i dati mentre l’ambiente di sviluppo (IDE) di Arduino serve per l’upload degli sketch di Arduino. C’è bisogno di entrambi per avviare il progetto. Cliccare sui link qui sotto per scaricarli.

Arduino 1.0.5 IDE
Processing 2 IDE

10. I codici

Lanciare questi codici sul corretto IDE. Se i codici di Processing 2 mostrano un errore, cambiare il numero della porta (si trova nei codici).

Codici 1
Codici 2

//Arduino Codes:

void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(0));
delay(50);
}
________________________________________
//Processing 2 Codes:

import processing.serial.*;
Serial myPort;
int xPos = 1;
float oldHeartrateHeight = 0;

void setup () {
// set the window size:
size(1000, 400);
frameRate(30);

// List available serial ports.
println(Serial.list());

// Setup which serial port to use.
// This line might change for different computers.
myPort = new Serial(this, Serial.list()[0], 9600);

// set inital background:
background(0);
}

void draw () {
}

void serialEvent (Serial myPort) {
// read the string from the serial port.
String inString = myPort.readStringUntil('\n');

if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// convert to an int
println(inString);
int currentHeartrate = int(inString);

// draw the Heartrate BPM Graph.
float heartrateHeight = map(currentHeartrate, 0, 1023, 0, height);
stroke(0,255,0);
line(xPos - 1, height - oldHeartrateHeight, xPos, height - heartrateHeight);
oldHeartrateHeight = heartrateHeight;
// at the edge of the screen, go back to the beginning:
if (xPos >= width) {
xPos = 0;
background(0);
} else {
// increment the horizontal position:
xPos++;
}
}
}

11. Imparare ad usare il sensore di battito cardiaco

Make Magazine ha realizzato un progetto simile che funziona esattamente allo stesso modo. I codici sono stati ripresi da lì, in questo video vengono spiegate le procedure di programmazione.

 

Article by ASCAS courtesy of Instructables

8 Commenti

  1. Tony21 20 agosto 2015
  2. Ivano Lombardi 10 aprile 2016
  3. rcog 13 gennaio 2017
    • Emanuele Bonanni Emanuele Bonanni 13 gennaio 2017
      • rcog 13 gennaio 2017
        • Maurizio Di Paolo Emilio Maurizio Di Paolo Emilio 14 gennaio 2017
          • rcog 14 gennaio 2017
  4. rcog 14 gennaio 2017

Scrivi un commento

ESPertino è la nuova scheda per IoT compatibile ARDUINO.
Scopri come averla GRATIS!