Счетчик отжиманий на 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 значение)) понял, буду думать какой сенсор можно еще примострячить...нужно чтото бесконтактное
все дешевые датчики так себя ведут. в сети есть алгоритмы стабилизации показаний, например, для датчиков температуры. наберите статистику показаний при разных условиях: есть тело над датчиком, тело на разной высоте, будет примерное понимание какой алгоритм более применим в вашем случае.
Ну что, придумали что-нибудь? Тоже пытался сделать что-то подобное и тоже столкнулся с ограниченным быстродействием. В "промышленных" образцах применяются механические кнопки, на которые надо лечь грудью...
Да я доделал тогда) если нужно поищу исходники.