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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Разработка устройств (http://pccar.ru/forumdisplay.php?f=18)
-   -   Контроллер резистивного сенсорного экрана, совместимый с Андроид. (http://pccar.ru/showthread.php?t=18943)

FPatrol 02.07.2013 17:16

Митрич18 подскажи как сделал на реле поподробней.

s.m. 02.07.2013 17:43

Цитата:

Сообщение от FPatrol (Сообщение 262970)
Митрич18 подскажи как сделал на реле поподробней.

Создайте плз, себе отдельную ветку для этого, не захламляйте эту. Эта ветка про сам контроллер.

ilia221165 04.07.2013 19:09

Моя радость поутихла: Имеющийся у меня Archon 10I G9 не работает с нашим устройством.

YAM1966 04.07.2013 20:46

http://pccar.ru/showthread.php?t=19333

MakcV 07.07.2013 11:56

Попробовал повторить(первый опыт так сказать:big:), использовалась carduino nano на atmega 328p.
Прошивку залил по инструкции от s.m.(правда изменил программатор), но в устройствах так и остался один последовательный порт, при попытке соединения в калибраторе пишет "от устройства не получен правильный отклик".
Не подскажите куда копать?:rolleyes2:

zyxel812 07.07.2013 14:06

Прошивка только для ATmega32u4. На вашей плате контроллер подключен не напрямую к USB порту, а через микросхему FT232RL которая и является виртуальным последовательным портом и только им. Ищите плату с ATmega32u4 на борту, на других работать не будет.

MakcV 07.07.2013 14:10

Цитата:

Сообщение от zyxel812 (Сообщение 263397)
Прошивка только для ATmega32u4. На вашей плате контроллер подключен не напрямую к USB порту, а через микросхему FT232RL.

Точно, вы ведь писали об этом, только дошло что имелось ввиду:rolleyes2:
Ушел искать в общем...

AngelOfGrief 12.07.2013 20:25

Zyxel812, я вчера оттестировал тач на новом девайсе на андроиде 4.1.2. Небольшая сложность в том, что тач намертво уже стоит в магнитоле, а она в машине, а андроид-комп съёмный в отдельном блоке. Т.е. для перешивки тача надо будет нести ноут в машину.

У меня скомпилирован вот такой вариант:

if (touched) DigitizerReport->Button=0b010001; //так работает в Андроид
if (touched) DigitizerReport->Button=0b110001; //так работает в Винде


Т.е. обе строки раскомментированы. Я изначально проверял тач на винде и на старом девайсе (android 2.3), всё работало.

На андроид 4.1.2 всё выглядит оч. странно. Нажатие регистрируется в двух точках экрана, в противоположных! Ощущение, что одновременно работает и эмуляция мыши и тача. Включил в режиме отладки mouse traces. Рисую стилусом круг: курсор какое-то время правильно следует за стилусом, потом вдруг перескакивает по диагонали и круг начинает рисоваться в обратном направлении. Заметил, что если нажимать очень кратко, можно добиться правильного срабатывания. По значкам попасть можно, но на клавиатуре набрать почти ничего не получается...

Я изначально тач распаял зеркально, но исправил калибровкой: часть коэффициентов отрицательные. Создаётся впечатление, что эмулируемая мышь работает "как есть", а тач -- с учётом коэффициентов. Или наоборот...

Что это может означать?

Alex_St 12.07.2013 21:06

Если обе строки раскомментированы - то будет работать только вторая. Поэтому надо использовать либо одну, либо вторую. Возможно, в этом проблема и есть.

zyxel812 12.07.2013 22:10

Да, в таком случае работает по второй строке, т.е. как под виндой. Я изначально проверял только под Андроид 4.1. и у меня на нем все прекрасно, без глюков. Так вот, если в нем использовать виндовый вариант, то не срабатывали мелкие элементы, особенно меню. Т.е., андроид как бы показывает что есть прикосновение, подсвечивает точку касания в нужном месте, но пункт меню не выбирается. Однако, я бы предположил, что ваши глюки как раз из-за отрицательных коэффициентов, я не предусматривал работу с отрицательными числами при вычислении координат, только вот в таком случае и на Андроид 2.3. бы тоже глючило. Если можете, сделайте видео глюков, тогда можно будет предположить по конкретней.

mitsubi 12.07.2013 22:25

Уважаемый zyxel812,
а Вы не задумывались над вариантом реализации вашего решения для двух точек касания одновременно (частный случай мультитача)?

zyxel812 12.07.2013 23:49

Задумывался, но обещаний давать не буду. В ближайшее время приступаю к сборке мониторной части своей "головы" мне там понадобится контроллер и кнопок, и тача. В плату заложу такую возможность, но над прошивкой "колдовать", скорее всего, буду значительно позже, если выйдет, результаты обнародую:)

mitsubi 13.07.2013 00:16

Цитата:

Сообщение от zyxel812 (Сообщение 264130)
Задумывался, но обещаний давать не буду. В ближайшее время приступаю к сборке мониторной части своей "головы" мне там понадобится контроллер и кнопок, и тача. В плату заложу такую возможность, но над прошивкой "колдовать", скорее всего, буду значительно позже, если выйдет, результаты обнародую:)

