AlexGyver / POV_display

Вращающийся светодиодный дисплей на Arduino и WS2812
https://alexgyver.ru/pov_display/
MIT License
32 stars 9 forks source link

Correct timing #1

Open Evil-Spirit opened 6 years ago

Evil-Spirit commented 6 years ago

https://github.com/AlexGyver/POV_display/blob/82938e75f6ebd07642341c708ac557707c522e47/POV_display/POV_display.ino#L100 Should be fixed as

void hall() {   // тут у нас тахометр
  unsigned long curr_micros = micros(); // измеряем время только раз, так как следующие вызовы могут вернуть уже другое время, поскольку на выполнение инструкций требуется время
  if (curr_micros  - timer > 30000) {     // фильтруем ложные
    new_period = curr_micros  - timer;    // вот он вот он период оборота
    timer = curr_micros;
    hall_isr = true;
  }
}
Evil-Spirit commented 6 years ago

Предлагаю свой проект в качестве темы для Вашего нового видео https://github.com/Evil-Spirit/EvilShutter Все было сделано на 90%, собирается за вечер из готовых компонентов, пишите issue, если интересно, отвечу на вопросы.