Страница 1 из 1

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

Добавлено: 25 янв 2024, 11:20
vfear
Приветствую! :)
Создаю мини проект - "Внешняя кнопка для ПК"
Полезность - назначение различных макросов(действий)
Интерфейс подключения к ПК - 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/

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

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

Отправлено спустя 43 минуты 44 секунды:
vfear писал(а): 25 янв 2024, 11:20 Пока не понимаю, что делаю не так. На нажатие реакции нет.
убедится в работе логики надежней св. диодом
Пример на унке
B2.1.flp

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

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

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

Добавлено: 26 янв 2024, 07:12
rw6cm
vfear писал(а): 25 янв 2024, 15:29 когда держишь кнопку 6 секунд, затем отпускаешь кнопку - сразу отправляется символ, а нужно ждать следующего нажатия.
B2.2.flp
Здесь есть нюанс с ТТ триггером. Последовательность после нажатия может быть 1-2 или 2-1
Если это критично, надо использовать триггер с сбросом.

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

Добавлено: 27 янв 2024, 03:56
vfear
Спасибо большое за помощь! :smile9: