![]() |
Цитата:
|
Цитата:
if( encoder1_dt >= 0x226 && encoder1_dt <= 0x2a6 ) if( encoder1_dt >= 0x3E0 && encoder1_dt <= 0x410 && encoder1_key3 != 1 ) if( encoder1_dt >= 0xA0 && encoder1_dt <= 0xF0 && encoder1_key3 != 2 ) if( encoder1_dt >= 0x1A0 && encoder1_dt <= 0x200 && encoder1_key3 != 3 ) а вот что бы получить нужные значения наверно придётся написать скетч как для резестивных кнопок и через какую-нибудь программу-терминал общения с com-портом получить эти значения вращая энкодер. |
Цитата:
а это общее значение if( encoder1_dt >= 0x226 && encoder1_dt <= 0x2a6 ) |
это кнопка(нажатие)
if( encoder1_dt >= 0x226 && encoder1_dt <= 0x2a6 ) А это вращение влево или в право. if( encoder1_dt >= 0x3E0 && encoder1_dt <= 0x410 && encoder1_key3 != 1 ) if( encoder1_dt >= 0xA0 && encoder1_dt <= 0xF0 && encoder1_key3 != 2 ) if( encoder1_dt >= 0x1A0 && encoder1_dt <= 0x200 && encoder1_key3 != 3 ) Дело в том, что для выводов А и В есть три значения сопротивлений, а не два. И порядок смены этих сопротивлений и определяет в какую сторону вращается энкодер. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Самый простой вариант это найти ближайшие по номиналу сопротивления и подкорректировать значения расширяя диапозоны. Или бери скетч для резестивных кнопок от Chip-а, он фактически выдаёт значения сопротивлений |
Цитата:
получились значения Ноткей А = 510 В = 320 и еще 243 кнопка 580 Вставлял их на 20 больше и меньше. не работает |
Цитата:
|
Часовой пояс GMT +4, время: 09:59. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot