Напишите ответ

Введите сообщение и нажмите Отправить
Параметры

Назад

Обзор темы (новое вверху)

Стас
2020-09-13 20:50:10

Добрый вечер !

Столкнулся с  проблемой Тачскрином

железа:
Arduino Mega 2560 R3 + Mega Shield v2.2 + TFT LCD touch shield 3.2 дюйма для Arduino

Я в этой теме новичок)) и хочу понять что я делаю не так

Тачскрин проходит калибровку , все прописываю в URTouchCD как показано в примерах, но Touch ведет себя неправильно)

Видео проблемы :

https://fex.net/ru/s/ofxazr7

Спасибо !

Ondyon
2020-07-07 02:01:33

да, заработало.
Спасибо!
для стандартной UTouch надо определить

#define pulse_high(p,d)    digitalWrite(p,HIGH);delay(d);digitalWrite(p,LOW);

#define B_CLK    50

в конце функции  void UTouch::InitTouch(byte orientation) добавить код
---------
    touch_WriteData(0x80);       
    pulse_high(T_CLK, B_CLK);
    touch_WriteData(0x0);       
    pulse_high(T_CLK, B_CLK);
    touch_WriteData(0x0);       
    pulse_high(T_CLK, B_CLK);
---------

подумал, что для Clock должно быть достаточно очень маленькой длины импульса, наверное, даже 1
уменьшил B_CLK до 10 - работать перестало
вернул 50
экспериментировать некогда, да и инициализация делается один раз в начале, 3 раза по 50мс можно и подождать

Ondyon
2020-07-06 11:53:16

Спасибо огромное за исследование!
Осталось сделать такую же инициализацию в стандартной библиотеке UTouch
touch_WriteData() там точно такая же, всё понятно
pulse_high(T_CLK, B_CLK) там нет, очевидно, макрос, оно делает положительный импульс на пин T_CLK длительностью B_CLK
в стандартной библиотеке UTouch пин определён как T_CLK, это ясно
а чему равно B_CLK?  придётся поэкспериментировать, а чему оно равно у вас?

alex05
2019-11-22 11:30:20

Победил окончательно
В библиотеке URTouch нет процедуры принудительной инициализации
В библиотеке URTouch откройте файл URTouch.cpp.    В процедуре void URTouch::InitTouch(byte orientation) в самом конце пропишите
1
        touch_WriteData(0x80);       
2
    pulse_high(P_CLK, B_CLK);
3
        touch_WriteData(0x0);       
4
    pulse_high(P_CLK, B_CLK);
5
        touch_WriteData(0x0);       
6
    pulse_high(P_CLK, B_CLK);

И все начинает работать без проблем. Раз 200 делал рестарт и не разу не получил не работающего точа.

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

аlex05
2019-03-23 21:46:21

Параллельная ветка: http://arduino.ru/forum/apparatnye-voprosy/tach-na-lcd-tft-rabotaet-tolko-esli-podklyuchit-ego-po-usb-k-kompyuteru
С микросхемой можно не заморачиваться. Не она точно. Посмотрел осциллографом , если не работает , то на D_OUT 1 , работает то 0 , при прикосновении пачка импульсов. Заморочка программная , виснет микросхема точа. Что то ей не всегда нравится, лапы заплетаются. Снимая напряжение с 74нс365 или другой ( в зависимости от шильда) или прерываем питание 3,3 экрана, мы фактически роняем в 0 вход на MEGА и URTouch как то перезапусает XPT2046. И все будет работать до бесконечности.
Попытки сделать задержки запуска в программе результата не дают. Если просмотреть все описания данной проблемы в инете , то можно понять что с какого то времени производства многие с этим столкнулись.
Делать программное прерывание питания - вариант, но кривой. Хотелось бы разобраться   
Дальше мозгов не хватает где копать и что в  URTouch. Где то видел что кто то что то подправил и все поехало, только не поделился что он сделал
У кого то получилось прокопать ?

Sergey160481
2018-01-11 01:42:09

Сколько не пробывал всегда нормально.
Зависаний не было.Но только каждый раз при выключении и включении ардуины нужно збросить питание микросхемы 74нс365.
Я думаю ето она глючит.Поменял бы но что то не налел такую в наличии не где...

cncserge
2018-01-10 22:58:51

