~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ титановый велосипед для кнопки. (версия 14.0) https://klapautsiy.github.io/titanium-bicycle-for-button/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ инсталляция: --------------------- распаковать и поместить папку с файлами в папку с библиотеками Arduino IDE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Click.h - класс Click, логический блок. state_button () - состояние кнопки state_inactivity_Up() - состояние таймера неактивности ненажатой кнопки state_inactivity_Dn() - состояние таймера неактивности нажатой кнопки event_click_Up () - событие отпускания кнопки event_click_Dn () - событие нажатия кнопки event_click_Db () - событие двойного щелчка кнопки event_inactivity_Up() - событие неактивности ненажатой кнопки event_inactivity_Dn() - событие неактивности нажатой кнопки event_press_short () - событие короткого нажатия кнопки event_press_long () - событие длинного нажатия кнопки reset(in_Click) - сброс кнопки read (in_Click) - опрос кнопки где struct click_t in_Click in_Click.timestamp_system - снимок системного времени (millis()) in_Click.state_hard - аппаратное состояние кнопки in_Click.duration_bounce - длительность фильтра дребезга кнопки in_Click.duration_click_Db - длительность двойного щелчка кнопки in_Click.duration_inactivity_Up - длительность таймера неактивности ненажатой кнопки in_Click.duration_inactivity_Dn - длительность таймера неактивности нажатой кнопки in_Click.duration_press - длительность длинного нажатия кнопки где длительность(миллисекунды) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Button.h - класс-оболочка для класс Click, кнопки. button(pin, ...) - передача номеров пинов Arduino, подключенных к кнопкам duration_bounce (t) - настройка длительности фильтра дребезга кнопки duration_click_Db (t) - настройка длительности двойного щелчка кнопки duration_inactivity_Up(t) - настройка длительности таймера неактивности ненажатой кнопки duration_inactivity_Dn(t) - настройка длительности таймера неактивности нажатой кнопки duration_press (t) - настройка длительности длинного нажатия кнопки где t - миллисекунды NO() - кнопка с нормально разомкнутыми контактами (N.O. Normal Open ) NC() - кнопка с нормально замкнутыми контактами (N.C. Normal Closed) pullUp() - подтяжка пинов кнопок к Vcc pullDn() - подтяжка пинов кнопок к GND для увеличения помехозащищённости в режиме pullUp пины кнопок рекомендуется подключать через резисторы 10KOm к Vcc в режиме pullDn подключение пинов кнопок через резисторы 10KOm к GND обязательно reset() - сброс кнопок read() - опрос кнопок state_button (i) - состояние кнопки state_inactivity_Up(i) - состояние таймера неактивности ненажатой кнопки state_inactivity_Dn(i) - состояние таймера неактивности нажатой кнопки event_click_Up (i) - событие отпускания кнопки event_click_Dn (i) - событие нажатия кнопки event_click_Db (i) - событие двойного щелчка кнопки event_inactivity_Up(i) - событие неактивности ненажатой кнопки event_inactivity_Dn(i) - событие неактивности нажатой кнопки event_press_short (i) - событие короткого нажатия кнопки event_press_long (i) - событие длинного нажатия кнопки где i - индекс кнопки вызов функции состояния/события кнопки без индекса возвращает логическое "ИЛИ" состояний/событий всех кнопок ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Matrix.h - класс-оболочка для класс Click, матрица кнопок. matrix_x(pin_x, ...) - передача номеров пинов Arduino, подключенных к колонкам матрицы кнопок matrix_y(pin_y, ...) - передача номеров пинов Arduino, подключенных к строкам матрицы кнопок duration_bounce (t) - настройка длительности фильтра дребезга кнопки duration_click_Db (t) - настройка длительности двойного щелчка кнопки duration_inactivity_Up(t) - настройка длительности таймера неактивности ненажатой кнопки duration_inactivity_Dn(t) - настройка длительности таймера неактивности нажатой кнопки duration_press (t) - настройка длительности длинного нажатия кнопки где t - миллисекунды NO() - кнопка с нормально разомкнутыми контактами (N.O. Normal Open ) NC() - кнопка с нормально замкнутыми контактами (N.C. Normal Closed) pullUp() - подтяжка пинов строк к Vcc pullDn() - подтяжка пинов строк к GND NKRO() - режим No-Key Rollover OKRO() - режим 1-Key Rollover TKRO() - режим 2-Key Rollover для увеличения помехозащищённости в режиме pullUp пины строк рекомендуется подключать через резисторы 10KOm к Vcc в режиме pullDn подключение пинов строк через резисторы 10KOm к GND обязательно в режиме No Key Rollover кнопки нужно подключать через диоды reset() - сброс кнопок read() - опрос кнопок state_button (i) - состояние кнопки state_inactivity_Up(i) - состояние таймера неактивности ненажатой кнопки state_inactivity_Dn(i) - состояние таймера неактивности нажатой кнопки event_click_Up (i) - событие отпускания кнопки event_click_Dn (i) - событие нажатия кнопки event_click_Db (i) - событие двойного щелчка кнопки event_inactivity_Up(i) - событие неактивности ненажатой кнопки event_inactivity_Dn(i) - событие неактивности нажатой кнопки event_press_short (i) - событие короткого нажатия кнопки event_press_long (i) - событие длинного нажатия кнопки где i - индекс кнопки вызов функции состояния/события кнопки без индекса возвращает логическое "ИЛИ" состояний/событий всех кнопок ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~