Pléthysmographe - (moniteur de fréquence cardiaque IR) (4 / 5 étapes)

Étape 4: Arduino Software

Pour y aller que vous devez les bibliothèques GFX et ST7735 Arduino de Adafruit. Vous pouvez les trouver ici (Merci Serge).

Bibliothèque GFX

https://github.com/Adafruit/Adafruit-gfx-Library

ST7735 bibliothèque

https://github.com/Adafruit/Adafruit-ST7735-Library

Ne sais pas comment faire pour installer une bibliothèque Arduino ? Ensuite, allez ici pour les instructions complètes ;

https://www.Arduino.cc/en/Guide/Libraries

Comment ça marche

Au démarrage, le logiciel le IR Led s’allume et indique à l’utilisateur allant de l’appareil est nécessaire et va commencer dans 10 secondes. Cela donne le temps de l’utilisateur de placer leur doigt dans le capteur.

Pendant allant du logiciel indique la sortie de l’ADC pour 10000 fois, faisant de brèves pauses pour 1 ms par lu. Ceci est utilisé pour enregistrer les limites minimales et maximales du signal échantillonné brut.

Ces valeurs maximales et minimales sont utilisés pour déterminer les points de déclenchement dynamique pour détecter un front montant brusquement dans le battement du cœur pour activer la synchronisation de la période entre deux impulsions et donc de calculer le BPM.

Le déclencheur de bas niveau introduit hystérésis et est nécessaire pour empêcher la ré-déclenchement en raison de la haute fréquence d’échantillonnage, comme indiqué ci-dessus.

Le déclencheur de niveau élevé point iPulseTriggerLevelHigh est 90 % du PIC (étoiles vertes dans les diagrammes ci-dessus) et le point de déclenchement de niveau bas est iPulseTiggerLevelLow est de 70 % du PIC (étoiles bleues dans les diagrammes ci-dessus).

Le logiciel puis entre dans une boucle infinie, prélèvement d’échantillons de signal après un temps écoulé dicté par ulElapsedTime, environ 1 ms ou 1000Hz. Cela peut être réglé en faisant varier le #define SAMPLE_PERIOD_uS.

Le délai écoulé n’est pas un appel bloquant ainsi les autres tâches de fond peuvent être effectuées si nécessaire.

Une fois qu’un échantillon du cœur battre est lues dans l’ADC que la valeur est ajustée pour s’adapter à la fenêtre de forme d’onde. Cette échelle est juste un direct 0-5v = > 0-1023 = > 0-100.

J’ai volontairement omis d’auto mise à l’échelle de la fenêtre de forme d’onde, que j’ai trouvé quand il est inclus, la forme d’onde assez beaucoup monté la fenêtre chaque fois que, comme vous vous en doutez. Dans la pratique si vous avez perdu un grand nombre d’informations importantes, telles que quand mes doigts étaient froids ou mal positionné dans le capteur et en conséquence le niveau de sortie de l’impulsion était faible. Je l’ai senti plus utile de garder cette information présente. Cependant j’ai prévoyaient une variable fAmplificationFactor (ligne 171, affectez 2.1) qui permet de mesurer votre signal si vos compétences en électronique et de la construction donnent un signal moins sensible que j’ai pu réaliser.

Le code détermine ensuite s’il s’agit d’un front montant (voir schémas ci-dessus pour la logique). S’il est, et on n’a décelé aucun front descendant qu'il stocke l’heure dans ulPulseCurrentTime. Toutefois, si c’est un front descendant a été détectée, que cela signifie le temps écoulé est la période entre deux impulsions.

Ensuite, le logiciel calcule le BPM (comme dans les schémas ci-dessus) et ajuste pour un enveloppement à l’appel de fonction millis() si besoin.

Cette nouvelle fréquence du pouls est stockée dans l’ordre en la roulant fenêtre tampon tableau lBPMArray [] et la moyenne calculée sur tous les échantillons. Le nouveau BPM calculé est comparé avec le vieux BPM. S’il y a une différence l’affichage est mis à jour avec la nouvelle valeur. Réduisant ainsi les frais généraux de mise à jour TFT.

Au cours de l’élaboration du code, j’ai remarqué que ce n’était pas possible d’optimiser une vitesse de balayage unique du TFT pour BPMs s’étendant de 50... 200. Ainsi, iSampleCountMax est changé dynamiquement lorsque le rythme cardiaque dépasse 100BPM tel que l’écran ne devienne pas trop de monde et la forme de l’impulsion est toujours claire.

Le logiciel puis clips la forme d’onde si pour une raison quelconque, il est pris en gros pour l’affichage et met à jour l’écran avec le dernier échantillon d’ADC et parcelles dans la fenêtre de forme d’onde.

Plus tôt les valeurs pointées sont supprimés tout d’abord en écrivant une ligne noire verticale devant la position de la parcelle « à la volée ».

Boucle se répète.

Moyenne mobile

La fréquence cardiaque est calculée en prenant une constamment mise à jour moyenne des périodes mobile entre deux impulsions. La longueur de la moyenne mobile peut être ajustée en modifiant la valeur de #define MAX_BPM_ARRAY_SIZE. Plus vous faire lentes les mises à jour, mais le mieux l’approximation (en supposant que le doigt est maintenu constant dans le capteur).

Afin d’amorcer la moyenne avec une valeur initiale le tableau lBPMArray [] est préchargé avec une fréquence cardiaque de 60 BPM au démarrage.

.

Une copie du code a été incluse ci-dessous.

Articles Liés

Moniteur de fréquence cardiaque solaire

Moniteur de fréquence cardiaque solaire

Hey tout le monde ! Dans ce Instructable, je vais vous montrer comment faire votre propre moniteur de fréquence cardiaque basée sur Arduino ! Mais ce n'est pas n'importe quel autre bricolage chaleur moniteur de fréquence ; Il s'agit d'un Moniteur de
Moniteur de fréquence cardiaque artisanale

Moniteur de fréquence cardiaque artisanale

Nous avons conçu ce moniteur de fréquence cardiaque avec plusieurs caractéristiques à l'esprit. Tout d'abord, nous voulions un cardiofréquencemètre mobiles qui pourrait enregistrer et stocker des fréquences cardiaques pendant 24 heures. Deuxièmement,
Comment faire un Bike Mount pour un Garmin ou tout autre moniteur de fréquence cardiaque

Comment faire un Bike Mount pour un Garmin ou tout autre moniteur de fréquence cardiaque

matériaux :Ruban isolantMorceau de bois minceEn plastique « Roulement » de la bandedébris de caoutchouc mince mat/tissu1) tout d'abord couper le ruban en plastique ayant à moitié, c'est ce qui va augmenter le diamètre du guidon afin de la visionner l
Parler de moniteur de fréquence cardiaque Arduino

Parler de moniteur de fréquence cardiaque Arduino

Mon partenaire et j'ai voulu faire moniteur de fréquence cardiaque qui mesure plus que simplement la fréquence cardiaque de l'utilisateur. Nos discussions de moniteur de fréquence cardiaque ! Chaque touche donne une description verbale de ses fonctio
Moniteur de fréquence cardiaque

Moniteur de fréquence cardiaque

J'ai construit un circuit de moniteur cardiaque relativement simple qui est surveillé et contrôlé par un Arduino Uno. Le principe de fonctionnement est basé sur le fait que la lumière infrarouge (IR) est partiellement absorbée par le sang. Lorsque vo
Moniteur de fréquence cardiaque à l’aide d’une photorésistance

Moniteur de fréquence cardiaque à l’aide d’une photorésistance

Ce projet utilise un myRIO NI une photorésistance et éclairage naturel afin de déterminer votre fréquence cardiaque. Lorsqu'un bouton est enfoncé sur le myRIO, la tension de la photorésistance est lu pendant 10 secondes. Les battements par minute son
Comment analyser les données du moniteur de fréquence cardiaque

Comment analyser les données du moniteur de fréquence cardiaque

je me sers un cardiofréquencemètre (CFM) pour les années.  Je l'aime parce qu'il me donne une mesure objective de combien j'ai travaillé.  J'ai lu les livrets inclus dans la boîte quand vous achetez votre gestion des ressources humaines.  C'est le sy
Intel Edison : moniteur de fréquence cardiaque

Intel Edison : moniteur de fréquence cardiaque

C'est comment faire un simple bricolage cardiofréquence-mètre en utilisant Intel Edison.La construction principale elle-même est assez simple. Vous aurez besoin d'un petit tube. Résistance de la LDR et une led.Le code doit en revanche beaucoup d'étal
Sans fil moniteur de fréquence cardiaque

Sans fil moniteur de fréquence cardiaque

Cette instructable consiste à fournir un tutoriel de l'intégration d'un capteur de pouls Amped, un Arduino Uno et nrf240L01 + EMETTEUR/RECEPTEUR modules pour former une transmission sans fil de composants qui peuvent être facilement achetés "sur étag
Fréquence cardiaque mesureur en utilisant arduino

Fréquence cardiaque mesureur en utilisant arduino

Ce projet vous montre comment concevoir et construire un appareil pour mesurer votre fréquence cardiaque à l'aide de notre belle Arduino !Étape 1: Informations de base sur ce projet Un moniteur de fréquence cardiaque est un dispositif de surveillance
Fréquence cardiaque comparateur

Fréquence cardiaque comparateur

Ce projet est rendu pour Intel IoT Road Show en Corée.Mon équipe fait indicateur de fréquence cardiaque avec un cardiofréquencemètre, conduit des indicateurs et un écran lcd.L'équipe a essayé de faire un jeu qui peut être utilisé pour contrôler le ry
Fréquence cardiaque pendentif Party

Fréquence cardiaque pendentif Party

Mes amis parlaient au brunch une fois jour sur cool (et comment terrifiant), il serait si une personne vous conversez avec (peut-être lors d'une fête ou à une date) pourrait en fait voir quand votre pouls s'accélère, offrant une fenêtre dans vos sent
Microcontrôleur mesure la fréquence cardiaque par le biais du bout des doigts

Microcontrôleur mesure la fréquence cardiaque par le biais du bout des doigts

La fréquence cardiaque est un paramètre de santé très crucial qui est directement lié à la solidité du système cardiovasculaire humain. Ce projet décrit une technique de mesure de la fréquence cardiaque par le biais du doigt à l'aide d'un microcontrô
Demande par courrier électronique de surveillance de la fréquence cardiaque

Demande par courrier électronique de surveillance de la fréquence cardiaque

Un capteur de pouls vous permet de suivre votre fréquence cardiaque quand vous le voulez. Imaginez être capable de détecter votre pouls pendant que vous êtes en cours d'exécution ou de dormir sans avoir besoin d'équipement spécial. Cela peut vous aid