Bonjour à tous !
Je suis en train de faire un petit projet arduino, je tiens à préciser que je suis débutant.
J'ai deux cartes qui communiquent sans fils via des shields XBee. Sur l'émettrice il y a un capteur qui renvoi un valeur décimale, la fréquence cardiaque en bpm. Il envoie cette valeur à une carte réceptrice.
Je viens demander de l'aide pour deux choses :
- Comment puis-je faire clignoter une led ( ou un chenillard, mais une led c'est déjà bien ) en fonction de la valeur du pouls ? Par exemple si le bpm est de 65, la led devrait clignoter 65 fois par minutes... Je ne vois pas vraiment comme le coder proprement.
- Je dois faire une moyenne du bpm pris sur 12h ou 24h, comme coder cela, afin de définir une certaine valeur "m" comme la moyenne ? J'ai pensé à faire un sous-programme qui relèverai une valeur du bmp toutes les secondes sur disons 12h, puis fais le calcul de la moyenne. Cependant l'addition de toutes ces valeur peut-elle directement être stockées dans une variable ?
Si par exemple je prends une valeur de bpm de 100 pendant 24h ( pour me donner de la marge ) alors j'additionne toutes ces valeurs dans une variable de type "long" et puis je divise par le nombre de mesures ( cela fait 86 400 mesures ). Ceci est la bonne méthode ?
Merci d'avance pour vos réponses !
PS : Voici les codes que j'utilise :
Émetteur :
#include <Wire.h>
void setup() {
Serial.begin(9600);
Serial.println("heart rate sensor:");
Wire.begin();
setDestination();
}
void loop() {
Wire.requestFrom(0xA0 >> 1, 1); // request 1 bytes from slave device
while(Wire.available()) { // slave may send less than requested
unsigned char c = Wire.read(); // receive heart rate value (a byte)
Serial.println(c, DEC); // print heart rate value
}
delay(500);
}
// Xbee configuration
void setDestination() {
Serial.print("ATRE\r");
Serial.print("ATDL0\r");
Serial.print("ATMY1\r");
Serial.print("ATID1111\r");
Serial.print("ATCN\r");
}
Récepteur :
void setup() {
Serial.begin(9600); //initialize serial
setDestination();
}
void loop() {
while(Serial.available()){ //is there anything to read?
char getData = Serial.read(); //if yes, read it
Serial.write( getData );
}
}
// Xbee configuration
void setDestination() {
Serial.print("ATRE\r");
Serial.print("ATMY0\r");
Serial.print("ATID1111\r");
Serial.print("ATCN\r");
}