MAX 30102 hartslagmeter op 16x2 LCD
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Benodigde gereedschappen en machines
|
Apps en online services
|
Over dit project
Dit is een eenvoudige hartslagmeter gemaakt met een MAX30102 sensormodule. Ik schreef een eenvoudige code op basis van Arduino-bibliotheken en waarden worden weergegeven op een 16x2 LCD-scherm. De eerste rij geeft het gemiddelde aantal slagen per minuut weer, en de tweede rij toont de waarde van de gereflecteerde infraroodstraal. Deze waarde moet constant zijn om de metingen nauwkeuriger te maken.
Code
- Naamloos bestand
Naamloos bestandArduino
/* Optische hartslagdetectie (PBA-algoritme) met behulp van de MAX30105 Breakout Door:Bennu @ MH-ET LIVE Datum:2 oktober 2017 https://github.com/MHEtLive/MH-ET-LIVE-max30102 Dit is een demo om de meting van de hartslag of slagen per minuut (BPM) te laten zien met behulp van een Penpheral Beat Amplitude (PBA) -algoritme. U kunt de sensor het beste aan uw vinger bevestigen met een rubberen band of een ander spanmiddel. Mensen zijn over het algemeen slecht in het constant onder druk zetten van iets. Wanneer u uw vinger tegen de sensor drukt, varieert deze voldoende om het bloed in uw vinger anders te laten stromen, waardoor de sensormetingen wankel worden. Hardwareverbindingen (Breakoutboard naar Arduino):-5V =5V (3,3V is toegestaan) -GND =GND -SDA =A4 (of SDA) -SCL =A5 (of SCL) -INT =Niet aangesloten De MAX30105 Breakout kan 5V of 3.3V I2C-logica. We raden aan om het bord van stroom te voorzien met 5V, maar het werkt ook op 3,3V.*/#include#include "MAX30105.h"#include #include "heartRate.h"MAX30105 partikelSensor;LiquidCrystal lcd (12, 11, 5, 4, 3, 2);const byte RATE_SIZE =4; // Verhoog dit voor meer middeling. 4 is good.byte-snelheden [RATE_SIZE]; // Array van hartslagbyte rateSpot =0; lange lastBeat =0; //Tijd waarop de laatste beat plaatsvondfloat beatsPerMinute;int beatAvg;void setup(){Serial.begin(9600); lcd.begin (16, 2); Serial.println("Initialiseren..."); // Initialiseer de sensor als (!particleSensor.begin (Wire, I2C_SPEED_FAST)) //Gebruik standaard I2C-poort, 400 kHz snelheid { Serial.println ("MAX30105 is niet gevonden. Controleer de bedrading / voeding. "); terwijl (1); } Serial.println("Plaats uw wijsvinger met constante druk op de sensor."); partikelsensor.setup(); // Configureer de sensor met standaardinstellingen partikelSensor.setPulseAmplitudeRed (0x0A); // Draai de rode LED naar laag om aan te geven dat de sensor particleSensor.setPulseAmplitudeGreen (0) gebruikt; // Schakel groene LED uit} ongeldige lus () { lange irValue =partikelSensor.getIR (); if (checkForBeat(irValue) ==true) { // We voelden een beat! lange delta =millis() - lastBeat; lastBeat =millis(); beatsPerMinuut =60 / (delta / 1000,0); if (beatsPerMinute <255 &&beatsPerMinute> 20) {rates[rateSpot++] =(byte)beatsPerMinute; // Bewaar deze meting in de array rateSpot %=RATE_SIZE; //Wrap variabele //Neem het gemiddelde van de metingen beatAvg =0; for (byte x =0; x Schema's
Productieproces
- Hartslagmeter op afstand
- Maak Monitor Ambilight met Arduino
- LCD-animatie en gaming
- Hartslagmeter met IoT
- Hartslag detecteren met een fotoresistor
- Warmwaterverwarmer Thermokoppel Spanningsmonitor
- Thuismonitor
- Arduino-weerstation
- Slimme energiemonitor op basis van Arduino
- Arduino LCD-videogame
- Sensoren geïntegreerd in kledingmonitor Hartslag