Ciao a tutti!
In questo articolo vedremo come misurare l’impulso elettrico generato dal nostro cuore sul nostro computer attraverso Arduino.
NOTA: Questo progetto non è destinato a diagnosticare o curare qualsiasi tipo di condizione.
Che cos’è un ECG?
L’elettrocardiogramma (ECG) è la riproduzione grafica dell’attività elettrica del cuore durante il suo funzionamento, registrata da alcuni elettrodi posti sulla superficie del nostro corpo.
Materiale necessario:
- Arduino UNO
- AD8232
- 3 Elettrodi
- Cavi per i collegamenti, Jumper o Cavo con attacco Snap
Per questo progetto utilizzeremo la scheda AD8232 prodotta dalla Sparkfun
Questa scheda misura l’attività elettrica del cuore attraverso gli elettrodi collegati al nostro corpo, l’interazione con Arduino e Processing permette infine di visualizzare sul nostro computer l’onda corrispondente all’attività del nostro cuore.
Avremo anche bisogno di almeno 3 elettrodi da elettrocaardiogramma ECG con attacco “snap”:
Schema di collegamento ad Arduino:
Board Label | Pin Function | Arduino Connection |
GND | Ground | GND |
3.3v | 3.3v Power Supply | 3.3v |
OUTPUT | Output Signal | A0 |
LO- | Leads-off Detect – | 11 |
LO+ | Leads-off Detect + | 10 |
SDN | Shutdown | Not used |
Collegamento elettrodi:
Cable Color | Signal |
Black | RA (Right Arm) |
Blue | LA (Left Arm) |
Red | RL (Right Leg) |
Schema complessivo:
Adesso passiamo al codice da caricare sul nostro Arduino UNO:
[code lang=”cpp”]
void setup() {
Serial.begin(9600);
pinMode(10, INPUT);
pinMode(11, INPUT);
}
void loop() {
if ((digitalRead(10) == 1) || (digitalRead(11) == 1)) {
Serial.println(‘!’);
}
else {
Serial.println(analogRead(A0));
}
delay(1);
}
[/code]
Infine il codice da far eseguire a Processing:
[code lang=”cpp”]
import processing.serial.*;
Serial myPort;
int xPos = 1;
float height_old = 0;
float height_new = 0;
float inByte = 0;
void setup () {
size(1000, 400);
println(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil(‘\n’);
background(0xff);
}
void draw () {
}
void serialEvent (Serial myPort) {
String inString = myPort.readStringUntil(‘\n’);
if (inString != null) {
inString = trim(inString);
if (inString.equals("!")) {
stroke(0, 0, 0xff);
inByte = 512;
}
else {
stroke(0xff, 0, 0);
inByte = float(inString);
}
inByte = map(inByte, 0, 1023, 0, height);
height_new = height – inByte;
line(xPos – 1, height_old, xPos, height_new);
height_old = height_new;
if (xPos >= width) {
xPos = 0;
background(0xff);
}
else {
xPos++;
}
}
}
[/code]
Conlclusioni:
Se abbiamo eseguito tutti i collegamenti in modo corretto eseguendo lo sketch di Processing possiamo vedere gli impulsi elettrici del nostro cuore sul nostro PC come in figura: