PHP код:// Вспомогательная процедура - Считывание с датчика текущей скорости
void GetSpeed() {
unsigned long DurImpSp0; // Длительность отрицательного импульса
unsigned long DurImpSp1; // Длительность положительного импульса
unsigned long DurImpSpAll; // Длительность импульсов за 1 оборот
for (int i = 0; i < 6; i++) { // На сколько импульсов датчик скорости
DurImpSp1 = pulseIn(BtnSpeed, HIGH, 20000); // Считывание длительности положительного импульса
DurImpSp0 = pulseIn(BtnSpeed, LOW, 20000); // Считывание длительности отрицательного импульса
DurImpSpAll = DurImpSpAll + DurImpSp1 + DurImpSp0; // Складываем
}
DurImpSpAll = (3600000 / DurImpSpAll); // Перевод в км/ч
DurImpSpAll = DurImpSpAll - DurImpSpAll * 90 / 1000; // Учитываем процент погрешности (определяется экспериментально)
if (DurImpSpAll <= 0) { // Если скорость менее 0 - значит 0
ValSpCurr = 0;
}else{
ValSpCurr = DurImpSpAll;
}
Serial.print("Speed = ");
Serial.println(ValSpCurr);
}
прошу ногами не пинать, конструктивная критика кода приветствуется
ValSpCurr - глобальная переменная int




Ответить с цитированием