Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: Помогите опросить кнопку

Чт фев 02, 2017 13:58:08

а какого номинала резисторы внутренней подтяжки у AVR ?

Re: Помогите опросить кнопку

Чт фев 02, 2017 14:14:30

вроде бы 50-100к
на плате без разговоров этого обычно достаточно, но если помеховая обстановка тяжелая или провода идут дальше или вообще шлейфом уходят с платы, то без раздумий нужно вешать внешнюю подтяжку, да посильнее, например 4,7 - 10к


У меня был случай прикольный:
Я тоже в своем устройстве использовал внутреннюю подтяжку, кнопка всего в 5-ти см от контроллера, кнопка использовалась для программирования устройства, все всегда нормально было, но как то раз...
На этом объекте другая фирма смонтировала рекламный щит, при этом поленились крепить свою коробку для коммутации питания щита, и взяли и засунули всю коммутацию в нашу коробку...
Далее в течение какого то времени нас периодически вызывали по поводу отказа нашего блока... всякий раз оказывалось что блок запрограммирован на несоответствующие функции, его тут же настраивали правильно и на какое то время все было ОК... но потом все повторялось...
Так было до тех пор пока я лично не приехал на объект... я конечно удивился куче проводов в нашей коробке, но не придал этому особого значения... и тут....... прям на моих глазах, блок самолично вошел в режим настроек..... и начал скакать туда сюда... я сначала потерял на время дар речи... но потом сообразил, что это - 10А импульсный блок питания, который стоит рядом, а его силовая проводка проходящая прям под контроллерной платой - так колбасят линию кнопки, что и даже программный антидребезг не помогает отсеть такие наводки...
После освобождения нашей коробки от лишних проводов, мы про этот объект постепенно забыли.....

Re: Помогите опросить кнопку

Чт фев 02, 2017 15:41:23

shads писал(а):вроде бы 50-100к

нашол все-таки :)
ATmega8
Изображение
выходит чем больше сопротивление резистора подтяжки тем сильнее он ловит всякие помехи ?

Re: Помогите опросить кнопку

Пт фев 03, 2017 17:31:04

FreshMan писал(а):выходит чем больше сопротивление резистора подтяжки тем сильнее он ловит всякие помехи ?
Естественно...
Только не резистор ловит помехи, а вход контроллера...
При бесконечном сопротивлении подтяжки - вход вообще будет работать как антенна )))

Re: Помогите опросить кнопку

Пт фев 03, 2017 17:56:33

тогда я вот что не возьму в толк: почему специ из AVR поставили подтягивающий резистор номиналом в 20-50кОм ?
почему бы не поставить 4,7кОм ?
они что о подобного рода проблемах не ведали ?
навряд...... :roll:

Re: Помогите опросить кнопку

Пт фев 03, 2017 19:04:25

https://ru.wikipedia.org/wiki/%D0%9F%D0 ... 0%BE%D1%80

Re: Помогите опросить кнопку

Пт фев 03, 2017 20:59:49

FreshMan писал(а):тогда я вот что не возьму в толк: почему специ из AVR поставили подтягивающий резистор номиналом в 20-50кОм ?
почему бы не поставить 4,7кОм ?
Ну просто всему есть разумные пределы... А то можно и продолжить тему, почему они например не сделали внутренний отключаемый последовательный резистор? чтобы можно было сразу светодиод вешать???

Их разработчики вроде не кулибины самоучки, а высококлассные инженеры, наверное уж просчитали что востребовано, что не востребовано, что допустимо, что позводлительно, чтобы вписаться в рамки потребления, цены, размеров и т.д. и т.п.

Ну а у нас, простых кулибинов, как всегда - сколько людей столько и мнений)))
Радуйтесь, что хоть такой резистор есть, хуже было бы если бы они его вообще не реализовали... для многих задач его хватает, ну а если вам нужно выжимать максимумы, тут уж будьте добры навешивайте то что вам необходимо - резисторы, силовые ключи или что там еще может пригодится...

