Capteur Pulse Sensor + ESP8266

Bonjour a tous !

J'utilise actuellement un ESP8266 HUZZAH comme celui-ci => Overview | Adafruit HUZZAH ESP8266 breakout | Adafruit Learning System

Je voudrais utiliser avec un capteur pulse sensor de chez sparkfun Electronics => Pulse Sensor - SEN-11574 - SparkFun Electronics

C'est un capteur de fréquence cardiaque.

J'ai teste un code exemple qui est donne avec le capteur de fréquence mais cela ne fonctionne pas. Je ne comprends pas trop l'erreur que cela me donne sachant que c'est le code exemple et que je n'ai rien touche.

Le lien du code est ici : GitHub - EnvironmentMonitor/Pulse-Sensor-ESP8266-ADC0: Remote Monitoring Aids

Voici les erreurs que j'ai a chaque fois :

Arduino : 1.6.9 (Linux), Carte : "Adafruit HUZZAH ESP8266, 80 MHz, 115200, 4M (3M SPIFFS)"

/home/faure/Arduino/Pulse-Sensor-ESP8266-ADC0-gh-pages/Interrupt/Interrupt.ino: In function 'void interruptSetup()':
Interrupt:17: error: 'flipper' was not declared in this scope
   flipper.attach_ms(2, ISRTr);     
   ^
/home/faure/Arduino/Pulse-Sensor-ESP8266-ADC0-gh-pages/Interrupt/Interrupt.ino: In function 'void ISRTr()':
Interrupt:25: error: 'Signal' was not declared in this scope
   Signal = analogRead(A0);              // read the Pulse Sensor 
   ^
Interrupt:30: error: 'IBI' was not declared in this scope
   if(Signal < thresh && N > (IBI/5)*3){       // avoid dichrotic noise by waiting 3/5 of last IBI
                              ^
Interrupt:43: error: 'Pulse' was not declared in this scope
     if ( (Signal > thresh) && (Pulse == false) && (N > (IBI/5)*3) ){        
                                ^
Interrupt:43: error: 'IBI' was not declared in this scope
     if ( (Signal > thresh) && (Pulse == false) && (N > (IBI/5)*3) ){        
                                                         ^
Interrupt:45: error: 'blinkPin' was not declared in this scope
       digitalWrite(blinkPin,HIGH);                // turn on pin 13 LED
                    ^
Interrupt:75: error: 'BPM' was not declared in this scope
       BPM = 60000/runningTotal;               // how many beats can fit into a minute? that's BPM!
       ^
Interrupt:76: error: 'QS' was not declared in this scope
       QS = true;                              // set Quantified Self flag 
       ^
Interrupt:81: error: 'Pulse' was not declared in this scope
   if (Signal < thresh && Pulse == true){   // when the values are going down, the beat is over
                          ^
Interrupt:82: error: 'blinkPin' was not declared in this scope
     digitalWrite(blinkPin,LOW);            // turn off pin 13 LED
                  ^
exit status 1
'flipper' was not declared in this scope

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

La première erreur est sur le ticker, il me dit que flipper n'est pas déclaré mais il l'est bien dans un autre fichier donc je ne comprends pas trop le soucis ici.

Dans les exemples sur internent, ils utilisent un Arduino UNO mais il n'y a que 3 fils a brancher, le +, le - et le fil de données sur une entrée analogue, tout ceci est bon sur mon branchement.

Si quelqu'un a une idée ou a deja utilise ce type de capteur je suis preneur :slight_smile:

Merci,

Salut,

Personne a une petite idée pour m'aider a avancer svp ? :slight_smile:

Bonjour,

Quel code as-tu utilisé précisément ? Ton lien mène vers plusieurs fichiers.

Bonjour,

J'ai utilise ces deux-la :

Le premier est le fichier d'interruption et le second est celui qui utilise le ticker, celui dont j'ai besoin dans le fichier d'interruption.

Apres j'ai créé un autre fichier que j'ai inclus avec ces deux-la dans un même répertoire et dedans j'ai juste mis :

#include <Ticker.h>


void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  interruptSetup();

}

void loop() {
  // put your main code here, to run repeatedly:

}

Et a chaque fois je reçois les erreurs que j'ai citées plus haut.

Le lien que j'ai mis dans mon premier message est en fait un exemple de projet complet normalement mais je n'arrive pas a le faire fonctionner :frowning:

Si tu concatènes les deux codes dans le même fichier, il n'y a plus d'erreur à la compilation.

Ah oui effectivement ça fonctionne mais je trouve ça plutôt bizarre.

Normalement je dois avoir un fichier d'interruption et un fichier normal alors comment ça se fait que la je peux inclure mon fichier d'interruption aussi simplement dans mon autre fichier ?

ça doit pas fonctionner comme ça normalement non ?

Personnellement, c'est plutôt le fait d'avoir le programme qui fonctionne éclaté en deux fichiers qui ne fonctionnent pas séparément que je trouve bizarre.

Oui mais le second fichier est un fichier spécial aussi je crois vu que c'est un fichier d'interruption, il n'y a pas des choses spécifiques a faire si on implante un fichier d'interruption dans un programme arduino ?

Non, rien ne t'oblige à faire cette séparation.

OK je ne savais pas, merci pour l'info !

Maintenant j'aimerai afficher la pulsation cardiaque sur le moniteur série donc je lui demande de m'afficher la variable "BPM" mais il m'affiche des nombres aléatoires enfin pas cohérent du tout avec ce que je devrais avoir.

Je vais essayer de voir pour ne l'afficher qu'une fois toutes les minutes