Мне нужна помощь с сенсорным экраном

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Мне нужна помощь с сенсорным экраном

Сообщение GIGOLAS » 12 окт 2008, 04:29

Вот схемка:
http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57

Вот тестовая программа:

Код: Выделить всё

$regfile = "m128def.DAT"
'$crystal = 14745600
'$baud = 19200
'$eepleave
'$loadersize = 512
'$hwstack = 100
'$swstack = 75
'$framesize = 40
$lib "glcdKS108.lib"                                        'Include the library for the KS-108 controler


Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4 , Mode = 6
'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS1  Chip select
'CE2=CS2  Chip select second chip
'CD=Data/instruction
'RD=Read
'RESET = reset
'ENABLE= Chip Enable


Config Adc = Single , Prescaler = Auto , Reference = Internal       'Setting up the a/d convertor


Dim X As Word , Y As Word
Setfont Font8x8
Start Adc                                                   ' Start the ad convertor
' =====Main=====
Main:
'*************************
' Here your main prog
'*************************
Do
   Gosub Readtouch

   Lcdat 1 , 1 , "TS READING"
   Lcdat 2 , 1 , "X = " ; X
   Lcdat 3 , 1 , "Y = " ; Y
   Waitms 300
   Cls

Loop                                            ' Read the touch cordinates




Readtouch:
Config Portf.0 = Output                                     ' Makes port F.0 output
Config Portf.2 = Output                                     ' Makes port F.0 output
Set Portf.0                                                 ' Sets port F.0 High
Reset Portf.2                                               ' Sets port F.2 Low
Config Pinf.1 = Input                                       ' Sets port F.1 as input
Config Pinf.3 = Input                                       ' Sets port F.1 as input  because we need it now as ad input
Waitms 20                                                   ' Wait until the port is stable
Y = Getadc(3)                                               ' Read the ad value for the y
Y = 1024 - Y                                                ' Invert the reading
Config Portf.1 = Output                                     ' Makes port F.1 output
Config Portf.3 = Output                                     ' Makes port F.3 output
Reset Portf.1                                               ' Sets port F.1 Low
Set Portf.3                                                 ' Sets port F.3 High
Config Pinf.0 = Input                                       ' Sets port F.0 as input
Config Pinf.2 = Input                                       ' Sets port F.2 as input  because we need it now as ad input
Waitms 20                                                   ' Wait until the port is stable
X = Getadc(2)                                               ' Read the ad value for the x
X = 1024 - X                                                ' Invert the reading
Return




End



$include "font8x8.font"


-------------------------------------------------------
Текст оригинал
-------------------------------------------------------
The problem is that I can not get a reading on the top left quarter of the screen. The reading in this section is always 1 on both X and Y axis no matter where I touch.

As you can see in the below sketch, the readings start at the bottom right hand corner of the red box.

The reading at this corner begin from 1 and go to the maximum of (for example 400) as you progress toward the right and down.

Can anyone help me understand why is this happening?
-------------------------------------------------------
Кривой перевод
-------------------------------------------------------
Проблема заключается в том, что я не могу получить чтении в верхней левой четверти экрана. Чтение в этом разделе всегда равен 1 на X и Y оси независимо от того, где я касаюсь.

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

Чтение на этом углу начать с 1 и перейти к максимальной (например, 400), как вы прогресс в направлении справа и вниз.

Может ли кто-нибудь помочь мне понять, почему это происходит?

-------------------------------------------------------
Ему ответили
-------------------------------------------------------
You're using the internal reference for the ADC. Use AVcc instead and you'll be fine !
-------------------------------------------------------
Кивой перевод
-------------------------------------------------------
вы, используя внутренние ссылки на ADC. Используйте вместо AVcc и вам будет хорошо!



У меня такаяже проблема ( неработает угол экрана-сенсорного ) не могу тоже вьехать в чем дело. Пожалуста разьесните что имелось под ответом, использовать сылки на ADC вместо AVcc ?
По жизненному опыту я точно знаю, что есть определённый тип людей, который считает что все ему должны.
Я отношу себя к противоположному типу, который постоянно считает себя виноватым в чём либо.
Ненавижу когда кто то пользуется моими недостатками.
Аватара пользователя
GIGOLAS
 
Сообщения: 302
Зарегистрирован: 22 сен 2008, 22:15
Откуда: Раменки 43

Re: Мне нужна помощь с сенсорным экраном

Сообщение blindman » 12 окт 2008, 05:15

Имелось в виду, что в качестве опорного напряжения АЦП используется внутренний источник МК, типичное напряжение 1.1 - 2.56 В, в зависимости от модели. Измеряемое напряжение не может быть больше чем опорное. Если использовать в качестве опорного напряжения Vcc, которое может быть до 5В, то можно расширить диапазон измеряемых напряжений.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Мне нужна помощь с сенсорным экраном

Сообщение Кирилл » 12 окт 2008, 12:31

тоесть вместо строчки
Код: Выделить всё
Config Adc = Single , Prescaler = Auto , Reference = Internal

надо писать
Код: Выделить всё
Config Adc = Single , Prescaler = Auto, Reference = AVCC

и не забыть 100н керамику с AREF на землю
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

Re: Мне нужна помощь с сенсорным экраном

Сообщение GIGOLAS » 12 окт 2008, 13:17

Спасибо вам. А то застопорился думал дисплей или МК битый.
По жизненному опыту я точно знаю, что есть определённый тип людей, который считает что все ему должны.
Я отношу себя к противоположному типу, который постоянно считает себя виноватым в чём либо.
Ненавижу когда кто то пользуется моими недостатками.
Аватара пользователя
GIGOLAS
 
Сообщения: 302
Зарегистрирован: 22 сен 2008, 22:15
Откуда: Раменки 43

Re: Мне нужна помощь с сенсорным экраном

Сообщение GIGOLAS » 13 окт 2008, 17:37

Вот собран на скорую руку, из за потери прошлой платы ( выкинул с гореча ). Начинаю эскперименты дальше
Вложения
010.jpg
007.jpg
004.jpg
001.jpg
По жизненному опыту я точно знаю, что есть определённый тип людей, который считает что все ему должны.
Я отношу себя к противоположному типу, который постоянно считает себя виноватым в чём либо.
Ненавижу когда кто то пользуется моими недостатками.
Аватара пользователя
GIGOLAS
 
Сообщения: 302
Зарегистрирован: 22 сен 2008, 22:15
Откуда: Раменки 43

Re: Мне нужна помощь с сенсорным экраном

Сообщение Duhas » 14 окт 2008, 20:18

мона пару слов о само экране.. он сразу с сенсором или отдельно? где есть, сколь стоит?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Мне нужна помощь с сенсорным экраном

Сообщение GIGOLAS » 15 окт 2008, 00:54

Я брал в тетраелектронике, это периферийные модули MIKROELEKTRONIKA


вот сылки

экран --- ME-GLCD 128X64 http://www.terraelectronica.ru/catalog.php?ID=973
сенсор - ME-TOUCH SCREEN http://www.terraelectronica.ru/catalog.php?ID=973&Page=1&InHave=&InNew=&Search=&Text=&Gde=&PageS=


Экран - 647.33 рублей
Сенсор - 277.43 рублей

Да вот еше че, сам дисплей медленный работает ток до 7 МгЦ (Тактовая частота МК). Если тебе не критично то знай, а если нужно больше то искать другой дисплей или к гуру идти .

Добавлено спустя 13 минут 34 секунды:
Есть индикатор фирмы МЭЛТ, модель MT-12864A-2FLA или подобные. Вот сылка http://www.melt.aha.ru/work/display/151. очень мне понравились в работе, до 12МгЦ тактовай работал прекрасно (вроде до 24 Мгц работал непомню уже :oops: ).

Одно но сенсорная матрица не подходит к нему, а жаль :(
По жизненному опыту я точно знаю, что есть определённый тип людей, который считает что все ему должны.
Я отношу себя к противоположному типу, который постоянно считает себя виноватым в чём либо.
Ненавижу когда кто то пользуется моими недостатками.
Аватара пользователя
GIGOLAS
 
Сообщения: 302
Зарегистрирован: 22 сен 2008, 22:15
Откуда: Раменки 43

Re: Мне нужна помощь с сенсорным экраном

Сообщение Duhas » 15 окт 2008, 01:02

да вот как бы мне бы седе в новый дом нада бы мутить скора начинать систему аля умный дом.. и нада ко всему этому интерфейс какой нить .. скорости там нинада вовсе.. просто во вменяемом виде интерфейс реализовать ...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Мне нужна помощь с сенсорным экраном

Сообщение GIGOLAS » 15 окт 2008, 18:53

Я тож мучу, ток не умный дом а бортовой компьютер на моц. Избавляюсь сенсором от кнопок управления маршрутного компа. Я думаю сделать, один с дисплэем подключение к нему дачика скорости и все, второй для всего остального (типа контроля истравности лампочек и другой разной мути) и держит связь ток в том случае когда че критичное или даные по запросу. Вот :)
По жизненному опыту я точно знаю, что есть определённый тип людей, который считает что все ему должны.
Я отношу себя к противоположному типу, который постоянно считает себя виноватым в чём либо.
Ненавижу когда кто то пользуется моими недостатками.
Аватара пользователя
GIGOLAS
 
Сообщения: 302
Зарегистрирован: 22 сен 2008, 22:15
Откуда: Раменки 43


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9