Я извиняюсь, сегодня все внимательно обдумал и получается сбил с правильного пути. Предложенный мной способ имеет недостатки.
1-большая погрешность
2-медленная скорость замера
Чтобы делать быстрый и точный замер нужно измерять длительность импульса
PHP код:
#include <util/delay.h>
volatile unsigned long delta,micross;
unsigned long temp;
int RelayPin = 14; // Connect Relay to input pin 2
int HallPin = 3; // Connect Hall to input pin 3
void setup()
{
Serial.begin(115200);
pinMode(RelayPin, OUTPUT); // declare Relay as output
pinMode(HallPin, INPUT); // датчик холла
digitalWrite(HallPin, HIGH); //внутренняя подтяжка
attachInterrupt(1, int_on, RISING); // настроить прерывание interrupt 1 на pin 3
digitalWrite(RelayPin, HIGH); // реле включить
}
void int_on()
{
delta=3030*(micros()-micross);//получим время пробега 1 км
micross = micros(); //обнулить
}
void loop()
{
temp=delta;
Serial.println(temp);
_delay_ms(500);
}
что бы рассчитать коэффициент нужно знать размер колеса и число импульсов на 1 оборот. Для колеса размером 195/65 R15 и 6 импульсам на 1 оборот, пробег на 1 импульс будет составлять примерно 33см
получаем 33см за время delta