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

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

AngelOfGrief 27.04.2013 12:49

В общем, кому интересно, Dreamer Nano 4.0 -- это американская версия Arduino Micro, который я без проблем купил за 1100р из наличия в Мск. Он тоже на Atmel 32U4, такого же размера, но немного отличается расположение компонентов на плате. Линии A0-A3 совпадают с указанными в первом посте.

zyxel812 27.04.2013 21:56

Всё получилось? Работает?

AngelOfGrief 27.04.2013 23:24

Как прошить hex файл в эту плату:

Командная строка:

avrdude -v -p atmega32u4 -c avr109 -P COM19 -b 57600 -D -Uflash:w:TouchController.hex:i

В тек. папке должен лежать файл avrdude.conf

Прошивку нужно делать в режиме бутлоадера (когда светодиод "дышит"), для этого жмём сброс и ловим момент когда запустить avrdude!
Либо просто передёргиваем USB кабель: в момент подключения он всегда видится как bootloader -- в этот момент и нужно запускать avrdude.
COM порт указываем бутлоадера (их там два устанавливается!). В принципе плату можно перевести в бутлоадер открытием COM порта на 1200 baud,
но тогда надо писать bat файл.

Винда обнаруживает ZD Touch Controller, устанавливаем прилагаемые дрова.

AngelOfGrief 28.04.2013 14:22

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

UPD: К Андроиду подключил, работает! :) От растерянности не знал на чём проверить, в итоге не нашёл ничего лучше калькулятора. )))
(тач ещё не смонтирован на дисплей, лежит на столе)

Правда через USB хаб не пашет, видимо, питания не хватает, только напрямую. Мой контроллер клавы на PIC работает через хаб нормально.
Видимо, это к вопросу очень древней полемики о низком энергопотреблении PIC и высоком Atmel. )))

Разъёмчик для тача обнаружился в старом DVD-RW.

Alex_St 28.04.2013 15:27

Скорее проблема не в потреблении, а в софте или в уровнях сигнала.

AngelOfGrief 28.04.2013 22:45

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

Вычитал в инете, что для избежания помех нужно ставить пулапы и кондёры 22 пф (защита от ВЧ помех LCD). Но пулапы как я понял глядя на исходник есть в м/к.

Одну проблему нашёл: дребезг. Если немного дольше держать, по несколько раз кнопки нажимаются. Если кратко -- нормально.
И ещё присутствует дребезг по X и Y, это заметно, например, когда передвигаешь движки эквалайзера в плеере: держишь на месте, а он ощутимо дрыгается вверх/вниз.

Я попробовал подключать параллельно кондёры, не помогает. Реакция становится тупее, а дребезг остаётся. Т.е. дребезжит АЦП м/к. Надо сделать гистерезис: сравнивать значения двух соседних считываний АЦП и если они при условии неотпускания пера отличаются слишком сильно, считать последнюю выборку недействительной.

UPD:

Пересобрал билд с поддержкой винды, подключил тач к компу. Обнаружил, что при выключенной магнитоле курсор ведёт себя намного спокойнее: дребезг ограничен 1 шагом в обеих координатах. Т.е. дают себя знать помехи от LCD магнитолы (он с высоковольтной подсветкой). Думаю теперь как это дело побороть...

А вот кстати аналогичный проектик:

http://www.radiolocman.com/shem/sche....html?di=64606

2010 года. )))

AngelOfGrief 01.05.2013 20:02

Вложений: 1
Почитав описание работы хардварных тач-контроллеров, немного доработал программу.

Вкратце смысл: вместо одного считывания берём серию последовательных считываний (по каждой координате отдельно, разумеется), затем из полученного массива вычисляем наиболее часто встречающееся значение (не среднее, а именно наиболее частое!). Это позволяет отсеять случайные пики/помехи. Я сделал 10 считываний, это можно изменить (константа bfs). Но бОльшие значения не улучшают результат, а только замедляют работу программы.

В результате этих изменений удалось полностью избавиться от дрыганья движков на эквалайзере плеера. Прокрутка вверх/вниз тоже теперь не дёргается. В граф. редакторе горизонтальное перемещение пера теперь рисует прямую линию.

В прошивке оставил нажатие в режиме винды: у меня на Android оно отрабатывается без проблем.

Изменения коснулись только файла restouch.c. В аттаче новый .hex файл и изменённый исходник.

zyxel812 01.05.2013 22:44

Цитата:

Сообщение от AngelOfGrief (Сообщение 257351)
Почитав описание работы хардварных тач-контроллеров, немного доработал программу.

Хорошая новость. Теперь проект можно считать почти законченным. У меня сомнения по следующему вопросу:
Цитата:

Сообщение от AngelOfGrief (Сообщение 257351)
В прошивке оставил нажатие в режиме винды: у меня на Android оно отрабатывается без проблем.

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

AngelOfGrief 01.05.2013 22:46

Цитата:

Сообщение от zyxel812 (Сообщение 257361)
попробуй поставить, например, Mozilla Firefox, вызвать в нем меню и выбрать какой-нибудь пункт. Так вот, в режиме винды в мелких меню у меня пункты не "кликались".

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

zyxel812 02.05.2013 00:15

Цитата:

Сообщение от AngelOfGrief (Сообщение 257362)
У меня разрешение экрана слишком низкое чтобы пользоваться браузерами... Но стандартная экранная клавиатура работает нормально. Можно вернуть как было, если что...

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


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

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