Étape 1: Codage de la fréquence cardiaque (contrôleur d’hôte)
Sur l’hôte, choisissez un NIP et cycle il entre haute et basse. Voici le code que j’utilise pour vélos, broches 4 toutes les 3 secondes (principalement) :#include « timer.h »
#define hbPin 4
int hwHeartbeat = élevé ;
minuterie hbTimer = timer (1000 * 3) ; 3 deuxième battement de coeur
Dans la fonction loop() :
Si (hbTimer.update() == 1) {}
Si (hwHeartbeat == HIGH) {}
digitalWrite (hbPin, basse) ;
hwHeartbeat = bas ;
} else {}
digitalWrite (hbPin, HIGH) ;
hwHeartbeat = élevé ;
}
hbTimer.reset() ;
}
Timer.h :
Classe « timer »--surveille une instance de temps et renvoie 1 si elle est adoptée ou 0 sinon
Il faut un intervalle de temps en millisecondes
minuterie de classe
{
Variables de la classe initialisées au démarrage
unsigned longue timerDuration ; Combien de temps dure cette minuterie pour ?
Variables d’exécution
unsigned long startMillis ; Quand a-t-il commencé ?
Constructeur
public :
Timer (minuterie long non signé) {}
timerDuration = timer ;
startMillis = millis() ;
}
int update(void) {}
Si (millis() - startMillis > = timerDuration) {}
Return 1 ;
} else {}
return 0 ;
}
}
void reset(void) {}
startMillis = millis() ;
}
};
Périodiquement, mon application se ramifie en une sous-routine qui prend environ 15 secondes pour exécuter--cela doit être pris en considération quand j’ai mis les valeurs dans le code du bijou.