PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   iCarDS + Arduino = iCarDuino (http://pccar.ru/showthread.php?t=16718)

folv 26.12.2012 19:50

Цитата:

Сообщение от Bersenev (Сообщение 241489)
можно, но тогда придётся в процедурах обработки энкодеров подбирать новый значения

А как подобрать эти значения и в каких строках? Если не трудно:blush:

Bersenev 26.12.2012 20:26

Цитата:

Сообщение от folv (Сообщение 241490)
А как подобрать эти значения и в каких строках? Если не трудно:blush:

Менять надо в этих строках, то что выделено красным

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-портом получить эти значения вращая энкодер.

folv 26.12.2012 20:47

Цитата:

Сообщение от Bersenev (Сообщение 241491)
Менять надо в этих строках, то что выделено красным

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-портом получить эти значения вращая энкодер.

по отдельности для каждого вывода А (key3 != 1 ), В (key3 != 2 ) и кнопка (key3 != 3)
а это общее значение if( encoder1_dt >= 0x226 && encoder1_dt <= 0x2a6 )

Bersenev 26.12.2012 20:57

это кнопка(нажатие)

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 )

Дело в том, что для выводов А и В есть три значения сопротивлений, а не два. И порядок смены этих сопротивлений и определяет в какую сторону вращается энкодер.

folv 26.12.2012 21:04

Цитата:

Сообщение от Bersenev (Сообщение 241495)
это кнопка(нажатие)

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 )

Дело в том, что для выводов А и В есть три значения сопротивлений, а не два. И порядок смены этих сопротивлений и определяет в какую сторону вращается энкодер.

так это максимальное и минимальное значение в шестнадцатеричном отображении?

Bersenev 26.12.2012 21:07

Цитата:

Сообщение от folv (Сообщение 241496)
так это максимальное и минимальное значение в шестнадцатеричном отображении?

Да, но можешь и в десятичном виде их записать. Просто я получал значения сопротивлений в шестнадцатеричном виде, поэтому так и записал

folv 26.12.2012 21:26

Цитата:

Сообщение от Bersenev (Сообщение 241497)
Да, но можешь и в десятичном виде их записать. Просто я получал значения сопротивлений в шестнадцатеричном виде, поэтому так и записал

А можно скетч для получения значений и в какой программе-терминал получить :blush:, а в этом я не очень:no:

Bersenev 26.12.2012 21:37

Цитата:

Сообщение от folv (Сообщение 241498)
А можно скетч для получения значений и в какой программе-терминал получить :blush:, а в этом я не очень:no:

Здесь сложнее, я получаю эти данные через отладчик скина, модифицирую плагин и скетч, а для такого варианта придётся много чего установить.

Самый простой вариант это найти ближайшие по номиналу сопротивления и подкорректировать значения расширяя диапозоны.

Или бери скетч для резестивных кнопок от Chip-а, он фактически выдаёт значения сопротивлений

folv 26.12.2012 21:47

Цитата:

Сообщение от Bersenev (Сообщение 241499)
Здесь сложнее, я получаю эти данные через отладчик скина, модифицирую плагин и скетч, а для такого варианта придётся много чего установить.

Самый простой вариант это найти ближайшие по номиналу сопротивления и подкорректировать значения расширяя диапозоны.

Или бери скетч для резестивных кнопок от Chip-а, он фактически выдаёт значения сопротивлений

скетч для резестивных кнопок от Chip-а
получились значения Ноткей
А = 510
В = 320
и еще 243
кнопка 580

Вставлял их на 20 больше и меньше.

не работает

Bersenev 26.12.2012 21:58

Цитата:

Сообщение от folv (Сообщение 241500)
скетч для резестивных кнопок от Chip-а
получились значения Ноткей

Дай ссылку на скетч или сам скетч


Часовой пояс GMT +4, время: 19:44.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot