вопрос к ТС а как бы еще к вашему "классу" приделать счетчик нажатий.
для приделывания к классу счётчика нажатий, я должен быть убеждён в его необходимости.
saftik, обоснуйте необходимость счётчика нажатий в коде класса - какая от него польза?
спасибо что быстро ответили.
в моем случае мне бы он (счетчик) пригодился.
патаюсь написать програму но все время какие-то нестыковки. решил писать взяв за основу ваш класс.
имееться двойная дверь в квартиру.
на каждой двери установлена кнопка.
door_IN
door_OUT
задача .
если открыли одну дверь и в течении времени "timer" не открыли вторую
значит это вор пытаеться зайти ну либо зашел через балкон и пытаеться выйти.
так вот дошел до момента сброса программы в исходное состояние.
думаю чтоб зброс осуществлялся так.
1) если была сработка
2) закрываем наружнюю дверь door_out
3) 5 раз открываем закрываем внутреннюю дверь door_in
if (couter == 5) програма возвращаеться к нормальному режиму
вот тут то мне и нужен счетчик
рекомендации, если вы желаете получить вменяемый комментарий от Клапауций:
1. использовать оригинальный код класс титановый велосипед для тактовой кнопки.
2. если вам избыточен функционал класс титановый велосипед для тактовой кнопки - достаточно закомментировать этот функционал, но не дописывать свой и не редактировать авторский.
3. автор класс титановый велосипед для тактовой кнопки оставляет за собой право не выносить себе мозг анализом корректности алгоритмов применения кнопок ползателями класс титановый велосипед для тактовой кнопки.
if (flag_alarm==true && digatalRead(door_OUT)==LOW) // если была сработка тревоги и мы закрыли наружнюю дверь
этот код в теме, где обсуждается код класс титановый велосипед для тактовой кнопки, более чем странен - для реализации этого кода класс титановый велосипед для тактовой кнопки не нужен.
если атмин пердоставит мне парва модерировать эту тему, то я, возможно, смогу поправить сломанные дропбоксом ссылки и, заодно, привести тему в божеский вид, очистив ея от бесполезного флуда.
иначе, можете выбрасывать тему в мусорку, как не содержащую актуальных версий кода.
теоретически можно, если нажимать не более одной кнопки одновременно.
если конструктивно матрица кнопок не позволяет установку диодов на каждую кнопку, то ставь диоды на пины, обслуживающие матрицу, работающие в режиме OUTPUT - без диодов рискуешь сжечь эти пины.
пинам я так понял только в первых версиях можно было задать имя, а теперь только номер из массива. так? лично мне не очень удобно запоминать/просматривать какой элемент массива=какая кнопка
пинам я так понял только в первых версиях можно было задать имя, а теперь только номер из массива. так? лично мне не очень удобно запоминать/просматривать какой элемент массива=какая кнопка
мне - удобно. и неудобно запоминать номера пинов, вкуда я там чего подключил - один раз забил пины и считай от "0" до...
теоретически можно, если нажимать не более одной кнопки одновременно.
если конструктивно матрица кнопок не позволяет установку диодов на каждую кнопку, то ставь диоды на пины, обслуживающие матрицу, работающие в режиме OUTPUT - без диодов рискуешь сжечь эти пины.
я забыл, что можно переключать pinMode из OUTPUT в INPUT и обратно на лету и не париться с торчащими наружу OUTPUT'ами.
теперь в матрице будет один актуальный пин OUTPUT, а остальные в это время будут в безопасном INPUT - можно все пины матрицы замкнуть и ничего страшного не произойдёт.
в чём профит разделения файла класса на .h и .cpp ?
где это нужно делать и почему лично мне эта необходимость неявна и бессмысленна?
Это очнь сложный вопрос, что лучше. Так же невозможно сказать, что правильнее . Описывать методы класса внутри класса или выводить наружу. Так что я делаю по разному. И еще. Почему-то все чужие библиотеки описываю под себя и свои задачи. Так что могу сводить библиотеки в единый файл, или разбить на несколько. Но как бы не было у меня скетч почему-то выходит в нескольких файлах.
вопрос к ТС а как бы еще к вашему "классу" приделать счетчик нажатий.
вопрос к ТС а как бы еще к вашему "классу" приделать счетчик нажатий.
для приделывания к классу счётчика нажатий, я должен быть убеждён в его необходимости.
saftik, обоснуйте необходимость счётчика нажатий в коде класса - какая от него польза?
вопрос к ТС а как бы еще к вашему "классу" приделать счетчик нажатий.
для приделывания к классу счётчика нажатий, я должен быть убеждён в его необходимости.
saftik, обоснуйте необходимость счётчика нажатий в коде класса - какая от него польза?
спасибо что быстро ответили.
в моем случае мне бы он (счетчик) пригодился.
патаюсь написать програму но все время какие-то нестыковки. решил писать взяв за основу ваш класс.
имееться двойная дверь в квартиру.
на каждой двери установлена кнопка.
door_IN
door_OUT
задача .
если открыли одну дверь и в течении времени "timer" не открыли вторую
значит это вор пытаеться зайти ну либо зашел через балкон и пытаеться выйти.
так вот дошел до момента сброса программы в исходное состояние.
думаю чтоб зброс осуществлялся так.
1) если была сработка
2) закрываем наружнюю дверь door_out
3) 5 раз открываем закрываем внутреннюю дверь door_in
if (couter == 5) програма возвращаеться к нормальному режиму
вот тут то мне и нужен счетчик
Хотя да, счетчик нужен не в калассе.
нужно считать не все нажатия а только при условиb
if (flag_alarm==true && digatalRead(door_OUT)==LOW) // если была сработка тревоги и мы закрыли наружнюю дверь
Хотя да, счетчик нужен не в калассе.
верно - нужные вам счётчики вы можете написать в своём скетче.
например:
далее...
if (flag_alarm==true && digatalRead(door_OUT)==LOW) // если была сработка тревоги и мы закрыли наружнюю дверь
этот код в теме, где обсуждается код класс титановый велосипед для тактовой кнопки, более чем странен - для реализации этого кода класс титановый велосипед для тактовой кнопки не нужен.
если атмин пердоставит мне парва модерировать эту тему, то я, возможно, смогу поправить сломанные дропбоксом ссылки и, заодно, привести тему в божеский вид, очистив ея от бесполезного флуда.
иначе, можете выбрасывать тему в мусорку, как не содержащую актуальных версий кода.
del
del
del
анонс велосипеда с подключением кнопок матрицей
а без диодов можно?
а без диодов можно?
А заодно и без кнопок
а без диодов можно?
А заодно и без кнопок
ну, к чему этот пустой высер?
а без диодов можно?
теоретически можно, если нажимать не более одной кнопки одновременно.
если конструктивно матрица кнопок не позволяет установку диодов на каждую кнопку, то ставь диоды на пины, обслуживающие матрицу, работающие в режиме OUTPUT - без диодов рискуешь сжечь эти пины.
а понятно
пинам я так понял только в первых версиях можно было задать имя, а теперь только номер из массива. так? лично мне не очень удобно запоминать/просматривать какой элемент массива=какая кнопка
пинам я так понял только в первых версиях можно было задать имя, а теперь только номер из массива. так? лично мне не очень удобно запоминать/просматривать какой элемент массива=какая кнопка
мне - удобно. и неудобно запоминать номера пинов, вкуда я там чего подключил - один раз забил пины и считай от "0" до...
*не "номер", а "индекс массива пинов".
номера пинов то понятно. я привык им имена давать по выполняемой функции. меню вверх вниз. ну ладно. черзе define должно получится
номера пинов то понятно. я привык им имена давать по выполняемой функции. меню вверх вниз. ну ладно. черзе define должно получится
дело хозяйское, но так или иначе - это будут масивы пинов и масивы экземпляров класса.
а без диодов можно?
теоретически можно, если нажимать не более одной кнопки одновременно.
если конструктивно матрица кнопок не позволяет установку диодов на каждую кнопку, то ставь диоды на пины, обслуживающие матрицу, работающие в режиме OUTPUT - без диодов рискуешь сжечь эти пины.
!!!это был неверный ответ.
без диодов можно.
а что изменилось?
а что изменилось?
я забыл, что можно переключать pinMode из OUTPUT в INPUT и обратно на лету и не париться с торчащими наружу OUTPUT'ами.
теперь в матрице будет один актуальный пин OUTPUT, а остальные в это время будут в безопасном INPUT - можно все пины матрицы замкнуть и ничего страшного не произойдёт.
хорошо
del
NKRO - No Key Rollover
просмотрел примеры юзания матрицы кнопок - все, почему-то, превращают матрицу кнопок в клавиатуру.
ну, ок.
текстовый редактор на LCD1602:
Я обычно превращаю матрицу кнопок в .... вы будете смеяться в матрицу кнопок. У клавиатуры программный интерфейс кривой почему-то выходит.
У клавиатуры программный интерфейс кривой почему-то выходит.
нормальный такой себе интерфейс - ровный
print(char_generator[test1.KRO1_y][test1.KRO1_x]);
// печатать символ
Нормальный интерфейс для клавиатуры это Serial. Клавиатура нужна для набора строки и совмещаться с другими потоками.
Нормальный интерфейс для клавиатуры это Serial. Клавиатура нужна для набора строки и совмещаться с другими потоками.
для ввода параметров клавиатура не нужна?
ты видишь здесь #437 сериал?
del
del
Осталось повесить ее на канал I2C c помощью 2-х модулей на которые обычно дисплей вешают.
Осталось повесить ее на канал I2C c помощью 2-х модулей на которые обычно дисплей вешают.
ну, не знаю - пока не совсем себе представляю, что будет возвращать фейс I2C.
Уважаемый Клапауций 112 !
Подскажите пожалуйста :
Как сделать чтоб при долгом нажатии не срабатывало короткое нажатие.
Спасибо !
код класса не хранит историю твоих действий, поэтому событие удержания не влияет на дизайн поведения класса - click_up произойдёт.
Как отделить мух от котлет в коде : короткое нажатие - действие первое, долгое нажатие - действие второе .
У меня при долгом нажатии срабатывают оба действия .
Как отделить мух от котлет в коде : короткое нажатие - действие первое, долгое нажатие - действие второе .
У меня при долгом нажатии срабатывают оба действия .
во-первых - у тебя не короткое и долгое нажатие, а: "отпускание кнопки" и "удержание кнопки".
во-вторых - я тебе уже ответил здесь #397
Как отделить мух от котлет в коде
Очень просто
Как отделить мух от котлет в коде
Очень просто
Евгений спасибо ! Вы всегда мне помогаете .
Сделал по вашему совету . Использовал библиотеку ClickButton вместо велосипеда .
Помогло? Ну, тогда я рад!
титановый велосипед для кнопки. (v 7.0)
в пень дефайны - настраиваем матрицы и/или кнопки индивидуально и передаём параметры во время опроса.
одна кнопка ест 5 байт оперативки - меньше не будет, кого не устраивает - пилите гирю
в чём профит разделения файла класса на .h и .cpp ?
где это нужно делать и почему лично мне эта необходимость неявна и бессмысленна?
в чём профит разделения файла класса на .h и .cpp ?
где это нужно делать и почему лично мне эта необходимость неявна и бессмысленна?
Это очнь сложный вопрос, что лучше. Так же невозможно сказать, что правильнее . Описывать методы класса внутри класса или выводить наружу. Так что я делаю по разному. И еще. Почему-то все чужие библиотеки описываю под себя и свои задачи. Так что могу сводить библиотеки в единый файл, или разбить на несколько. Но как бы не было у меня скетч почему-то выходит в нескольких файлах.
Это очнь сложный вопрос, что лучше.
нда. объяснил...