
Materiali utilizzati:
- Arduino Uno R3: Una scheda microcontrollore versatile e ampiamente utilizzata per progetti elettronici. Viene utilizzata come unità di controllo centrale per il nostro progetto.
- Sensore di battito cardiaco: Questo sensore è in grado di rilevare le variazioni di flusso sanguigno sotto la pelle, che corrispondono ai battiti del cuore. Questi segnali vengono poi elaborati dal microcontrollore.
- 2 LED: Due diodi emettitore di luce, utilizzati per fornire un feedback visivo all’utente, accendendosi quando il sensore rileva un battito cardiaco. Se rileva un battito alto si accende il LED rosso, se invece lo rileva basso si accende un LED verde.
- 2 Resistenze: Due resistenze di valore appropriato vengono utilizzate per proteggere il circuito e regolare la corrente elettrica che attraversa i componenti.
- Breadboard: Una base di prototipazione per il montaggio dei circuiti senza saldature, che permette di collegare facilmente i vari componenti elettronici.
- Cavi di collegamento: Utilizzati per connettere i vari componenti sulla breadboard e alla scheda Arduino, facilitando il passaggio del segnale tra i vari dispositivi.
Descrizione del funzionamento:
Il progetto viene azionato dopo che l’utente appoggia il dito sul sensore di battito cardiaco e appena viene percepita una vibrazione alta si accende il LED ROSSO, se invece viene percepita bassa si accende il LED VERDE.
Descrizione del funzionamento del prototipo:
Il sensore di battito cardiaco rileva le vibrazioni alte e basse e le trasmette ai led rosso e verde. Per le vibrazioni alte si accende il led rosso, invece per le vibrazioni basse si accende quello verde; in caso non dovesse rivelare alcuna vibrazione rimane spento.
#include <PulseSensorPlayground.h>
const int pulsePin = A0; // pin analogico del sensore
const int rossoLed = 5; // LED rosso
const int verdeLed = 7; // LED verde
int battitoalto = 100; // BPM sopra questo valore accende il rosso
int bpm = 0;
int nosegnale = 10;
PulseSensorPlayground miosensore;
void setup() {
pinMode(rossoLed, OUTPUT);
pinMode(verdeLed, OUTPUT);
Serial.begin(9600); // per debug
digitalWrite(rossoLed, LOW);
digitalWrite(verdeLed, LOW);
}
void loop()
{
int sign = analogRead(pulsePin);
int signal = sign / 10;
Serial.print(“signal: “);
Serial.println(signal);
Serial.print(“battitoalto: “);
Serial.println(battitoalto);
// funzione per ottenere il BPM (da implementare)
if (signal > battitoalto) {
digitalWrite(rossoLed, HIGH);
digitalWrite(verdeLed, LOW);
} else {
digitalWrite(rossoLed, LOW);
digitalWrite(verdeLed, HIGH);
}
delay(1000); // lettura ogni secondo
}