Если утверждение: Сравните аналог чтения с int - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь завершить код определения частоты сердечных сокращений, который должен определять пик для каждого цикла и использовать его для расчета частоты сердечных сокращений.

 void setup() {
  Serial.begin(9600);
}

void loop() {
  int i = 0;
  int peak = 0;
  unsigned long startTime = 0;
  unsigned long endTime = 0;

  startTime = millis();

//This section of the code compares the incoming sensor values to an initial value and replaces that initial value with a higher sensor value and does this for 2 seconds

while(millis() - startTime<=2000){
    if(peak <= analogRead(A0)){
      peak = analogRead(A0);
    }
  }
  endTime = millis();
  Serial.println(peak);//this is the highest value it found after 2 seconds

//This section of the code is supposed to take the peak value from above and compare it with more sensor values for 3 seconds and increment the counter every time the peak value and the sensor value are equal.

while(millis() - endTime <= 3000){
    if(analogRead(A0)== peak){
      i++;
     }
    }
    Serial.println(i);
}

Проблема, с которой я столкнулся, заключается в том, что я получаю очень противоречивые числа для i, что до 500 и до 10. Я не уверен, почему это происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...