-
- Не думал что ветка после моего сообщения так растянется. Я тролль? ))) - alexem(01.09.2024 20:39)
- Потому что в ходу блядский алгоритм опроса кнопок, от ардуинщиков. maik-vs(238 знак., 01.09.2024 15:39)
- Что есть алгоритм ардуинщиков? Andreas(213 знак., 01.09.2024 18:00)
- раз уж тут народ делится. У меня с юных лет было просто всегда.
Опрос строго по тактам (1-5 мсек). Первое нажатие - запуск
счетчика. Каждый такт при продолжении нажатия - инкремент. Любое
отжатие - сброс. Насчитал непрерывно 50 мсек - есть нажатие. Этот
принцип что в одиночных кнопках, что в матричной клавиатуре. - Лaгyнoв(02.09.2024 07:51)
- Вот здесь изящно: Yurasvs(1 знак., 02.09.2024 12:43, ссылка)
- Максим делал чипы для фильтрования дребезга. Кстати, алгоритм
удобно делать, задвигая выборки в целочисленную переменную. Когда
задвинулись все нули или все единицы, регистрируем переключение. SciFi(289 знак., 02.09.2024 09:41, ссылка)
- совершенно случайно я так с датчика литров в старом 8-битнике импульсы ловил. Задвигал бит порта а регистр каждые 100 мксек. Все нули - замкнут, все единицы - разомкнут. В конце 90-х думал - как здорово я придумал. :-) - Лaгyнoв(02.09.2024 12:31)
- Интегратор с ограничением уровней + 2 компаратора. Хоть считай,
хоть сдвигай, хоть RC фильтр поставь. - maik-vs(02.09.2024 09:53)
- Перебор. Задача на 5 копеек, а решение на рубль. Это как байка про
космическую шариковую ручку и простой карандаш. - SciFi(02.09.2024 09:54)
- Где же перебор? Интегратор и есть. maik-vs(286 знак., 02.09.2024 10:15)
- Плохой пример, в итоге минусов у карандаша больше оказалось и все вернулись к ручке. - Andreas(02.09.2024 10:03)
- Перебор. Задача на 5 копеек, а решение на рубль. Это как байка про
космическую шариковую ручку и простой карандаш. - SciFi(02.09.2024 09:54)
- На отжатие надо не сброс, а декремент. Когда этим занимался, мучил
разные кнопки на предмет дребезга. maik-vs(148 знак., 02.09.2024 09:22)
- Во время самого уже уверенного нажатия иголки? Ну если так. Тогда
по моему алгоритму будет двойное (тройное) нажатие. Сейчас глянул.
А ведь я давно не заглядывал. Оказывается как-то поменял уже
алгоритм. И действительно в последней версии клавы 4Х4 у меня на
отжатие тоже счетчик есть. Признаю. :-) - Лaгyнoв(02.09.2024 09:41 - 09:50)
- Ну, это была старенькая кнопка. Кнопка - пенсионерка, не справлялась уже ))) maik-vs(91 знак., 02.09.2024 09:49)
- Во время самого уже уверенного нажатия иголки? Ну если так. Тогда
по моему алгоритму будет двойное (тройное) нажатие. Сейчас глянул.
А ведь я давно не заглядывал. Оказывается как-то поменял уже
алгоритм. И действительно в последней версии клавы 4Х4 у меня на
отжатие тоже счетчик есть. Признаю. :-) - Лaгyнoв(02.09.2024 09:41 - 09:50)
- Алгоритм ардуинщиков это прерывание по фронту от кнопки и перечитать через 50-80мс. Что прочиталось, то и состояние. Это даже работает, пока нет никакого дребезга. - maik-vs(01.09.2024 18:20)
- зато будут проблемы с ложными срабатываниями в недружесвенном
ЭМС-окружении или при кондуктивных помехах ("...плавали, - знаем"(С) :)) - Adept(01.09.2024 18:13)
- Ток помехи в несколько ма у меня пока не встречался, зато вредные опытные продавщицы, которым 50мс задержки уже много, встречались. В промке я делал переброс состояний по счетчику, например 5 на замыкание и 20 на размыкание, но разницы не увидел, так, на всякий случай. - Andreas(01.09.2024 18:41)
- Почему? Кнопка замыкает на землю вход, подтянутый к питанию. Помеха
должна просадить вход до нуля, в моменты опроса, несколько раз
подряд. Маловероятно. maik-vs(82 знак., 01.09.2024 18:25)
- в некоторых конструктивных исполнениях, или при высокой
интенсивности помех - вполне вероятно, не говоря уже о том, если
кнопка (или дискретный сигнал) отрабатывается по прерыванию, - а
такое тоже бывает (у меня, кстати, через п/п подавления дребезга
пропускаются все внешние дискретные сигналы, - очень помогает в
борьбе с помехами)) - Adept(01.09.2024 18:30)
- Бывает многое. У меня коробочка со светодиодами, которой
прозванивают витую пару - там диоды и светодиодов зелёных 8 штук -
светилась вся на одном заводе в одном месте. Просто в руках. - maik-vs(01.09.2024 18:47)
- я бы поостерёгся в таких местах гулять :)) - Adept(01.09.2024 19:00)
- Я и свалил оттуда, как только)). Там шкаф с частотниками, и кабельная трасса. - maik-vs(01.09.2024 19:02)
- я бы поостерёгся в таких местах гулять :)) - Adept(01.09.2024 19:00)
- Имхо кнопки на прерывания это ардуино стайл, если нет rc цепи, которая не позволяет быстрый дребезг. Я даже вход ик приемника RC5 по таймеру читаю на всякий. - Andreas(01.09.2024 18:46)
- Бывает многое. У меня коробочка со светодиодами, которой
прозванивают витую пару - там диоды и светодиодов зелёных 8 штук -
светилась вся на одном заводе в одном месте. Просто в руках. - maik-vs(01.09.2024 18:47)
- в некоторых конструктивных исполнениях, или при высокой
интенсивности помех - вполне вероятно, не говоря уже о том, если
кнопка (или дискретный сигнал) отрабатывается по прерыванию, - а
такое тоже бывает (у меня, кстати, через п/п подавления дребезга
пропускаются все внешние дискретные сигналы, - очень помогает в
борьбе с помехами)) - Adept(01.09.2024 18:30)
- раз уж тут народ делится. У меня с юных лет было просто всегда.
Опрос строго по тактам (1-5 мсек). Первое нажатие - запуск
счетчика. Каждый такт при продолжении нажатия - инкремент. Любое
отжатие - сброс. Насчитал непрерывно 50 мсек - есть нажатие. Этот
принцип что в одиночных кнопках, что в матричной клавиатуре. - Лaгyнoв(02.09.2024 07:51)
- +1. Только опрос почаще и константа побольше, суть та же. - serge_dem(01.09.2024 17:05)
- А я на счетчик пожлобился. Просто собираю через "ИЛИ" результаты
последовательных чтений за 100мс. Твёрдо разомкнутая кнопка - не
коротит. - Cкpипaч(01.09.2024 17:10)
- не есть гут, нужен программный триггер Шмитта (счётчик с
гистерезисом - компаратором по нижнему и верхнему уровням) для
исключения не только ложного срабатывания "нажатия", но и ложного
срабатывания "отпускания". Пример тому, скажем функция автоповтора
(или вход в какой-нить сервисный режим) по "долгому" удержанию. В
Вашем случае, на "шуршащей" кнопке можно вообще не дождаться
события "долгое удержание" :) - Adept(01.09.2024 17:52)
- Практика критерий истины. - Cкpипaч(01.09.2024 18:02)
- точно так :) видимо Вы не очень активно используете разный
функционал хитрого удержания, комбинаций нажатия кнопок и прочего
(или вообще не используете), иначе быстро бы "погорели" на таком
подходе, когда нет подавления "дребезга отпускания" Я как-то был
одержим идеей написать универсальный драйвер клавиатуры и кнопок
для своих нужд, с минимальным расходом памяти, пришёл к выводу, что
всё равно по два байта на кнопку надо. Adept(475 знак., 01.09.2024 18:12)
- +1. Байт на кнопку. У меня не было автоповторов, а регулировать "задумчивость" кнопки оказалось полезно. maik-vs(103 знак., 01.09.2024 18:42)
- Так и есть. Кнопок у меня мало, функционал их - минимален. - Cкpипaч(01.09.2024 18:16)
- точно так :) видимо Вы не очень активно используете разный
функционал хитрого удержания, комбинаций нажатия кнопок и прочего
(или вообще не используете), иначе быстро бы "погорели" на таком
подходе, когда нет подавления "дребезга отпускания" Я как-то был
одержим идеей написать универсальный драйвер клавиатуры и кнопок
для своих нужд, с минимальным расходом памяти, пришёл к выводу, что
всё равно по два байта на кнопку надо. Adept(475 знак., 01.09.2024 18:12)
- Практика критерий истины. - Cкpипaч(01.09.2024 18:02)
- не есть гут, нужен программный триггер Шмитта (счётчик с
гистерезисом - компаратором по нижнему и верхнему уровням) для
исключения не только ложного срабатывания "нажатия", но и ложного
срабатывания "отпускания". Пример тому, скажем функция автоповтора
(или вход в какой-нить сервисный режим) по "долгому" удержанию. В
Вашем случае, на "шуршащей" кнопке можно вообще не дождаться
события "долгое удержание" :) - Adept(01.09.2024 17:52)
- А я на счетчик пожлобился. Просто собираю через "ИЛИ" результаты
последовательных чтений за 100мс. Твёрдо разомкнутая кнопка - не
коротит. - Cкpипaч(01.09.2024 17:10)
- Что есть алгоритм ардуинщиков? Andreas(213 знак., 01.09.2024 18:00)