Impulsions détection lampe facettes cœur (5 / 9 étapes)

Etape 5: programmation

Si vous pouvez fournir des critiques et des solutions de rechange au sujet de mon code, faites-le ! Programmation est un peu plus compréhensible que générales électronique pour moi, mais je ressens toujours perdu plus souvent qu’autrement.

Les commentaires sont dans le code - j’ai ajouté il dans une zone de texte et sous forme de fichier joint .ino, la bibliothèque peut être consultée ici. Si vous avez mise en Difficulté place le code de détection Capacitive & connexions, vérifiez cette vidéo, il m’a sauvé. Bibliothèque de fader de LED peut être trouvée ici. Croquis de traitement du MAKE magazine a été utilisée pour la visualisation, il peut être trouvé ici.

Avant d’écrire le code, je devais comprendre quelques choses de base impliqués dans le fonctionnement du cœur et le circuit que j’ai fait pour la mesure du pouls que j’expliquerai brièvement ici.

Le capteur que j’ai fait utilise une LDR dans un capteur. Une LDR a une gamme de résistances dans lequel la résistance dépend de la quantité de lumière qui l’atteint. Plus la lumière il est - le plus petit est la résistance et vice versa. Dans ce cas ce que nous ressentons comme une impulsion, c’est ce qui se passe après la valve aortique s’ouvre et le sang circule dans notre système circulatoire. Donc pour le moment de l’impulsion de la quantité de sang dans votre doigt est différent en vous donnant le changement dans la lecture. Si le sang a été poussé par le biais de votre corps par le cœur, cela signifie que le coeur se vide au moment de la beat - c’est pourquoi j’ai écrit un code qui assombrit le cœur à 0 lorsqu’il bat et peu de temps après les départs de gradation il à une valeur plus élevée, ce qui représente le cœur remplit de sang. Comme vous pouvez le voir dans le diagramme de Wiggers - le volume principal du coeur ne se pas progressivement remplit de sang jusqu'à ce que le prochain battement, mais il y a un afflux rapid où la plupart du cœur se remplit et ensuite encore plus au cours de la diastase, jusqu'à ce que commence la phase de la systole auriculaire. Chacun de ces trois phases semblent prendre environ un tiers du temps entre les battements, mais un autre diagramme d’un cycle cardiaque fourni ici il a divisé dont un axe du temps. Donc j’ai écrit le code selon elle : une pause d’environ 100 ms après l’apparition battre, puis rapidement à 90 % au cours de la prochaine 150ms et un reste plus lente s’estomper avec le prochain 200ms. Cela nous laisse plus d’une demi-seconde jusqu'à ce que le prochain beat pour un taux normal de 60 BPM, un fondu complet en jusqu'à ce que le prochain battre 130BPM et même la majeure partie du fondu dans jusqu'à 230BPM qui est à peine physiquement possible chez un être humain, peut-être pourrait être un problème si vous avez décidé de mesurer une impulsion d’un petit animal , mais je ne pense pas que votre Yorkshire Terrier se serait trop bien avec une impulsion comme ça non plus. Ce qui est important, c’est que cette action a résolu le problème d’avoir à moyenne et à prévoir le temps entre deux battements dans le code permettant de modifier les périodes de fondu.

Code v1.1 pour lampe à facettes cœur par Raitis. Visitez http://snipegift.com pour mes autres projets.
Tutorial complet pour la lampe sur instructables :
#include
#include
#define LED_PIN 3
#define DIR_UP 1
#define DIR_DOWN -1
LEDFader mené ;
direction de l’int = DIR_UP ;

flt int = 5 ; lumière de doigt
Lampon CapacitiveSensor = CapacitiveSensor(4,2) ; interrupteur principal
CapacitiveSensor hrson = CapacitiveSensor(4,6) ; commutateur de hrs
int h = 0 ; capteur de fréquence cardiaque

void setup() {}
pinMode (flt, sortie) ;
LED = LEDFader(LED_PIN) ;
LED.fade(0,1) ;
}

void loop() {}
digitalWrite(flt,LOW) ;
LED.Update() ;
total1 long = lampon.capacitiveSensor(30) ;
long total2 = hrson.capacitiveSensor(30) ;
Si (total1 > 1600 & & led.get_value() > 0 & & led.is_fading() == false) {//turns voyant éteint, la valeur capsense est différente tout en USB et éteindre il, donc tester vôtre
LED.fade(0,1000) ;
direction = DIR_DOWN ;
}
Si (total1 > 1600 & & led.get_value() == 0 & & led.is_fading() == false) {//turns la lampe, la décoloration == false condition évite éteindre à nouveau d’une seule touche
LED.fade(179,1000) ;
direction = DIR_UP ;
}
tandis que (total2 > 700) {//a boucle active lorsque le doigt est placé sur la plaque d’acier dans la fosse de doigt
LED.Update() ;
total1 long = lampon.capacitiveSensor(30) ;
long total2 = hrson.capacitiveSensor(30) ;
h = analogRead(0) ; commence à lire le capteur
digitalWrite (flt, HIGH) ; allume la lumière de doigt
Delay(1) ; pour éviter le trac
Si (h > 150) {//when la lecture des heures est supérieur à 150 c’est très probablement d’impulsion, pas de bruit dans mon cas. Repose sur le transistor utilisé je suppose.
LED.fade(0,10) ; décoloration selon le fonctionne du coeur
direction = DIR_DOWN ;
LED.fade(0,100) ;
direction = DIR_DOWN ;
LED.fade (225, 150) ;
direction = DIR_UP ;
LED.fade (255, 200) ;
direction = DIR_UP ;
Delay(260) ; pour éviter le trac jusqu’en fondu à 225
}
Si (total2 < 150) {//why faire j’ai besoin de cela si tout doit sortir au-dessous de 700 en tout cas ?
LED.fade (179, 1000) ; s’estompe vers standards éclat de 70 % lorsque la plaque d’acier n’est pas plus touchée
direction = DIR_DOWN ;
rupture ;
}
}
}

Comme vous pouvez le voir, je n’a pas utilisé tout lissage pour l’entrée analogique. J’ai fait tester une version avec lui cependant et découvert que, lors de l’utilisation d’une moyenne mobile pour un faible nombre de lectures, comme 10, il n’y a aucun avantage réel de l’avoir. En moyenne un plus grand nombre de lectures adoucit les choses plutôt bien, mais ensuite, il y a un problème énorme retard. J’ai une idée d’une solution de contournement pour ce retard qui éliminerait probablement le trac lorsque vous placez le doigt (voir gif) et va le tester et ajouter alternative code ici si ça marche, mais comme maintenant, ce code que j’utilise fonctionne et je n’aurais aucun problème à laisser tel quel.

Mise à jour : J’ai essayé une alternative code avec lissage qui réagit à un changement de tendance de moyennes lectures d’identifier le rythme, mais alors que le concept fonctionne très bien seul, il ne fonctionne tout simplement comme on le suppose tout en essayant de s’estomper. Il réagit au rythme, mais la trouille tout le temps quand il ne le devrait pas. Si quelqu'un est vraiment faire cela et veut lui donner un essai, je peux vous envoyer un croquis de la code de substitution. Ne télécharger ici pour éviter toute confusion.

Articles Liés

Lumière de détection lampe de poche LED

Lumière de détection lampe de poche LED

Chaque jour, les lots et les lots d'électricité et d'énergie est gaspillée de personnes quittant accidentellement des composants électroniques, ou lampes de poche. Cette invention est la solution parfaite à ce problème. La lampe s'allume seulement qu
Pouls de la ville

Pouls de la ville

mon ami George Zisiadis se dirigeait vers le haut un projet intéressant pour l'UP ! Festival de prototypage urbain l'automne dernier.  Lui et un autre ami, Matt Ligon, ont travaillé sur un circuit de sentir le pouls de l'utilisateur, et traduire en m
Télécommande infrarouge pour le jury de parallaxe QuickStart

Télécommande infrarouge pour le jury de parallaxe QuickStart

