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


Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка устройств

Ответ
 
Опции темы
Старый 29.03.2013, 20:40   #1
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 34
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 has a spectacular aura aboutzyxel812 has a spectacular aura about
По умолчанию Контроллер резистивного сенсорного экрана, совместимый с Андроид.

Представляю вашему вниманию контроллер четырех проводного резистивного сенсорного экрана, выполненный на микроконтроллере ATmega32U4.
Сначала самое интересное, демонстрация:


Почему именно этот микроконтроллер, потому что это один из самых простых с аппаратным USB и аналоговыми входами. А так же, легко смог купить такую вот поделку: Dreamer Nano 4.0 за относительно не большую сумму (ну не очень я люблю травить платы)

Сенсорный экран подключайте к входам А0,А1,А2,А3 (на микроконтроллере это порты PF7, PF6, PF5, PF4 соответственно). А0 - Верхняя часть, А1 - правая часть, А2 - нижняя часть, А3 - левая часть.

Вот как это выглядит:

И с другой стороны:


Прошивка и утилита калибровки в приложенном архиве. После того как причешу немножко код, чтоб он стал понятен не только мне, выложу еще и исходники.

Устройство представляется составным: виртуальный последовательный порт и сенсорное перо. Порт нужен только для калибровки. Утилита калибровки существует только под винду. Калибровочные коэффициенты сохраняются в памяти контроллера, поэтому калибруем на винде, затем втыкаем в андроид. В калибровочной утилите, коэффициенты автоматически не сохраняются в контроллер, нажимайте кнопку "Upload to device". При желании, цифры можно подредактировать вручную. Позже напишу что они значат и как вычисляются.
Обращаю внимание, что в винде курсор может и не двигаться, в Андроиде должно быть всё ок. Дело в том, что в отчете (HID report) который устройство передает в компьютер присутствуют два флага - прикосновение пером и прикосновение пальцем. Если передавать прикосновение и пером и пальцем, в винде все работает, в андроиде тоже, но мелкие элементы, такие как пункты меню, не реагируют на прикосновения. Если передавать только прикосновение пером, то в винде, по не выясненным пока причинам, перестает двигаться курсор, а в Андроиде всё прекрасно, в т.ч. и меню. Оставил пока по последнему варианту, так как для винды контроллеров и так хватает. В общем, еще предстоит разобраться, когда желание появится.

Чего имею еще сказать:
АЦП микроконтроллера слабоват, он 10-ти разрядный, но младшие разряды это практически шум, я откидываю два младших разряда и получаю 8-битное число для каждой координаты. Т.е. разрешение по каждой координате получается максимум 256. Да и при этом, младший разряд плавает, однако этого вполне хватает, чтобы попадать по клавишам экранной клавиатуры.
Можно принять меры по повышению точности как программные, так и аппаратные. Готов обсудить, если появятся заинтересованные знающие люди.
Это не совсем законченный проект, на данный момент достигнута та точка, после которой результаты можно использовать на практике. Поэтому всё не так красиво, как хотелось бы, но это работает.

UPD 03.05.2013: Обновил прошивку. Улучшился способ измерения позиции касания. Теперь каждая координата измеряется 10 раз и выбирается наиболее часто встречающееся значение, что значительно уменьшает влияние помех и дребезг (за данный способ спасибо AngelOfGrief).
При замкнутом выводе D2 (на контроллере вывод PD1) на землю, контроллер работает в режиме "винды", т.е. в винде курсор тоже будет двигаться. Для работы с Андроидом вывод лучше оставить свободным.
Откомпилированная прошивка, утилита калибровки и исходники теперь в одном архиве.

UPD 14.06.2013: Появилась инструкция по прошивке через bootloader. За что спасибо s.m.
UPD 26.08.2014: Протокол калибровки
UPD 16.04.2015: Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика
Вложения
Тип файла: rar touch20130503.rar (761.4 Кб, 1626 просмотров)

Последний раз редактировалось zyxel812; 16.04.2015 в 21:45. Причина: Добавил ссылку на протокол калибровки
zyxel812 вне форума   Ответить с цитированием
Старый 29.03.2013, 20:49   #2
Hamster
Больной. Диагноз "Car PC"
 
Аватар для Hamster
 
Регистрация: 01.09.2005
Возраст: 43
Город: Москва
Регион: 77, 97, 99, 177
Машина: 08\Acura\MDX •••• 07\Honda\Civic 4D
Сообщений: 5,031
Hamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to behold
По умолчанию

