Считаю частоту выдачи сигнала датчиком холла (готовлюсь к замерам датчика скорости).
Подключил эл. двигатель через реле, на двигатель насажена железка, которая вращаясь перекрывает датчик холла.
При выводе через "Serial Monitor" - Serial.println(delta), показываются значения в милисекундах от включенного состояния датчика до выключенного. Все бы ничего, но проскакивают какие-то случайные значения (от наводок что-ли)...
Как быть?
Вот код:
Код:int RelayPin = 14; // Connect Relay to input pin 2 int HallPin = 3; // Connect Hall to input pin 3 void setup() { Serial.begin(9600); pinMode(RelayPin, OUTPUT); // declare Relay as output pinMode(HallPin, INPUT); // датчик холла digitalWrite(HallPin, HIGH); //внутренняя подтяжка attachInterrupt(1, int_on, FALLING); // настроить прерывание interrupt 1 на pin 3 } void int_on() { delta = millis() - miliss; miliss = millis(); Serial.println(delta); } void loop() { RelayOn=HIGH; digitalWrite(RelayPin, RelayOn); // реле включить }




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