желаю удачных экспериментов -- буду с интересом ждать продолжения...
P.S.
если не секрет, по мониторной части вашей "головы" не расскажете подробности?

AngelOfGrief 13.07.2013 00:45

Отрицательные коэфф-ты -- а это ж не важно, формулы вычисления координат ведь написаны в общем виде, и работают в любом варианте. Просто есть ощущение, что происходит борьба между обычными координатами и зеркальными. Т.е. прикосновение не регистрируется чётко нигде, курсор постоянно пляшет.

Да, проще конечно скомпилить вариант под андроид, но хотелось бы понять в чём проблема...

Вот видео:

http://youtu.be/c4DYuXDdyno

Видно как на 0:27-0:30 курсор начинает верно следовать за карточкой, но затем на 0:31 скачком уходит в противоположную часть экрана, при том, что я не прерываю нажатие и движение.

zyxel812 13.07.2013 10:48

Очень похоже на то, что сам Андроид не правильно обрабатывает "репорт" и путает x y местами. Я бы попробовал другую прошивку планшета для начала. Чуть позже посмотрю прошивку контроллера, на предмет использования отрицательных коэффициентов. У меня там используются без знаковые переменные. В большинстве случаев всё будет отрабатывать правильно, но некоторые операции будут иметь разный результат в зависимости от того, как они интерпретируют число, как со знаком или без.

AngelOfGrief 13.07.2013 14:35

Цитата:

Сообщение от zyxel812 (Сообщение 264157)
Очень похоже на то, что сам Андроид не правильно обрабатывает "репорт" и путает x y местами. Я бы попробовал другую прошивку планшета для начала.

Это не планшет, это медиабокс от Geniatech:

http://pccar.ru/showthread.php?t=19234

Он той же фирмы и на том же чипсете что предыдущий, к-й работал с тачем.

Менять прошивку... Это слишком. )) Я для начала хочу попробовать переключить на "андроид клик" вашу прошивку, думаю, заработает. Хотя бы добиться стабильности определения координат чтобы понять куда копать дальше.

zyxel812 13.07.2013 16:25

Цитата:

Сообщение от mitsubi (Сообщение 264136)
если не секрет, по мониторной части вашей "головы" не расскажете подробности?

Когда будет что-то фотографировать, начну рабочий журнал. Пока могу сказать что это будет очередной проект по замене "потрохов" штатной головы.

Цитата:

Сообщение от AngelOfGrief (Сообщение 264163)
Я для начала хочу попробовать переключить на "андроид клик" вашу прошивку, думаю, заработает. Хотя бы добиться стабильности определения координат чтобы понять куда копать дальше.

Раз уж будете перешивать контроллер, то возьмите последнюю прошивку с первого сообщения темы. И, что бы избавится от отрицательных коэффициентов, можно переопределить константы, определяющие подключение тача. В последнем могу помочь, если напишете как у вас подключен тач.

AngelOfGrief 13.07.2013 16:38

Цитата:

Сообщение от zyxel812 (Сообщение 264165)
Раз уж будете перешивать контроллер, то возьмите последнюю прошивку с первого сообщения темы. И, что бы избавится от отрицательных коэффициентов, можно переопределить константы, определяющие подключение тача. В последнем могу помочь, если напишете как у вас подключен тач.

Так в последней прошивке сделано управление винда/андроид по уровню на какой-то ножке, а я разбирать магнитолу не хотел бы...

zyxel812 13.07.2013 20:07

Там по умолчанию как раз Андроид.

AngelOfGrief 13.07.2013 20:50