Здорово!
Теоретически такими темпами можно и до подключения емкостного тача дойти - вообще сказка будет!

З.Ы. На видео котяра зачетно подпевает
__________________
Старый проект Honda Accord RHD
Теперь будет Acura MDX 2008 и Honda Civic 4D 2007 и Mitsubishi Outlander XL 2011
Hamster вне форума   Ответить с цитированием
Старый 29.03.2013, 21:15   #3
wave_is
Гуру
 
Регистрация: 28.12.2009
Возраст: 33
Регион: Украина
Сообщений: 1,099
wave_is will become famous soon enough
По умолчанию

Отличная новость. Представляю сколько людей обрадуется с машинами, в которых экраны встроены
wave_is вне форума   Ответить с цитированием
Старый 01.04.2013, 19:34   #4
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 34
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 has a spectacular aura aboutzyxel812 has a spectacular aura about
По умолчанию

Добавил в первое сообщение исходники прошивки. Выполнены под Atmel Studio 6.
Большая просьба, если что-то модернизируете, выкладывайте сюда. Если самому модернизировать лень, но есть предложения по модернизации, которые могут улучшить работу контроллера, пишите, буду по возможности выполнять.
zyxel812 вне форума   Ответить с цитированием
Старый 18.04.2013, 14:08   #5
KotikBSD
Новый Пользователь
 
Регистрация: 17.04.2010
Возраст: 29
Регион: 77, 97, 99, 177
Сообщений: 1
KotikBSD is on a distinguished road
По умолчанию

А сколько по деньгами и как приобрести?

Заказал тут в Китае всякую всячину что бы в машину андроид встроить, в том числе контроллер для ресистивного тача. Но потом так понял что не прикручу я этот контроллер к андроиду, а там конечно как повезет. А тут набрел на вашу разработку, и она заинтересовала
KotikBSD вне форума   Ответить с цитированием
Старый 23.04.2013, 21:46   #6
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 34
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 has a spectacular aura aboutzyxel812 has a spectacular aura about
По умолчанию

В первом посте есть ссылка на плату, а так же прошивка. Никакая доработка не требуется. Покупаешь контроллер, прошиваешь и можно использовать.
zyxel812 вне форума   Ответить с цитированием
Старый 24.04.2013, 13:51   #7
Andy1306
Новый Пользователь
 
Регистрация: 10.09.2007
Город: Ивано-Франковск
Регион: Украина
Машина: Honda civic 4D
Сообщений: 2
Andy1306 is on a distinguished road
По умолчанию

А если использовать этот контролер - Arduino Leonardo прошивка без доработки подойдет?
Andy1306 вне форума   Ответить с цитированием
Старый 24.04.2013, 20:49   #8
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 34
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 has a spectacular aura aboutzyxel812 has a spectacular aura about
По умолчанию

На первый взгляд, да. Нужно только проверить по схеме соответствие выводов, что А0,А1,А2,А3 подключены к PF7, PF6, PF5, PF4 на микроконтроллере.
zyxel812 вне форума   Ответить с цитированием
Старый 24.04.2013, 21:41   #9
Andy1306
Новый Пользователь
 
Регистрация: 10.09.2007
Город: Ивано-Франковск
Регион: Украина
Машина: Honda civic 4D
Сообщений: 2
Andy1306 is on a distinguished road
По умолчанию

Спасибо за ответ, согласно этой принципиальной схеме вроде А0,А1,А2,А3 подключены к PF7, PF6, PF5, PF4 на микроконтроллере, или может я неправ?
Andy1306 вне форума   Ответить с цитированием
Старый 25.04.2013, 19:31   #10
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 677
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

Цитата:
Сообщение от Hamster Посмотреть сообщение
Здорово!
Теоретически такими темпами можно и до подключения емкостного тача дойти - вообще сказка будет!
Емкостные тачи, по крайней мере у мобильников, всегда идут сразу с контроллером. Т.е. они как-то по-другому работают.
__________________
CarPC: Iconbit Toucan Nano ARM Cortex A9 Android 2.3, 16GB SD, USB WiFi TEW-648UBM, USB PL2303 + GPS модуль + штатная GPS антенна авто, PIC 18F2550 эмулятор USB <- клава магнитолы, USB Arduino Micro ATmega32u4 контроллер резистивного тачскрина.
AngelOfGrief вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 1 , гостей: 1)
Oris
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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