DIGISPARK - HID Кнопка 2-х режимная с удержанием

ATtiny85

Ответить
vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

DIGISPARK - HID Кнопка 2-х режимная с удержанием

#1

Сообщение vfear » 25.01.2024{, 11:20}

Приветствую! :)
Создаю мини проект - "Внешняя кнопка для ПК"
Полезность - назначение различных макросов(действий)
Интерфейс подключения к ПК - USB (эмуляция HID клавиатуры)
Контроллер - DIGISPARK (ATtiny85) usb + кнопка тактовая
Библиотека DigiKeyboard.h

Два режима работы:
Первый режим:
При нажатии внешней кнопки - отправляется (KEY_1)
(Одно нажатие кнопки это отправка одного символа, как на обычной клавиатуре)

Второй режим:
Включение/отключение режима - удержанием кнопки на (6 сек.).
В этом режиме при каждом нажатии внешней кнопки - поочередно отправляются сначала (KEY1), при втором нажатии (KEY2)

Прошу помощи. (В проекте указана отправка в UART но по факту руками заменяю на команду DigiKeyboard.sendKeyStroke(KEY_1) и (KEY_2)
Пока не понимаю, что делаю не так. На нажатие реакции нет. :smile37:

Источники по изучению данной темы:
https://rootsaid.com/digispark-hid-digi ... -commands/
https://habr.com/ru/articles/502794/
Вложения
B1.ino
(3.23 КБ) 7 скачиваний
B1.flp
(3.34 МБ) 10 скачиваний

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

DIGISPARK - HID Кнопка 2-х режимная с удержанием

#2

Сообщение rw6cm » 25.01.2024{, 12:45}

vfear писал(а):
25.01.2024{, 11:20}
Два режима работы:
Первый режим:
При нажатии внешней кнопки - отправляется (KEY_1)
(Одно нажатие кнопки это отправка одного символа, как на обычной клавиатуре)
Второй режим:
Включение/отключение режима - удержанием кнопки на (6 сек.).
В этом режиме при каждом нажатии внешней кнопки - поочередно отправляются сначала (KEY1), при втором нажатии (KEY2)
B2.flp
(3.34 МБ) 9 скачиваний
Ваша схема тоже рабочая, только в настройке блока вместо 600 поставьте 6000 (6сек)
в моем варианте стоит 2сек удержания

Отправлено спустя 43 минуты 44 секунды:
vfear писал(а):
25.01.2024{, 11:20}
Пока не понимаю, что делаю не так. На нажатие реакции нет.
убедится в работе логики надежней св. диодом
Пример на унке
B2.1.flp
(214.54 КБ) 12 скачиваний
Win10-64, FLProg (portable)

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

DIGISPARK - HID Кнопка 2-х режимная с удержанием

#3

Сообщение vfear » 25.01.2024{, 15:29}

Спасибо :smile9:
Работает!
Нюанс: когда держишь кнопку 6 секунд, затем отпускаешь кнопку - сразу отправляется символ, а нужно ждать следующего нажатия.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

DIGISPARK - HID Кнопка 2-х режимная с удержанием

#4

Сообщение rw6cm » 26.01.2024{, 07:12}

vfear писал(а):
25.01.2024{, 15:29}
когда держишь кнопку 6 секунд, затем отпускаешь кнопку - сразу отправляется символ, а нужно ждать следующего нажатия.
B2.2.flp
(203.7 КБ) 14 скачиваний
Здесь есть нюанс с ТТ триггером. Последовательность после нажатия может быть 1-2 или 2-1
Если это критично, надо использовать триггер с сбросом.
Win10-64, FLProg (portable)

vfear
Рядовой
Сообщения: 93
Зарегистрирован: 30.01.2019{, 14:56}
Репутация: 1
Имя: Владимир

DIGISPARK - HID Кнопка 2-х режимная с удержанием

#5

Сообщение vfear » 27.01.2024{, 03:56}

Спасибо большое за помощь! :smile9:

Ответить

Вернуться в «Помогите, а то я "нимагу"»