Цитата:

Сообщение от zyxel812 (Сообщение 264173)
Там по умолчанию как раз Андроид.

А, хорошо, ок. А там пуллапы есть в микроконтроллере? А то нога вроде как в воздухе болтается, не будет проблем от этого?

zyxel812 13.07.2013 21:50

есть

s.m. 18.07.2013 13:50

А есть ли интерес к емкостным тачам?

Есть такой любопытный I2C тач-контроллер - FT5x06.
Стоит много в каких емкостных тач-панелях

Вот datasheet на него

http://www.displayfuture.com/Display...ler/FT5x06.pdf

Вот app note
http://www.newhavendisplay.com/app_notes/FT5x06.pdf

Slave I2C адрес у него 0x38

Если сделать вариант контроллера, совместимый с этим тачем - это будет бомба.
Я готов даже купить готовый девайс, да я думаю, здесь немало найдется желающих.
Или поучаствовать в разработке...

Как я понимаю, в App note даже кусок кода есть.
Нужно только исправить в текущей прошивке это место, где приходят данные от контроллера тача.
Калибровать его не нужно, возможно в калибровочной утилите или просто замыканием каких-то ног на атмеге выбрать, какой именно из FT5x контроллер подключен.

admin 18.07.2013 14:33

Где купить такой тачь?

s.m. 18.07.2013 15:52

Цитата:

Сообщение от admin (Сообщение 264596)
Где купить такой тачь?

Например, здесь (FT5306DE4)

http://www.aliexpress.com/wholesale?...20130718024935

Он же чутка дешевле - 100 юаней

http://item.taobao.com/item.htm?spm=...id=26216376730

Вот немного инфы по нему

http://водолей-нск.рф/price/Capasiti.../?parts&d=1359

mas_u 18.07.2013 16:16

Цитата:

Сообщение от s.m. (Сообщение 264585)
Калибровать его не нужно, возможно в калибровочной утилите или просто замыканием каких-то ног на атмеге выбрать, какой именно из FT5x контроллер подключен.

Мне кажется калибровка не нужна в том случае, если host точно знает разрешение подключенного экрана.
Если делать через промежуточный контроллер то это, наверно, не прокатит.

Да и вообще логичнее, в этом случае, подключать тач напрямую к процу через I2C, если конечно есть такая возможность (всякие там платы с кучей интерфейсных выводов). Необходимо будет только настроить и собрать драйвер.

s.m. 18.07.2013 16:20

Цитата:

Сообщение от mas_u (Сообщение 264605)
Мне кажется калибровка не нужна в том случае, если host точно знает разрешение подключенного экрана.
Если делать через промежуточный контроллер то это, наверно, не прокатит.

Да и вообще логичнее, в этом случае, подключать тач напрямую к процу через I2C, если конечно есть такая возможность (всякие там платы с кучей интерфейсных выводов). Необходимо будет только настроить и собрать драйвер.

Тогда получится планшет в итоге, что не очень интересно, ибо есть уже готовые варианты.
Тут интереснее получить емкостной тач с usb или блютузом

mas_u 18.07.2013 16:46

Цитата:

Сообщение от s.m. (Сообщение 264606)
Тогда получится планшет в итоге, что не очень интересно, ибо есть уже готовые варианты.
Тут интереснее получить емкостной тач с usb или блютузом

Вариантов конечно много, но ни один из них не имеет аппаратного входа для камеры з.х.

В случае же с платой такая возможность появляется через дополнительный lvds контроллер - который готов к работе в течении секунды после подачи питания.
Самое интересное, что плату от планшета с уже подключенным тачем также можно попытаться использовать. В большинстве планшетов есть hdmi выход, который можно подключить к lvds контроллеру.

100% возникнет геометрическая разница в картинке выводимой непосредственно на планшетную матрицу и через lvds контроллер на внешнюю. Но мне кажется, что работу тача с внешней матрицей можно скорректировать программно в настройках драйвера.

mas_u 18.07.2013 16:58

Вообще, тоже хочу попробовать подключить ft5x от планшета к своей железяке. Так как, по сравнению с планшетом, текущий тач менее чувствителен. Например, через тонкое стекло неработает, в то время как, тач в связке с ft5x работает через тонкое стекло.

Правда, судя по 4pda, нет китайских планшетов с контроллером ft5x, в которых нет глюков этого самого тача.
Хотя из 2 планшетов с тачем ft5x, которые были у меня, глюки в работе тача наблюдались только при подключении родной зарядки.