interface de commande à distance Infra-rouge 1 fil pour le démarrage rapideUne des choses plus cool sur des dispositifs logiciels de l'héliceest le peu qu'il faut pour ajouter des périphériques !Pièces requises :Petit capteur IR - adafruit/157filPris
Lampe RGB à détection sonore en utilisant Arduino

Lampe RGB à détection sonore en utilisant Arduino

SalutTout d'abord ce projet n'est pas encore fini !Dans ce projet, j'ai fais une lampe aux couleurs multiples à l'aide de LED RGB. Mon idée est d'essayer de laisser la lampe changer couleur s'il détecte un son dans la région. Si vous s'énerver avec l
Facettisées lampes

Facettisées lampes

cette instructable décrit comment créer des abat-jours facettisées (ou, je suppose, aucun facettisées forme) d'une maille simple. C'est un peu plus compliqué qu'il y paraît tout d'abord, parce que tandis que chaque triangle se joint à ses voisins ave
Lampe aux multiples facettes

Lampe aux multiples facettes

Il y a quelques mois, je suis venu avec l'idée de faire une lampe cube avec nombreuses places dedans qui créerait quelque chose comme un motif de vortex et grands effets de lumière.Grâce à cette lampe, que j'ai fait, je me suis inspiré pour faire un
Lampe pour armoire automatique-détection de nuit

Lampe pour armoire automatique-détection de nuit

SalutInstructableRs!!Je suis sûr qu'il y a certains endroits autour de votre maison qui ne sont pas bien éclairées, donc quand vous cherchez quelque chose là-dedans vous devez toujours tenir une torche dans votre bouche en creusant à l'intérieur. Si
Auto détection sombre lampe

Auto détection sombre lampe

Bonjour, pour le premier « instructable » je veux construire une lampe à LED ou lampe qui s'allume sur certains points des ténèbres.Voici la liste de ce dont vous avez besoin !1 - certains sourient. :-)2 - BC547 Transistors(x2)3 - Diod 1N40001 ou 1N4
Boa - une lampe de bureau qui a une âme

Boa - une lampe de bureau qui a une âme

Son nom est « Boa », il est un robot de lampe de bureau, mais il pense qu'il a une âme. Honnêtement, je ne peux pas nier que...L'idée de construire oiO, provenait de mon respect d'objet simple qui se trouvait autour, qui jouent un grand, et le rôle g
Sans fil Infra rouge dispositif de détection de périmètre

Sans fil Infra rouge dispositif de détection de périmètre

Ce Instructable vous fournira les instructions pour créer un périphérique sans fil Infra rouge périmètre détection. Le dispositif se compose de deux parties : l'émetteur et le récepteur. L'émetteur détecte un mouvement, clignote un voyant infra-rouge
Lampe interactif Bluetooth humeur

Lampe interactif Bluetooth humeur

Pour notre dernier projet électronique, nous avons construit une lampe d'ambiance interactive, qui s'appuie sur un projet précédent (voir pour une version 1), mais est différente parce que l'utilisateur peut interagir avec la lampe via bluetooth ! Qu
Couleur magique qui copie caméléon lampe

Couleur magique qui copie caméléon lampe

dans ce Instructable, je vais vous montrer comment faire une lampe Arduino alimenté qui détecte la couleur sous elle et puis tente d'émuler cette couleur. Toutes les utilisation facile à trouver des pièces (la plupart se trouvent dans les magasins à
Lumière ambiante IOT : VIPER lampe

Lumière ambiante IOT : VIPER lampe

Normes sans fil de faible puissance combinée avec des LEDs de faible coûts, ultra-miniature, capteurs et dispositifs de communication a fait allumer un catalyseur pour l'Internet des objets et la domotique intelligente.Dans ce tutoriel nous allons vo
Lampe - en béton il s’agissait d’un échec

Lampe - en béton il s’agissait d’un échec

Il y a quelques semaines, ma femme est venue maison d'IKEA et elle m'a dit que cette lampe NITTIO . Tout à fait un certain temps je ne savais pas où utilisez-le jusqu'à ce que j'ai vu quelques vidéos sur Youtube de personnes utilisant le béton pour l