Счетчик отжиманий на hc-sr04
- Войдите на сайт для отправки комментариев
Ср, 25/04/2018 - 05:46
Здравствуйте, планирую собрать устройство для подсчета отжиманий. В качестве регистратора использовать датчик приближения hc-sr04, но что-то уперся в тупик с алгоритмом...в принципе счетчик считает, но его можно обмануть если задерживаться в нижней точке то счетчик засчитывает отжимание...)) и потом при подъеме как положено еще плюсует, всю голову уже сломал почему так происходит...почему он прибавляет к gym еденицу когда выполнено условие для counter == 2 но расстояние не подходит по условию, явно что то с if else напутал.
int echoPin = 3;
int trigPin = 4;
int counter = 0; //Переменная счетчик
int gym = 0; //Количество отжиманий
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
int duration, cm; //
digitalWrite(trigPin, LOW); //
delayMicroseconds(2); //
digitalWrite(trigPin, HIGH); // Замеряем расстояние
delayMicroseconds(10); //
digitalWrite(trigPin, LOW); //
duration = pulseIn(echoPin, HIGH); //
cm = duration / 58; //
delay (100); //
if (cm>25 && counter == 0) {
counter = 1;
}
else if (cm<10 && counter==1) {
counter = 2;
}
else if ( cm > 25 && counter == 2 ){
gym++;
counter = 0;
}
Serial.print(" Отжимания: ");
Serial.println(gym);
}
сделайте печать переменных cm и counter вместе с gym, неисключены скачки датчика
Да, похоже датчик не может так быстро измерять изменение расстояния, сбоит....проскакивает порой -386 значение)) понял, буду думать какой сенсор можно еще примострячить...нужно чтото бесконтактное
все дешевые датчики так себя ведут. в сети есть алгоритмы стабилизации показаний, например, для датчиков температуры. наберите статистику показаний при разных условиях: есть тело над датчиком, тело на разной высоте, будет примерное понимание какой алгоритм более применим в вашем случае.
Ну что, придумали что-нибудь? Тоже пытался сделать что-то подобное и тоже столкнулся с ограниченным быстродействием. В "промышленных" образцах применяются механические кнопки, на которые надо лечь грудью...
Да я доделал тогда) если нужно поищу исходники.