FreshMan писал(а):они что о подобного рода проблемах не ведали ?
Кстати а вы знаете о такого рода проблеме как энергосбережение??? есть же много батарейных устройств... представьте что конкуренты ставят 50к резисторы, а вы поставили 4к7... так вот теперь когда вы будете нажимать на кнопочку своего устройства, ваша батареечка будет садится в 10 раз быстрее чем у конкурентов!!!!! как вам такие перспективы?



Посмотрел у STM8 - примерно та же песня...

Изображение
Вложения
Безымянный.png
(53.61 KiB) Скачиваний: 2493

Интервал нажатия кнопки.

Пт мар 16, 2018 15:56:01

Всем доброго времени суток.
Подскажите пожалуйста начинающему, как реализовать программную обработку условия нажатой кнопки. К примеру, нажата кнопка ST1 - 1 сек, выполняем функцию 1, если время вышло, функцию 2. . Заранее благодарен.

Re: Интервал нажатия кнопки.

Пт мар 16, 2018 16:29:43

тут посмотри

Re: Интервал нажатия кнопки.

Пт мар 16, 2018 19:48:32

тут посмотри

Спасибо. Так как я начинающий, очень с трудом дался вариант со сбросом счетчика после выполнения условия. Для одной кнопки.Но не смог я сделать это для двух кнопок. Мне бы кусок кода глянуть. Пробовал таким методом.

Re: Помогите опросить кнопку

Сб мар 17, 2018 21:17:29

Голову готов расшибить себе... Подскажите пожалуйста где ошибка? Код с этого топика. Работает только на короткое нажатие.
Вложения
butt1.rar
(62.64 KiB) Скачиваний: 454

Re: Помогите опросить кнопку

Сб мар 17, 2018 21:19:51

А где в коде обработка события длинного нажатия ?

Re: Помогите опросить кнопку

Сб мар 17, 2018 22:22:01

А где в коде обработка события длинного нажатия ?

Спасибо за столь быстрый ответ. Я поудалял все, за сутки этих пробных версий ведро написал :(( Вот теперь думаю в самой инициализации ошибки допустил.

Re: Помогите опросить кнопку

Вс мар 18, 2018 07:08:57


Изображение

Re: Помогите опросить кнопку

Вс мар 18, 2018 16:43:26

pyzhman Спасибо огромное! :beer:

Re: Помогите опросить кнопку

Вс мар 18, 2018 17:28:59

Пожалуйста.

Re: Обработка нажатия кнопки в AVR...

Чт янв 10, 2019 22:09:14

Господа, помогите разобраться, третий день мучаюсь.
Имеется три кнопки и три светодиода контрольных. Дребезг победил, но проблема в том, когда держишь одну кнопку нажатой (допустим первую), то любой другой кнопкой можно выполнить действие для первой кнопки, при этом действие прописанное для самой этой кнопки, которую нажимаешь к уже нажатой не выполняется. Сумбурно, но вроде понятно.

Re: Обработка нажатия кнопки в AVR...

Пт янв 11, 2019 09:37:32

Необходим алгоритм для определения последней устойчивой КОМБИНАЦИИ нажатых/активных кнопок, а не "поштучное" оценивание каждой кнопы в отдельности.
8)
Без схемотехники кноп затруднительно подсказать...
:dont_know:

Re: Обработка нажатия кнопки в AVR...

Пт янв 11, 2019 09:47:26

по-моему, надо просто убрать все флаги и тупо выполнять в switch-е нужное действие по коду нажатой кнопки. в этом случае надо учитывать и комбинации нажатых кнопок. при необходимости после switch-а дожидаться отпускания кнопок.

Re: Обработка нажатия кнопки в AVR...

Пт янв 11, 2019 11:17:26

Под ассемблером...
буфер статуса ЛВК получает значение при первом обнаружении какого-либо нажатия
при контроле антидребезга снова чтение
если комбинация совпала с предыдущей - исполняем
если иная - замена содержимого в буфере и повтор антидребезга
если ВСЕ сброшены - возврат в исходное состояние.
:roll:
Ну а по завершении обработки цикл ожидания "полного отпускания".
Как под Си... ешшо не пробовал...
:dont_know:
Ответить