Hvordan måles pulsen ved hjælp af pulssensor?
Puls eller puls er den vigtigste parameter, der måles inden for medicin. Der er to måder, hvorpå pulsen kan måles. Den ene er at kontrollere håndleddet manuelt ved hjælp af et stetoskop og gætte puls, den anden metode er at bruge en pulssensor. En pulssensor får nogle aflæsninger af pulsen og sender et elektrisk signal til mikrokontrolleren, disse aflæsninger beregnes derefter, og den nøjagtige puls vises.
Hvordan en pulssensor måler pulsen?
Da vi ved, hvad vi skal gøre, så lad os begynde at arbejde på dette projekt.
Trin 1: Samling af komponenterne
At lave en liste over komponenter og studere, hvordan disse komponenter fungerer, er den bedste tilgang, inden du starter et projekt. Følgende er de komponenter, der vil blive brugt i vores projekt:
Trin 2: Kendskab til de anvendte komponenter
Da vi har listen over apparater, som vi skal bruge. Lad os nu se, hvordan disse komponenter fungerer.
Arduino Uno er et mikrocontrollerkort, der bruges til at styre forskellige kredsløb. Det bruger en C-kode, der giver den instruktioner til at udføre en opgave. Andre erstatninger for dette mikrocontrollerkort, der er tilgængeligt på markedet, er Arduino Nano, Node MCU, ESP32 osv.
SEN-11574 er en plug and play-pulsfrekvenssensor, der er integreret med Arduino. Det har to sider. På den ene side placeres en led, der udsender lys. Denne led skal placeres direkte på toppen af en vene. Som vi ved, at blodvolumenet i venen er større, når hjertet pumper, så når der er mere blod i venen, reflekteres mere lys til sensoren. Denne ændring i det lys, der modtages af sensoren, analyseres over tid, og pulsen måles. På den anden side af sensoren er der et kredsløb, der er ansvarlig for forstærkning og fjernelse af støj af det modtagne signal.
Trin 3: Samling af komponenterne
- Som vi ved, at huden er af en menneskelig krop, undertiden er den fugtig eller fedtet. Dette kan resultere i sensorens kortslutning, som giver falske målinger. Det er bedre at anvende et lag af et vinylklistermærke på LED-siden af sensoren for at forhindre, at det bliver fugtigt på huden.
- Når du har gjort dette, skal du tage et stykke sort vektorbånd og indsætte det på den anden side af sensoren. Dette forhindrer lys fra omgivelserne til at afbryde sensorernes lys.
- Tilslut nu Vcc og jordstiften på sensoren til Arduino og den analoge stift på sensoren til A0 i Arduino.
Alt apparatet er nu indstillet og klar til brug. Vi lægger sensoren direkte på venen, enten på fingeren eller øret for at måle hjerterytmen.
Trin 4: Kom godt i gang med Arduino
Hvis du ikke har arbejdet på Arduino IDE før, skal du ikke bekymre dig, fordi proceduren for at brænde en kode på mikrocontrolkortet ved hjælp af Arduino IDE er angivet nedenfor.
- Når du har tilsluttet dit Arduino-kort til din pc, skal du gå til Kontrolpanel> Hardware og lyd> Enheder og printere for at kontrollere navnet på den port, som Arduino er tilsluttet. Det er forskelligt på forskellige computere.
- Åbn Arduino IDE, og indstil tavlen som Arduino / Genuino UNO.
- Indstil nu den port, du tidligere har observeret i kontrolpanelet.
- Download koden nedenfor og åbn den. Brænd koden på dit Microcontroller-kort ved at klikke på Upload knap.
Klik her for at downloade koden.
Trin 5: Kode
Koden til måling af pulsfrekvensen er lidt lang og kompliceret. En del af koden forklares nedenfor.
1. I starten er alle de ben, der skal bruges, defineret. Alle de variabler, der vil blive brugt i forskellige funktioner og ISR (Interrupt Service Routine).
2. ugyldig opsætning () er en funktion, hvor Pins er defineret til at blive brugt som INPUT eller OUTPUT. baudrate er også indstillet i denne funktion. Baudrate er den hastighed, hvormed mikrocontrolleren kommunikerer med andre komponenter. ISR kaldes også i denne funktion.
3. ugyldig sløjfe ()er en funktion, der kører kontinuerligt i en cyklus. Her findes pulsfrekvensen, og den beslutter, hvornår lysdioden skal falme, når der findes et hjerterytme.
ugyldig sløjfe () {serialOutput (); hvis (QS == sand) {// Der blev fundet en hjerterytme // BPM og IBI er bestemt // Kvantificeret selv "QS" sand, når arduino finder et hjerterytme fadeRate = 255; // Gør LED Fade Effect Happen // Set 'fadeRate' Variabel til 255 for at fade LED med puls serialOutputWhenBeatHappens (); // A Beat Happened, Output det til serie. QS = falsk; // nulstil det kvantificerede selvflag til næste gang} ledFadeToBeat (); // Gør forsinkelsen af LED-falmningseffekten (20); // tag en pause }
4. ugyldigt serialOutput ()er en funktion, der bestemmer, hvordan output skal vises på den serielle skærm.
ugyldig serialOutput () {switch (outputType) {case PROCESSING_VISUALIZER: sendDataToSerial ('S', Signal); // går til sendDataToSerial-funktionsbrud; sag SERIAL_PLOTTER: // åbn Arduino Serial Plotter for at visualisere disse data Serial.print (BPM); Serial.print (","); Serial.print (IBI); Serial.print (","); Serial.println (Signal); pause; standard: pause; }}
5. ISR er en afbrydelse, der genereres af hardwaren og sendes til CPU'en til behandling. når afbrydelsen genereres, stopper processen, som allerede foregår, og afbrydelsen behandles. efter afbrydelsen er behandlet, genoptages den foregående proces.
void interruptSetup () {// CHECK UD TIMER_Interrupt_Notes TAB FOR MERE OM INTERRUPTS #ifndef ESP32 // Initialiserer Timer2 for at kaste en afbrydelse hver 2. ms. TCCR2A = 0x02; // Deaktiver PWM PÅ DIGITALE PINS 3 OG 11, OG GÅ I CTC-TILSTAND TCCR2B = 0x06; // FORSKELL IKKE SAMMEN, 256 PRESCALER OCR2A = 0X7C; // SÆT TOPPEN FOR TÆLLET TIL 124 FOR 500Hz PRØVEKURS TIMSK2 = 0x02; // AKTIVER AFBRYDELSE PÅ MATCH MELLEM TIMER2 OG OCR2A sei (); // Sørg for, at globale afbrydelser er aktiveret // Opret semafor for at informere os, når timeren har fyret #else timerSemaphore = xSemaphoreCreateBinary (); // Brug 1. timer på 4 (tælles fra nul). // Indstil 80 skillevæg til prescaler (se ESP32 Technical Reference Manual for mere // info). timer = timerBegin (0, 80, true); // Vedhæft onTimer-funktion til vores timer. timerAttachInterrupt (timer, & onTimer, sand); // Indstil alarm til at kalde påTimer-funktion hvert sekund (værdi i mikrosekunder). // Gentag alarmen (tredje parameter) timerAlarmWrite (timer, 2000, sand); // Start en alarmtimerAlarmEnable (timer); #Afslut Hvis }
Ansøgninger:
Nu som vi ved, hvordan vi måler pulsen ved hjælp af en pulssensor. Nu kan vi bruge det til f.eks. At lave forskellige projekter
- Sundhedsbånd.
- Angst Monitor.
- Søvnsporing.
- Fjernpatientovervågning / alarmsystem.
- Avancerede spilkonsoller