Тож нормально!!!
Всегда нормально работает, или иногда зависает??

Sergey160481
2018-01-10 22:49:57

Пока я сделал проще........Выкинул переключатель ,впаял два провода и поставил  маленькую кнопку .
Включил Ардуино ,нажал кнопочку ,питание на микросхему прервалось ,отпустил и тач роботает......Примитивно)))
smile  smile  smile  smile  smile  smile

cncserge
2018-01-08 23:58:38
Sergey160481 пишет:

Схема есть.Здесь я его покупал
https://arduino-ua.com/prod363-ITDB02_Shield_Mega-perehodnik_dlya_TFT
Там снизу в описании есть ссылка.Я не знаю как вставить файл....

Выпаять микросхему и закоротить 2-3 : 5-4 выводы

Или 16 ногу отпаять от платы и завести на отдельный пин ардуины и программно включать ( как варианты )

Sergey160481
2018-01-08 22:17:44
vvr пишет:

я использую такой
https://www.ebay.com/itm/3-2-TFT-Touch- … SwsXFZItfg

он хоть не все пины дуни занимает)))

Я думаю купить такой же для пробы...

vvr
2018-01-08 22:00:54

я использую такой
https://www.ebay.com/itm/3-2-TFT-Touch- … SwsXFZItfg

он хоть не все пины дуни занимает)))

Sergey160481
2018-01-08 21:27:31

Схема есть.Здесь я его покупал
https://arduino-ua.com/prod363-ITDB02_Shield_Mega-perehodnik_dlya_TFT
Там снизу в описании есть ссылка.Я не знаю как вставить файл....

cncserge
2018-01-08 16:31:12
Sergey160481 пишет:
cncserge пишет:
Sergey160481 пишет:

У меня только тач зависает....
А всё остальное роботает и на экране меняется.
Включаются релюхи,отображается температура,вентиляторы меняют скорость.,освещение также меняется от времени

Вот люди тоже столкнулись с такой проблемой, дают советы, почитайте попробуйте может поможет...
http://arduino.ru/forum/apparatnye-voprosy/arduino-mega-2560-tft-35-glyuki-tachskrina-pomogite-pobedit

Почитал темку .Познавательно.
У меня между Мегой и экраном стоит шилд переходник с микросхемами.И там есть переключатель вольтажа 5-3 вольта .
Судя по схеме он переключает напряжение на одной из микросхеме 74HC365 .Так вот если тач не роботает и переключатель перевести с одного положения в другое то он не заработает.Но вот если переключатель перевести в среднее положение и вернуть обратно
тач запускается с 100 процентов вероятностью.Пробывал много раз.Через эту микросхему связывается Ардуина и контролер тача

Схема есть на переходник??

Sergey160481
2018-01-08 14:52:40
cncserge пишет:
Sergey160481 пишет:

У меня только тач зависает....
А всё остальное роботает и на экране меняется.
Включаются релюхи,отображается температура,вентиляторы меняют скорость.,освещение также меняется от времени

Вот люди тоже столкнулись с такой проблемой, дают советы, почитайте попробуйте может поможет...
http://arduino.ru/forum/apparatnye-voprosy/arduino-mega-2560-tft-35-glyuki-tachskrina-pomogite-pobedit

Почитал темку .Познавательно.
У меня между Мегой и экраном стоит шилд переходник с микросхемами.И там есть переключатель вольтажа 5-3 вольта .
Судя по схеме он переключает напряжение на одной из микросхеме 74HC365 .Так вот если тач не роботает и переключатель перевести с одного положения в другое то он не заработает.Но вот если переключатель перевести в среднее положение и вернуть обратно
тач запускается с 100 процентов вероятностью.Пробывал много раз.Через эту микросхему связывается Ардуина и контролер тача

cncserge
2018-01-08 11:55:17
Sergey160481 пишет:

У меня только тач зависает....
А всё остальное роботает и на экране меняется.
Включаются релюхи,отображается температура,вентиляторы меняют скорость.,освещение также меняется от времени

Вот люди тоже столкнулись с такой проблемой, дают советы, почитайте попробуйте может поможет...
http://arduino.ru/forum/apparatnye-voprosy/arduino-mega-2560-tft-35-glyuki-tachskrina-pomogite-pobedit

Подвал раздела