mitsubi 18.07.2013 19:35

"резистивная" тема внезапно стала "емкостной"? ... общим остался только Андрюша

s.m. 18.07.2013 20:31

Цитата:

Сообщение от mitsubi (Сообщение 264623)
"резистивная" тема внезапно стала "емкостной"? ... общим остался только Андрюша

тут предлагается из существующей разработки сделать форк. Что не так?

admin 18.07.2013 21:57

Цитата:

Сообщение от s.m. (Сообщение 264603)
Например, здесь (FT5306DE4)

http://www.aliexpress.com/wholesale?...20130718024935

Он же чутка дешевле - 100 юаней

http://item.taobao.com/item.htm?spm=...id=26216376730

Вот немного инфы по нему

http://водолей-нск.рф/price/Capasiti.../?parts&d=1359

Я думаю что будет проблемно найти к нему ответную часть разъема

zyxel812 20.07.2013 15:39

Теоретически, возможно сделать посредника между контроллером емкостного тача и компьютером на микроконтроллере с usb портом. Я бы даже попробовал. Вот только у меня специфические размеры экрана - 6,5". Сколько не искал, емкостной тачскрин такого размера не нашел. Мало ли кому попадался, дайте знать где, я закажу и попробую сделать, результаты выложу.
С другой стороны, есть такой большой мультитач монитор Dell S2240T, к компьютеру тач подключается по USB и работает как Винде, так и в Линуксе. Это значит что есть готовый usb контроллер мультитача. В Линуксе он определяется как: USB HID v1.10 Device [Advanced Silicon S.A. CoolTouch(TM) System] Может просто стоит поискать?

YAM1966 20.07.2013 19:40

Цитата:

Сообщение от zyxel812 (Сообщение 264758)
........
С другой стороны, есть такой большой мультитач монитор Dell S2240T, к компьютеру тач подключается по USB и работает как Винде, так и в Линуксе. Это значит что есть готовый usb контроллер мультитача. В Линуксе он определяется как: USB HID v1.10 Device [Advanced Silicon S.A. CoolTouch(TM) System]

А можно мне с него дескрипторы получить? :blush:
Могу через тим-вьювер их удаленно снять.

zyxel812 20.07.2013 23:55

Вложений: 1
Оно?

YAM1966 21.07.2013 11:03

Нет, это не то... :no2:

zyxel812 21.07.2013 13:58

Вообще-то это дескриптор устройства в текстовом виде. Тогда пишите инструкцию, как его получить в нужном вам виде, сделаю.

YAM1966 21.07.2013 14:48

Тогда в личку

AngelOfGrief 28.07.2013 02:33

В общем, сегодня опять пытался что-то получить от тача под Jelly Bean... Пробовал разные прошивки: из первого поста, свои, скомпилированные, соответственно, с с поочерёдным закомментированием строк

if (touched) DigitizerReport->Button=0b010001; //так работает в Андроид
if (touched) DigitizerReport->Button=0b110001; //так работает в Винде


итд.

Никакого результата. По-прежнему курсор прыгает. Но установив прогу для рисования, заметил что происходит: какое-то время линия правильно идёт за стилусом, потом скачком перемещается и начинает идти под 90 градусов: если веду слева направо, начинает идти сверху вниз и наоборот. Впечатление, что скачком координаты X и Y меняются местами.

Калибровку запускал с ноутбука несколько раз, калибровка работает и координаты показывает без скачков (если отметить галочку "show state"), однако сама винда (Win XP) не реагирует на тач никак.

Не могу понять в чём беда... А ещё, почему-то при работе тача в Jelly Bean появляется указатель мышки. Так разве должно быть? На андроид 2.1.3 (где всё работало) указателя не было.

YAM1966 28.07.2013 11:20

Да, для обычного тача курсор будет, но его можно прятать типа так:


При использовании мультитач USB HID его не будет (эмуляция 2-х касаний на резистивном таче):


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

s.m. 28.07.2013 12:56

Цитата:

А ещё, почему-то при работе тача в Jelly Bean появляется указатель мышки. Так разве должно быть?
У меня на свистке (JB 4.1.1), к которому подключен это контроллер - все ок, но да, в момент касания появляется указатель, который потом исчезает. Это даже удобно - видишь, куда попал


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

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