Алгоритм калибровки статичных лазеров
Список значимых переменных
- Флаг памяти калибровки
- Чувствительность
- Таймер начала калибровки
- Количество скалиброванных лазеров
- На каждый из 6 сенсоров отводятся поля под:
5.1. Темное состояние
5.2. Светлое состояние
5.3. Граница срабатывания
5.4. Калибровка окончена
Сброс значений
Сбрасывается флаг памяти калибровки.
Для всех сенсоров устанавливается:
- темное состояние 0
- светлое >4095
- окончание калибровки false Кол-во скалиброванных лазеров - 0
##
##
Установка КТ
Включение подсветки кнопок
Включение синего цвета светодиодной ленты
Выключение лазеров
Ожидание 200мс
##
##
Замер КТ
Сброс таймера начала калибровки
Замер максимального значеня темного состояния для каждого сенсора за промежуток 1300мс
##
##
Включение лазеров
Включаются все лазеры
Ожидание 3000мс
##
##
Замер света
Сброс таймера начала калибровки
Ожидание 150мс
Для каждого сенсора одновременно, пока все не закончат калибровку:
Замер минимального значения светлого состояния за промежуток 4500мс
Пометка лазера как закончившего калибровку
##
##
Поддержание светлого состояния
Ожидание 14сек ±50мс чтобы закончили калибровку движущиеся лазеры
Выключение лазеров
##
##
##
##
Вычисление порогов срабатывания
Для всех сенсоров:
Дэльта = Свет - Тьма<br> Если дэльта > 1000, то<br> Порог срабатывания = Тьма + Дэльта `*` Чувствительность `*` 0,01<br> Иначе Порог = 0
##
##
Завершение калибровки
Выключение кнопок
Выключение светодиодной ленты
Запись значений калибровки в память
Отправка события завершения калибровки
Changelog
12.06.2018 epicstrike init
Posts
subscribe via RSS