Étape 3: codage.
C’est la partie la plus délicate du projet. Vous devez mapper vers le bas quand votre cœur bat sur le capteur.
L’idée de base est que lorsque le voyant lumineux est sur et brille à la LDR la lecture c’est environ 1020. Lorsque le doigt est inséré sur la LDR la valeur change entre 980-995. C’est là que le traitement 2 est très utile. Lorsque le sang est se cogner dans votre doigt la lumière qui passe par vos modifications du doigt légèrement. Carte vers le bas au bon moment, quand la lumière est dans les plus brillants et plus sombre. Votre lecture peut différer de la mienne.
Bien. Voici donc le code.
Chose peu nécessaire. Un compteur qui est pris en compte la fréquence cardiaque et la minuterie à compter le temps.
La minuterie est réglée à 0 au début et il arrêtent comtes Counter 10sec les beats et les multiplier par six.
const int analogInPin = A0; int Led = 13; int sensorValue = 0; int count=0; unsigned long time1=0; unsigned long time2; #include #include "rgb_lcd.h"rgb_lcd lcd;const int colorR = 255; const int colorG = 0; const int colorB = 0;
Le programme d’installation est principalement dans les réglages de base.
void setup() { Serial.begin(115200); pinMode(Led, OUTPUT); pinMode(Led, HIGH); lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); }
Ensuite, enroulez. C’est le programme principal qui montre les trucs comptés et de maintenir les valeurs de seuil pour le capteur que lorsqu’arrive le temps de compter une, deux, trois, etc...
void loop() { if(count==0) {time1=millis(); } time2=millis(); sensorValue = analogRead(analogInPin); if(time2>=time1+10000) { counter(); } if(sensorValue >1000){ lcd.clear(); Serial.println("Insert finger"); lcd.setCursor(0,0); lcd.print("Insert Finger"); return; } if(sensorValue ==991){ lcd.clear(); digitalWrite(Led, HIGH); increment(); Serial.println(sensorValue); Serial.println(count); Serial.println(time2); lcd.setCursor(0,0); lcd.print("Counting"); } if(sensorValue >990){ digitalWrite(Led, LOW); } delay(200); }
Puis quelques de la sous-routine.
Increment() fait l’ajout au comte et compteur compte les battements et leur montre à la tenue de la valeur pendant 5 secondes avant de poursuivre le programme.
void increment(){ count++;} void counter() { lcd.clear(); count=count*6; Serial.print("Heart beat: "); Serial.print(count); lcd.setCursor(0,0); lcd.print("Heart beat:"); lcd.setCursor(0,1); lcd.print(count); time1=0; time2=0; count=0; delay(5000); }