Тут на каждой странице написано,что китайцы не заморачиваются с такими мелочами как модель контроллера,что есть под рукой то и шлют. Фотки годами могут висеть у них и описание тоже. Нет времени у них корректировать описания. Кладите сюда фотку,что сейчас у Вас на руках,может кто и подскажет. Даже звездочкам в отзывах на сайте продавца доверять надо с опаской. Народ так рад ,что получил и ставит отличные оценки только за сам факт получения,а с дальнейшим гемором на таких форумах сидит.
Тут на каждой странице написано,что китайцы не заморачиваются с такими мелочами как модель контроллера,что есть под рукой то и шлют. Фотки годами могут висеть у них и описание тоже. Нет времени у них корректировать описания. Кладите сюда фотку,что сейчас у Вас на руках,может кто и подскажет. Даже звездочкам в отзывах на сайте продавца доверять надо с опаской. Народ так рад ,что получил и ставит отличные оценки только за сам факт получения,а с дальнейшим гемором на таких форумах сидит.
прочитал всю тему, перепробовал все библиотеки которые выкладывали, проверил подключение пинов UTFT myGLCD(31,A2,A1,A3,A4); дисплей отказывается работать.
Попробуй библиотеку из моего поста #545 скачать. У меня ili9327, все работает. Так же поддерживает ili9488. У LCD на ili9327 есть косяк, память по оси Y на 432, а tft на 400 пикселей при ротации надо думать о смещении на эти 32 пиксиля.
Смотри внимательно на своё фото! распиновка и надпись 61509 :)
1. у тебя ADAFRUIT шилд(дисплей) , т.к. они зачастую 0 и 1 биты дисплея поднимают вверх, чтоб высвободить RX TX. Поэтому библиотеки с сайта UTFT не подойдут. (но здесь есть правленные )
2. на A0 приходится сигнал read (lcd_rd) на дисплей, поэтому библиотекой adafruit с него и можно в мониторе последовательного порта (Serial Monitor) вычитать ID ( 0x1509 это R61509 , 0xB509 это R61509V ) .
3. если приспосабливать библиотеку UTFT , то здесь приводилась ускоренная библиотека+IDE для зеленого шилда 3,5" на ili9327 (там перекинуты lcd_D0 lcd_D1 на D8 D9 ардуино, и переставлены wr rs cs rst в строке инициализации, и на rd подана лог.1) , надо только подменить и подправить в ней инициализацию на эту init r61509v :
об этом я рассказывал в теме http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov#comment-92532 . Архив с похожей библиотекой для ili9326 там https://yadi.sk/d/7YDCfi14ddJhC, полагаю надо только в инициалиции ....\libraries\UTFT\tft_drivers\ili9327_8 initlcd.h подставить эти значения из void R61509V_Init(unsigned char contrast)//IC SETTING { .... } , заменив RegSet_Xbit на LCD_Write_COM16_DATA16 , DelayX1mS на delay , WriteCom_Xbit на LCD_Write_COM16 . В установке x y ....\libraries\UTFT\tft_drivers\ili9327_8 setxy.h , можно попробовать закоментить 2 первых строчки.
Что делать?
- либо обратится к продавцу, пусть даёт библиотеку . Поискать на aliexpress подобные дисплеи с примерным размером " , иногда продавцы прикладывают ссылки на библиотеки
- либо поискать на сайте mcufriend.com и м.б. adafruit.com (мало ли у них появилось, то что китайцы ляпают с того что подруку попадётся) . Погуглить init R61509V , R61509V ( на github.com много кодов )
- либо как предложил в п.3 , т.е. слепить самому или на базе UTFT. или на базе ADAFRUIT
PS//и внимательно на компе с папками arduino , UTFT (в них сохраняются не только библиотеки, но и перенаправление портов) , желательно подчищать, ибо иногда в сложных случаях может правится не только библиотека, но и оболочка arduino IDE. поэтому здесь иногда приводится библиотеки вместе с оболочками arduino IDE где они корректно работают.
Пробую модифицировать библиотеку UTFT_v2.77b2_uno_ili9327_8bit_turbo, но что-то ничего не выходит, инициализация которая лежит в отдельной папке под каждый контроллер, бер для изменения 9327_8, заменяю на вашу (она по коду вообше другая), остальные фунции что-то не могу найти.
Первый раз сижу на ардуино, всю жизнь програм в авр студио, подскажите с нее нельзя сразу шить ардуино уно? как то очень неудобно и непривычно или не могу разобраться как открывать доб файлы в окне, а не редактировать через блокнот
Пробую модифицировать библиотеку UTFT_v2.77b2_uno_ili9327_8bit_turbo, но что-то ничего не выходит,
ну блин, вот пробуй, на базе правленной UTFT из ili9327_8turbo в ili9326 https://yadi.sk/d/7YDCfi14ddJhC . В моих документах/ардуино/библиотеки/ стираешь utft и закидываешь этот utft. По адресу ...мои документы...UTFT\tft_drivers\ili9327_8 открыть файл initlcd блокнотом, всё стереть и вставить
скетч этот \UTFT\examples\Arduino (AVR)\UTFT_Demo_400x240
P.S. IDE 1.5.5 у меня заругался на _delay_ms_ , а IDE 1.5.8 скомпилировал. Если не поканает то можно в начало или конец инициализации попробовать также переработать содержимое
voidR61509V_DeepStandBy_Out()
setxy надеюсь одинаковый от ili9326 к r61509v .
можешь попробовать от SPFD5420A и R61509 (без V) - там же в ветке про дисплеи от сотиков
вот ещё инициализации 400x240 432x240 дисплеев , найденные на просторах инета https://yadi.sk/d/RSmVUO3diBJMf , тамже ещё другие от r61509v . (названия функций могут отличаться из-за разных платформ, но главное там есть в какой регистр,что кидать и как кидать, чтоб дисплей завёлся) Блокнотом для редактирования пользуюсь Notepad++
Заработал, большое спасибо slider подскажите пожалуйста, а где можно почитать как управлять и выводить данные и рисовать легкие фигуры (круги, треугольники и тд)
Заработал, большое спасибо slider подскажите пожалуйста, а где можно почитать как управлять и выводить данные и рисовать легкие фигуры (круги, треугольники и тд)
Заработал, большое спасибо slider подскажите пожалуйста, а где можно почитать как управлять и выводить данные и рисовать легкие фигуры (круги, треугольники и тд)
что именно подошло для R61509V ?, черкни, сфотай для народа.
Взял первое что Вы написали, библиотеку "инициализации 400(432)x240 ILI9326 +переделанные для UTFT +PDF +UTFT2.77c" + подкоректировал скетч на инициализацию, подменива тем что Вы сверху написали и залил, сразу запустился, прошел тест и в конце первого прогона время 52205, это быстро рисует или медленно?
Еще остается открытый вопрос с тачем, как его проверить и инициализировать?
Вообше ардуино не использовал до этого неразу, все свои устройства делал на АВР, сам травил платы, шил через ISP, решил сейчас перейти на цветной дисплей, сразу заказал с ардуино для понимаия что к чему, в дальнейшем планирую подключить к другой меге с большими возможностями.
Подскажите, возможно на таком дисплее реализовать вот такую штуку.
1. нормально для него, 9327 побыстрей будет вроде около 41сек против 51с. Чем меньше команд в setxy.h , тем быстрее будет рисовать, ибо это вызывается при рисовании каждой точки. Это для каждого контроллера своё. Самое быстрая конфигурация на arduino due и 16ти битный дисплей.
2. по тачскрину тут всё обсасывалось. Могу разве что что уточнить, судя по фото, здесь нет спец контроллера тача. Тач напрямую подключен к пинам. Подключение стандартное для adafruit, есть и их библиотека. Проверить можно прозвонив пины аналоговые и цифровые пины, должно 2 раза гдето по 300 ом. При касании это парочка замыкается с сопротивлением координаты точки. Сейчас юзаю https://yadi.sk/d/JblWoo7biBW6N , там есть 2 примера тача, координаты кидаются в монитор последовательного порта , один я подстроил под свои перепаянные A0 A1 D12 D13 для одновременной простой работы с utft , у тебя должны стандартные. Смысл если хочешь определить нажатие, вызываешь функцию, она переконфигурирует порты ввода-вывода, посмотрит нажатие, и вернёт порты обратно, для графики adafruit, непробовал как с UTFT при стандартной распиновке.
3. врятли. разве что один прибор. Лучше на arduino due и 16ти битный дисплей или на плашетнике с андроидом. На крайняк ардуино мега с 16ти битным какимнибудь простым lcd tft контроллером. (глянь их setxy.h , чтоб наименьшее число команд было)
уже оффтоп получается. надеюсь мож кому ещё интересна тема каких дисплеев. Остальные битности выходят за разумную грань применения на arduino : Дисплеи и шилды есть и 18бит (где весь цвет можно передать за 1такт, а не за 2 и больше, это те же используемые нами контроллеры, но их все биты редко выводятся в шлейф и на плату, и 16ти бит за глаза хватит) Далее уже контроллеры без видеопамяти: 24бит(RGB)-большинство планшетников. и шина LVDS (дисплеи от iphone 3 , и далее и им подобные, все матрицы ноубуков, компьютеров) - вы их запаритесь подключать, да и не надо, всё и с простыми TFT LCD дисплеями упирается в скорость ардуины.
Скорость дисплея значительна, слабое место это медленность ардуины. то что на ссылке - это совершенно другая платформа, возможно Raspberry Pi . она работает гораздо быстрее. Дисплеи те же как ардуиновские, теже контроллеры на них, только чтоб их вокнуть в ардуино, надо шилд переходник где есть преобразователи уровней с 3,3в на 5в на плате. С этого раньше и начиналось. Потом уже стали ляпать экраны чисто для ардуины по пинам, с уже поставленными преобразователями.
Если вы этот уновский дисплей напрямую поставите на ардуино мега, ещё медленнее будет из-за переброски шины данных дисплея по 3м портам микроконтроллера. Проверял. Лучший вариант по скорости вывода для ардуинщиков - ардуино дуе и самый обычный экран для меги/дуе он и будет 16ти битный, и если использовать UTFT то обратить внимание как выводятся данные в регистры дисплея в setxy.h , хотя это не панацея было тест UTFT 51сек, станет 41сек к примеру на ардуино уно. как-то так.
постарайтесь гуглить инфу, чтоб не засирать форум.
Про использовании кирилицы в среде разработки arduino. Вы не пробовали сделать так:
изменить в настройках IDE preproc.substitute.unikode = false.
У меня с Adafruit библиотекой работает.
Пишу tft.print("Пишем по русски"); и на LCD без проблемм выводится кирилица, естественно в файле фонт прописана кирилица. Попробуйте, может и с UTFT будет работать.
Народ момогите с коментариями UTоuсh библиотеки для ATmega2560 + TFT 3.2 + шилд - хочу перевести с ардуиновских на Atmelstudio привычнее часть работы проделал но ещё есть над чем работать.
to slider,
помоги пожалуйста !
"..по тачскрину тут всё обсасывалось..", ткни пожалуйста носом (просмотрел всю тему, не нашел).
Имею вот такое чудо: 3.6", подключенное к Arduino UNO R3 (прямо в разъемы). По виду точно такой, как в собщении №552.
"Wholesale Product Snapshot Product name is 3.6 дюймов TFT сенсорный жк-модуль экран для Arduino UNO R3 высокое качество бесплатная доставка" http://www.aliexpress.com/snapshot/6793090995.html?orderId=68267667513545
"3.6 дюймов TFT сенсорный жк-модуль экран для Arduino UNO R3 высокое качество бесплатная доставка"
На самом деле тут уже продают: 3.95"
Раскладка по пинам:
3.6 inch TFTLCD - Arduino UNO ; 3.6 inch TFTLCD - Arduino UNO
--- ;
--- ;
SD_sck- 13_PB5 ;
SD_do - 12_PB4 ;
SD_di - 11_PB3 ; -----
SD_ss - 10_PB2 ; 3v - 3v
LCD_d1 - 9_PB1 ; 5v - 5v
LCD_d0 - 8_PB0 ; gnd - gnd
--------------- ; gnd - gnd
LCD_d7 - 7_PD7 ; -----
LCD_d6 - 6_PD6 ;
LCD_d5 - 5_PD5 ; LCD_RD - A0
LCD_d4 - 4_PD4 ; LCD_WR - A1
LCD_d3 - 3_PD3 ; LCD_RS - A2
LCD_d2 - 2_PD2 ; LCD_CS - A3
--- - 1_PD1 ; LCD_RST - A4
--- - 0_PD0 ; --- - A5
Видеоконтроллер ILI9327_8
Строка инициализации: UTFT myGLCD(31,A2,A1,A3,A4). Тест "UTFT_Demo_400x240.ino" - красиво отображается.
Тач-скрин прилеплен, но ничего нигде не прозванивается (эти самые 300 ом).
Как определить: есть тач-скрин , или нет ?
Если загрузить тест из твоей правленной библиотеки: TFT_adafruit/...touchscreendemoshield.ino , то
При нажатии на экран в разных местах отображаются координаты : X , Y, Z (в сериал-мониторе).
Но почему то, эти координаты находятся в диапазоне от 800 до 1020.
Сам я в этом деле темный, может чего посоветуеш.
Как побороть тач-скрин ?
(Блин, красивую табличку построил, а оно все поломалось.)
и так сначала, в таких шилдах не видать микросхемы тача(чтоб инфу передавать по двум проводам), значит тач включен напрямую , используя 4 провода - это 2 аналоговых (к примеру на A1 A2) и 2 цифровых ( к примеру на D6 и D7). Другими словами Y между A1 D7 , X между A2 D6. Они должны прозваниваться мультиметром : координата X около 300 Ом , координата Y около 600 Ом. При нажатии на тач , между координатами появляется сопротивление.
Если уж не прозванивается, то либо забыли припаять (можно погреть плату обычным феном, аккуратно поднять экран и посмотреть, зде контакт от тача затерялся) . Либо, что крайне редко, на самом таче отслоился шлейф в месте его приклейки к контактам на стекле, прижать чемнибудь гочим, остудить и отпустить.
Проверь это сам. Да уж, пару месяцев назад, пожалел на него 350-370руб, сейчас он уже около 600р стоит, жаль.
ПослеСловие:
для тех кто следит за темой, проверьте напряжение +3,3 на ардуине, при работе экрана, у меня оказалось 4,2в ! это крайне нежелательно для контоллера в дисплее, у него максимум +3,3. Китайцы походу нифига не проверяли, что через резисторы или фиговые микросхемки-конверторы, сильные 5ти вольтовые "1" логические уровни от ардуино прут в контроллер дисплея, и аж запитывают его в виду его мизерного потребления, и перебивают его питание на завышение. Чтоб дисплей долго жил, поставил параллельно питанию +3,3в, стабилитрон , на тоже напряжение.
Если будете использовать microSD , то надо резать дорожки и напаивать 10 ком резисторы.
И да, тут в теме видел, что кто-то дисплейные 10ком резисторы (вместо микросхем-преобразователея уровня) меняет на гораздо меньшие, НЕЛЬЗЯ так делать! контроллер дисплея может вообще загнуться от передозы тока и напряжения по питанию! 10ком вполне хватает, даже и в обратном направлении (чтоб и с дисплея получать инфу). С тачем напрямую, конечно посложнее, ведь через WR RS (A1 A2) лог. уровни должны перебивать сигналы от тача к ардуине, что совсем затруднит чтение инфы с дисплея, если их не перевести в Z состояние.
"Y" - А1-Д7 меряется 275 ом
"X" - А2-Д6 - 729 ом.
А как это все учитывать ? Куда вписать ?
В тесте "touchscreendemoshield.ino",
в строчке "TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); " - только одно число, а куда девать другое ?
Результаты теста, если экран расположить "портретно" , то есть выводы с тач-панели находятся внизу, справа то:
нажать и держать левый верхний угол X меняется от 1010 до 1015, Y меняется от 930 до 948,
правый верхний угол - X меняется от 975 до 979, Y меняется от 541 до 549,
левый нижний угол - X меняется от 883 до 887, Y меняется от 981 до 985,
правый нижний угол - X меняется от 675 до 701, Y меняется от 809 до 812.
Как из этого какие то конкретные координаты для экрана вывести ? Делить ? Вычитать ?
к slider, "нащупал" таки тач: "Y" - А1-Д7 меряется 275 ом "X" - А2-Д6 - 729 ом. А как это все учитывать ? Куда вписать ? В тесте "touchscreendemoshield.ino", в строчке "TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); " - только одно число, а куда девать другое ? Результаты теста, если экран расположить "портретно" , то есть выводы с тач-панели находятся внизу, справа то: нажать и держать левый верхний угол X меняется от 1010 до 1015, Y меняется от 930 до 948, правый верхний угол - X меняется от 975 до 979, Y меняется от 541 до 549, левый нижний угол - X меняется от 883 до 887, Y меняется от 981 до 985, правый нижний угол - X меняется от 675 до 701, Y меняется от 809 до 812. Как из этого какие то конкретные координаты для экрана вывести ? Делить ? Вычитать ?
прикалываетесь чтоль?
если копаетесь с тачскрином, то хоть немного должны изучить как он сделан или как работает, почитайте в википедиа устройство тачскрина, сопротивления X и Y физически почти не меняются, меняется сопротивление между ними! сопротивления линий X и Y можно сказать постоянные, зависят от размеров тача(сопротивления напыленного прозрачного резистивного слоя). А если подвести 0(0v) и 1(5v) к примеру на пины Y, то измерив напряжение на Х (на любом из его контактов) мы узнаем координату Y нажатия.
// Touch screen library with X Y and Z (pressure) readings as well
// as oversampling to avoid 'bouncing'
// This demo code returns raw readings, public domain
#include <stdint.h>
#include "TouchScreen.h"
// These are the pins for the shield!
#define YP A1 // must be an analog pin, use "An" notation!
#define XM A2 // must be an analog pin, use "An" notation!
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin
#define MINPRESSURE 10
#define MAXPRESSURE 1000
// For better pressure precision, we need to know the resistance
// between X+ and X- Use any multimeter to read it
// For the one we're using, its 300 ohms across the X plate
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
// a point object holds x y and z coordinates
TSPoint p = ts.getPoint();
// we have some minimum pressure we consider 'valid'
// pressure of 0 means no pressing!
if (p.z > MINPRESSURE && p.z < MAXPRESSURE) {
Serial.print("X = "); Serial.print(p.x);
Serial.print("\tY = "); Serial.print(p.y);
Serial.print("\tPressure = "); Serial.println(p.z);
}
}
там уже есть ваша распиновка:
#define YP A1 // must be an analog pin, use "An" notation!
#define XM A2 // must be an analog pin, use "An" notation!
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin
Возможно распиновка тача нестандартная , так поиграйтесь с заменой A1 A2 7 8 в #define в скетче , раз говорите что эти координаты находятся в диапазоне от 800 до 1020. И не вешайте пока ничего дополнительно на эти порты пока не найдете правильную комбинацию, чтоб координаты сильно менялись от 50 до 1000 (0-1023) .
чтоб потом привести их к диаппазону 0-240 0-320 0-400 пикселей на экране , можно применить функцию map() , ну или тупо разделить на число коэффициент
к примеру для Y outputValue = map(sensorValue, 0, 1023, 0, 240);
или outputValue = map(sensorValue, 50, 1000, 0, 240); (только надо предусмотреть блокировку выходов за исходные пределы меньше 50 и больше 1000
И 300 ом по X тож уе стоит в скетче примере ,( по Y не надо, так понятно).
// For better pressure precision, we need to know the resistance
// between X+ and X- Use any multimeter to read it
// For the one we're using, its 300 ohms across the X plate
функция TSPoint p = ts.getPoint(); проверяет нажатие и записывает их в переменные p.x p.y p.z .
попробуейте чисто тач проверить, потом уже графику на экран добавлять в скетч.
Ни в коем случае. Просто пытаюсь разобраться. Огромное спасибо, что не посылаете нафиг учить матчасть.
Возможно неясно выразился. У тач-скрина два резистивных слоя, так вот по ширине меряется (и неизменно) - 275 ом между пинами A1-D7, а по длинне (по другой координате, между пинами A2-D6) меряется - 729 ом (и неизменно). (у меня Arduino UNO).
Так вот эти 729 ом куда-то вписывать надо? В какую-то формулу ? В виде какого-то коэфициента ?
[quote=slider]
"...,( по Y не надо, так понятно)."
Вот это как раз и не понятно. Одно число вписывать или оба, поскольку они разные ?
А изменяются цифры на экране сериал-монитора при запуске теста: "touchscreendemoshield.ino", при нажатии на разные углы тач-скрина.
.......... Так вот эти 729 ом куда-то вписывать надо? В какую-то формулу ? В виде какого-то коэфициента Вот это как раз и не понятно. Одно число вписывать или оба, поскольку они разные ?..........
Y никуда не надо вписывать. (видимо обычно пропорции экранов около 4:3 , Y высчитать библиотеки самой ничего не стоит) . Да и вообще эти омы нафиг не нужны, хоть 300, хоть 600 , если не нужно подсчитывать силу(площадь) нажатия. Просто самому написать функцию, чтоб обойтись без библиотеки тача в своем скетче.
Нашел хорошую книгу:
"Проекты с использованием контроллера Ардуино", Виктор Петин, «БХВ-Петербург» 2014 г.
Вот там рассматривается подключение TouchScreen к аналоговым входам.
Буду на базе этого и себе сочинять.
Нашел хорошую книгу: "Проекты с использованием контроллера Ардуино", Виктор Петин, «БХВ-Петербург» 2014 г. Вот там рассматривается подключение TouchScreen к аналоговым входам. Буду на базе этого и себе сочинять.
Замечу, иногда тачи бывают немного косячные, нет контакта ( просто нажать через скользкую бумагу в место крепления шлейфа на стекле, паяльником, и подержать давлением без него, дать остыть) , а бывает что он прожат в середине или углу (если запустить рисовалку, то видать где точки стремяться оказаться при слабом нажатии)
То для точности пробывал (правда снижает скорость программы) , замерять к примеру 20 раз в массив, во втором массиве пересчитывается , сколько каждое измерение раз встречается - потом ищется максимальная встречаемость - верить ей. Да , точность колоссальная. Но всё равно без задержки после только что появивщемся нажатии, через 0,1 сек дожатии , это даст ошибку. Более простое и умеренно точное определение будет - отслеживать нажатие, появилось, подождать 50-100мс чтобы палец дожал, потом и определять. если не отпущено после измерения, то измерениям - верить как достоверным!
Вообще в адафруитской библиотеке вроде совмещение LCD и тача. Библиотека тача в момент вызова её функции определения координат, смотрит как были настроены пины и что на них было. Перестраивает их по свойму, считывает координаты . И возвращает пины обратно как были, чтоб следующий вывод на дисплей был без проблем.
Если ляпаешь свою библиотеку или просто подпрограмму(функцию) в своем скетче, это надо предусмотреть.
Сори. Ошибся при вводе. Исправил. С TouchScreen разобрался, нужно было в скетче подобрать парамеры. Можно посмотреть http://178.130.34.198/Adafruit/sketch
Работает со всеми LCD по списку библиотеки, нужно только перед компиляцией менять разрешение в .ccp
Уважаемый diger67!
Ссылка битая, можете выложить куда нибудь на файлообменник?
У меня скачалось без проблем.
Но работать не хочет, хотя видео процессор ili9327(8-битная плата TFT 3,6" подключена к UNO).
Белый экран - и все, только в сериал-монитор выводится "Paint!".
Что-то с инициализацией дисплея.
Для UTFT-библиотеки у меня работает строка инициализации - UTFT myGLCD(31,A2,A1,A3,A4);
А вот как это будет для TFT_adafruit ?
Там вот такой вызов: Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);;
(и, соответственно: #define LCD_CD A2;)
А у меня: "LCD_RS A2".
Как их соотнести между собой ? Простое переименование "CD" в "RS" не проходит. Ошибок не выдает, но и толку никакого.
На "Adafruit" библиотека для сенсорной панели без микросхемы.
Хочу на базе этого слепить и себе что-то вроде графического калькулятора.
Но знаний явно маловато.
1. Наверно бех микросхемы. Экран садится прямо на мегу или уно. Часть к аналогвым, часть цифровым ногам разьемы идут.
2. Я ж написал. Ведет себя отлично, проверял как раз в том числе и на примере tftpaint2. Рисовать пальцем хорошие картинки вряд ли получится, а вот сделать например клавиатуру вполне можно.
Граждане. У меня библиотека уважаемого diger67 работает на меге. У меня такая же или9488. Единственный миинус что в примере paint2 рисовать получается только на небольшом участке экрана. хотя водить приходится по всему экрану. Что не так ?
Там куча информации по дисплеям, библиотеки под разные контроллеры, в том числе большинство под Arduino, примеры, даташиты, схемы, фото распиновок и т.д.
Дано экран из поста №552. Можно для криворучек повторить по шагам как экран на R61509V с UTFT подружить? Посты №562-564 вдоль и поперек уже прочитал. Не выходит каменный цветок хоть ты тресни ( Может кто-то работающий UTFT выложить сможет?
Дано экран из поста №552. Можно для криворучек повторить по шагам как экран на R61509V с UTFT подружить? Посты №562-564 вдоль и поперек уже прочитал. Не выходит каменный цветок хоть ты тресни ( Может кто-то работающий UTFT выложить сможет?
Все. Разобрался. Забыл что для использования шилда УНО на меге надо подшаманить. Короче готовый вариант UTFT для R61509V - для УНО шилда (в т.ч. и на меге).
Все. Разобрался. Забыл что для использования шилда УНО на меге надо подшаманить.
А можете так же лихо и с тач-скрином разобраться ?
Там тач-скрин без микросхемы специальной, прерывания не использует,
подключен прямо на два аналоговых и два цифровых канала.
С библиотеками "Adafruit" у меня получилось его оживить. Но информацию он отдает только в сериал-монитор.
А экран при этом я не знаю как инициализировать. Экран белый, только подсветка.
А можете так же лихо и с тач-скрином разобраться ? Там тач-скрин без микросхемы специальной, прерывания не использует, подключен прямо на два аналоговых и два цифровых канала. С библиотеками "Adafruit" у меня получилось его оживить. Но информацию он отдает только в сериал-монитор. А экран при этом я не знаю как инициализировать. Экран белый, только подсветка.
Хммм.... тачскрин работает у меня на меге но как-то не так. Попробую посмотреть что там. А насчет белого экрана. Файл с UTFT из моего поста пробовали? Скетч с примером 400х240 из библиотеки подправьте строку инициализации, с 31 на 33(код R61509V) На меге конечно этот экран просто чудеса тормознутости показывает тест по 120 секунд выполняет.
Скетч с примером 400х240 выполняется красиво, без проблем. Даже исправлять ничего не надо. (У меня видео -контроллер ILI9327_8, так что 31 - в самый раз. (Плата UNO)).
Но в тесте не используется тач-скрин, а как их совместить я не знаю. А с нуля, все полностью сочинять не хочется. В посте №580 я уже это описывал эту проблему.
Я уже заказал на "Али" другой экран с процессором ILI9488. Может с ним будет проще.
Тут на каждой странице написано,что китайцы не заморачиваются с такими мелочами как модель контроллера,что есть под рукой то и шлют. Фотки годами могут висеть у них и описание тоже. Нет времени у них корректировать описания. Кладите сюда фотку,что сейчас у Вас на руках,может кто и подскажет. Даже звездочкам в отзывах на сайте продавца доверять надо с опаской. Народ так рад ,что получил и ставит отличные оценки только за сам факт получения,а с дальнейшим гемором на таких форумах сидит.
Тут на каждой странице написано,что китайцы не заморачиваются с такими мелочами как модель контроллера,что есть под рукой то и шлют. Фотки годами могут висеть у них и описание тоже. Нет времени у них корректировать описания. Кладите сюда фотку,что сейчас у Вас на руках,может кто и подскажет. Даже звездочкам в отзывах на сайте продавца доверять надо с опаской. Народ так рад ,что получил и ставит отличные оценки только за сам факт получения,а с дальнейшим гемором на таких форумах сидит.
прочитал всю тему, перепробовал все библиотеки которые выкладывали, проверил подключение пинов UTFT myGLCD(31,A2,A1,A3,A4); дисплей отказывается работать.
Посмотри здесь может подойдет. У меня есть дисплей, но только 2.4 дюйма, и с такой же распиновкой.
Попробуй узнать ID, а там будет полегче
https://yadi.sk/d/kAdHVOdCiAG5Y
https://yadi.sk/d/NLdhZy3niAGFQ
Посмотри здесь может подойдет. У меня есть дисплей, но только 2.4 дюйма, и с такой же распиновкой.
Попробуй узнать ID, а там будет полегче
https://yadi.sk/d/kAdHVOdCiAG5Y
https://yadi.sk/d/NLdhZy3niAGFQ
Перепробовал библиотеку, ничего не изменилось, ID загрузил, но никакой реакции вообше, несовсем понял куда должен выводится ID дисплея.
Загружаешь скетч, потом через терминал смотришь ID, это в принципе и есть контроллер. Потом подставляешь нужную библиотеку для данного контроллера.
Сейчас не помню, но для SWTFT нужно разкоментировать строки для MEGA и закоментировать для UNO, И наоборот.
Попробуй библиотеку из моего поста #545 скачать. У меня ili9327, все работает. Так же поддерживает ili9488. У LCD на ili9327 есть косяк, память по оси Y на 432, а tft на 400 пикселей при ротации надо думать о смещении на эти 32 пиксиля.
MCU R61509V
Похоже Вам достался такой,судя по ответу проги.
Смотри внимательно на своё фото! распиновка и надпись 61509 :)
1. у тебя ADAFRUIT шилд(дисплей) , т.к. они зачастую 0 и 1 биты дисплея поднимают вверх, чтоб высвободить RX TX. Поэтому библиотеки с сайта UTFT не подойдут. (но здесь есть правленные )
2. на A0 приходится сигнал read (lcd_rd) на дисплей, поэтому библиотекой adafruit с него и можно в мониторе последовательного порта (Serial Monitor) вычитать ID ( 0x1509 это R61509 , 0xB509 это R61509V ) .
3. если приспосабливать библиотеку UTFT , то здесь приводилась ускоренная библиотека+IDE для зеленого шилда 3,5" на ili9327 (там перекинуты lcd_D0 lcd_D1 на D8 D9 ардуино, и переставлены wr rs cs rst в строке инициализации, и на rd подана лог.1) , надо только подменить и подправить в ней инициализацию на эту init r61509v :
об этом я рассказывал в теме http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov#comment-92532 . Архив с похожей библиотекой для ili9326 там https://yadi.sk/d/7YDCfi14ddJhC, полагаю надо только в инициалиции ....\libraries\UTFT\tft_drivers\ili9327_8 initlcd.h подставить эти значения из void R61509V_Init(unsigned char contrast)//IC SETTING { .... } , заменив RegSet_Xbit на LCD_Write_COM16_DATA16 , DelayX1mS на delay , WriteCom_Xbit на LCD_Write_COM16 . В установке x y ....\libraries\UTFT\tft_drivers\ili9327_8 setxy.h , можно попробовать закоментить 2 первых строчки.
Что делать?
- либо обратится к продавцу, пусть даёт библиотеку . Поискать на aliexpress подобные дисплеи с примерным размером " , иногда продавцы прикладывают ссылки на библиотеки
- либо поискать на сайте mcufriend.com и м.б. adafruit.com (мало ли у них появилось, то что китайцы ляпают с того что подруку попадётся) . Погуглить init R61509V , R61509V ( на github.com много кодов )
- либо как предложил в п.3 , т.е. слепить самому или на базе UTFT. или на базе ADAFRUIT
PS//и внимательно на компе с папками arduino , UTFT (в них сохраняются не только библиотеки, но и перенаправление портов) , желательно подчищать, ибо иногда в сложных случаях может правится не только библиотека, но и оболочка arduino IDE. поэтому здесь иногда приводится библиотеки вместе с оболочками arduino IDE где они корректно работают.
Пробую модифицировать библиотеку UTFT_v2.77b2_uno_ili9327_8bit_turbo, но что-то ничего не выходит, инициализация которая лежит в отдельной папке под каждый контроллер, бер для изменения 9327_8, заменяю на вашу (она по коду вообше другая), остальные фунции что-то не могу найти.
Первый раз сижу на ардуино, всю жизнь програм в авр студио, подскажите с нее нельзя сразу шить ардуино уно? как то очень неудобно и непривычно или не могу разобраться как открывать доб файлы в окне, а не редактировать через блокнот
Пробую модифицировать библиотеку UTFT_v2.77b2_uno_ili9327_8bit_turbo, но что-то ничего не выходит,
ну блин, вот пробуй, на базе правленной UTFT из ili9327_8turbo в ili9326 https://yadi.sk/d/7YDCfi14ddJhC . В моих документах/ардуино/библиотеки/ стираешь utft и закидываешь этот utft. По адресу ...мои документы...UTFT\tft_drivers\ili9327_8 открыть файл initlcd блокнотом, всё стереть и вставить
скетч этот \UTFT\examples\Arduino (AVR)\UTFT_Demo_400x240
P.S. IDE 1.5.5 у меня заругался на _delay_ms_ , а IDE 1.5.8 скомпилировал. Если не поканает то можно в начало или конец инициализации попробовать также переработать содержимое
void
R61509V_DeepStandBy_Out()
setxy надеюсь одинаковый от ili9326 к r61509v .
можешь попробовать от SPFD5420A и R61509 (без V) - там же в ветке про дисплеи от сотиков
вот ещё инициализации 400x240 432x240 дисплеев , найденные на просторах инета https://yadi.sk/d/RSmVUO3diBJMf , тамже ещё другие от r61509v . (названия функций могут отличаться из-за разных платформ, но главное там есть в какой регистр,что кидать и как кидать, чтоб дисплей завёлся) Блокнотом для редактирования пользуюсь Notepad++
Заработал, большое спасибо slider подскажите пожалуйста, а где можно почитать как управлять и выводить данные и рисовать легкие фигуры (круги, треугольники и тд)
Заработал, большое спасибо slider подскажите пожалуйста, а где можно почитать как управлять и выводить данные и рисовать легкие фигуры (круги, треугольники и тд)
Работа с TFT дисплеем на ARDUINO http://geektimes.ru/post/258166/ , (или в папке UTFT есть .pdf , там всё расписано)
+ русский шрифт http://devicter.blogspot.ru/2013/11/utft-2-bigfont.html ( http://medialounge.ru/files/bf.rar )
что именно подошло для R61509V ?, черкни, сфотай для народа.
Заработал, большое спасибо slider подскажите пожалуйста, а где можно почитать как управлять и выводить данные и рисовать легкие фигуры (круги, треугольники и тд)
Работа с TFT дисплеем на ARDUINO http://geektimes.ru/post/258166/ , (или в папке UTFT есть .pdf , там всё расписано)
+ русский шрифт http://devicter.blogspot.ru/2013/11/utft-2-bigfont.html
что именно подошло для R61509V ?, черкни, сфотай для народа.
Взял первое что Вы написали, библиотеку "инициализации 400(432)x240 ILI9326 +переделанные для UTFT +PDF +UTFT2.77c" + подкоректировал скетч на инициализацию, подменива тем что Вы сверху написали и залил, сразу запустился, прошел тест и в конце первого прогона время 52205, это быстро рисует или медленно?
Еще остается открытый вопрос с тачем, как его проверить и инициализировать?
Вообше ардуино не использовал до этого неразу, все свои устройства делал на АВР, сам травил платы, шил через ISP, решил сейчас перейти на цветной дисплей, сразу заказал с ардуино для понимаия что к чему, в дальнейшем планирую подключить к другой меге с большими возможностями.
Подскажите, возможно на таком дисплее реализовать вот такую штуку.
https://www.youtube.com/watch?v=Qk2cmCaM9xA
прошел тест и в конце первого прогона время 52205, это быстро рисует или медленно?
Еще остается открытый вопрос с тачем, как его проверить и инициализировать?
.....
Подскажите, возможно на таком дисплее реализовать вот такую штуку.
https://www.youtube.com/watch?v=Qk2cmCaM9xA
1. нормально для него, 9327 побыстрей будет вроде около 41сек против 51с. Чем меньше команд в setxy.h , тем быстрее будет рисовать, ибо это вызывается при рисовании каждой точки. Это для каждого контроллера своё. Самое быстрая конфигурация на arduino due и 16ти битный дисплей.
2. по тачскрину тут всё обсасывалось. Могу разве что что уточнить, судя по фото, здесь нет спец контроллера тача. Тач напрямую подключен к пинам. Подключение стандартное для adafruit, есть и их библиотека. Проверить можно прозвонив пины аналоговые и цифровые пины, должно 2 раза гдето по 300 ом. При касании это парочка замыкается с сопротивлением координаты точки. Сейчас юзаю https://yadi.sk/d/JblWoo7biBW6N , там есть 2 примера тача, координаты кидаются в монитор последовательного порта , один я подстроил под свои перепаянные A0 A1 D12 D13 для одновременной простой работы с utft , у тебя должны стандартные. Смысл если хочешь определить нажатие, вызываешь функцию, она переконфигурирует порты ввода-вывода, посмотрит нажатие, и вернёт порты обратно, для графики adafruit, непробовал как с UTFT при стандартной распиновке.
3. врятли. разве что один прибор. Лучше на arduino due и 16ти битный дисплей или на плашетнике с андроидом. На крайняк ардуино мега с 16ти битным какимнибудь простым lcd tft контроллером. (глянь их setxy.h , чтоб наименьшее число команд было)
А есть какие то дисплее с более быстрой шиной чем 16бит?
То что на видео, дислпеи фирмы 4D systems
http://www.4dsystems.com.au
уже оффтоп получается. надеюсь мож кому ещё интересна тема каких дисплеев. Остальные битности выходят за разумную грань применения на arduino : Дисплеи и шилды есть и 18бит (где весь цвет можно передать за 1такт, а не за 2 и больше, это те же используемые нами контроллеры, но их все биты редко выводятся в шлейф и на плату, и 16ти бит за глаза хватит) Далее уже контроллеры без видеопамяти: 24бит(RGB)-большинство планшетников. и шина LVDS (дисплеи от iphone 3 , и далее и им подобные, все матрицы ноубуков, компьютеров) - вы их запаритесь подключать, да и не надо, всё и с простыми TFT LCD дисплеями упирается в скорость ардуины.
Скорость дисплея значительна, слабое место это медленность ардуины. то что на ссылке - это совершенно другая платформа, возможно Raspberry Pi . она работает гораздо быстрее. Дисплеи те же как ардуиновские, теже контроллеры на них, только чтоб их вокнуть в ардуино, надо шилд переходник где есть преобразователи уровней с 3,3в на 5в на плате. С этого раньше и начиналось. Потом уже стали ляпать экраны чисто для ардуины по пинам, с уже поставленными преобразователями.
Если вы этот уновский дисплей напрямую поставите на ардуино мега, ещё медленнее будет из-за переброски шины данных дисплея по 3м портам микроконтроллера. Проверял. Лучший вариант по скорости вывода для ардуинщиков - ардуино дуе и самый обычный экран для меги/дуе он и будет 16ти битный, и если использовать UTFT то обратить внимание как выводятся данные в регистры дисплея в setxy.h , хотя это не панацея было тест UTFT 51сек, станет 41сек к примеру на ардуино уно. как-то так.
постарайтесь гуглить инфу, чтоб не засирать форум.
Про использовании кирилицы в среде разработки arduino. Вы не пробовали сделать так:
изменить в настройках IDE preproc.substitute.unikode = false.
У меня с Adafruit библиотекой работает.
Пишу tft.print("Пишем по русски"); и на LCD без проблемм выводится кирилица, естественно в файле фонт прописана кирилица. Попробуйте, может и с UTFT будет работать.
Народ момогите с коментариями UTоuсh библиотеки для ATmega2560 + TFT 3.2 + шилд - хочу перевести с ардуиновских на Atmelstudio привычнее часть работы проделал но ещё есть над чем работать.
to slider,
помоги пожалуйста !
"..по тачскрину тут всё обсасывалось..", ткни пожалуйста носом (просмотрел всю тему, не нашел).
Имею вот такое чудо: 3.6", подключенное к Arduino UNO R3 (прямо в разъемы). По виду точно такой, как в собщении №552.
"Wholesale Product Snapshot Product name is 3.6 дюймов TFT сенсорный жк-модуль экран для Arduino UNO R3 высокое качество бесплатная доставка"
http://www.aliexpress.com/snapshot/6793090995.html?orderId=68267667513545
"3.6 дюймов TFT сенсорный жк-модуль экран для Arduino UNO R3 высокое качество бесплатная доставка"
На самом деле тут уже продают: 3.95"
"Бесплатная доставка! модуль жк дисплей TFT 3.95 дюймов TFT жк экран для Arduino UNO R3 совета и в мега 2560 R3 купить на AliExpress
http://ru.aliexpress.com/item/3-5-inch-TFT-Touch-LCD-Screen-Display-Module-For-Arduino-UNO-R3-HIGH-QUALITY-Free/1854649569.html"
Раскладка по пинам:
3.6 inch TFTLCD - Arduino UNO ; 3.6 inch TFTLCD - Arduino UNO
--- ;
--- ;
SD_sck- 13_PB5 ;
SD_do - 12_PB4 ;
SD_di - 11_PB3 ; -----
SD_ss - 10_PB2 ; 3v - 3v
LCD_d1 - 9_PB1 ; 5v - 5v
LCD_d0 - 8_PB0 ; gnd - gnd
--------------- ; gnd - gnd
LCD_d7 - 7_PD7 ; -----
LCD_d6 - 6_PD6 ;
LCD_d5 - 5_PD5 ; LCD_RD - A0
LCD_d4 - 4_PD4 ; LCD_WR - A1
LCD_d3 - 3_PD3 ; LCD_RS - A2
LCD_d2 - 2_PD2 ; LCD_CS - A3
--- - 1_PD1 ; LCD_RST - A4
--- - 0_PD0 ; --- - A5
Видеоконтроллер ILI9327_8
Строка инициализации: UTFT myGLCD(31,A2,A1,A3,A4). Тест "UTFT_Demo_400x240.ino" - красиво отображается.
Тач-скрин прилеплен, но ничего нигде не прозванивается (эти самые 300 ом).
Как определить: есть тач-скрин , или нет ?
Если загрузить тест из твоей правленной библиотеки: TFT_adafruit/...touchscreendemoshield.ino , то
При нажатии на экран в разных местах отображаются координаты : X , Y, Z (в сериал-мониторе).
Но почему то, эти координаты находятся в диапазоне от 800 до 1020.
Сам я в этом деле темный, может чего посоветуеш.
Как побороть тач-скрин ?
(Блин, красивую табличку построил, а оно все поломалось.)
к sepulka
и так сначала, в таких шилдах не видать микросхемы тача(чтоб инфу передавать по двум проводам), значит тач включен напрямую , используя 4 провода - это 2 аналоговых (к примеру на A1 A2) и 2 цифровых ( к примеру на D6 и D7). Другими словами Y между A1 D7 , X между A2 D6. Они должны прозваниваться мультиметром : координата X около 300 Ом , координата Y около 600 Ом. При нажатии на тач , между координатами появляется сопротивление.
Если уж не прозванивается, то либо забыли припаять (можно погреть плату обычным феном, аккуратно поднять экран и посмотреть, зде контакт от тача затерялся) . Либо, что крайне редко, на самом таче отслоился шлейф в месте его приклейки к контактам на стекле, прижать чемнибудь гочим, остудить и отпустить.
Проверь это сам. Да уж, пару месяцев назад, пожалел на него 350-370руб, сейчас он уже около 600р стоит, жаль.
ПослеСловие:
для тех кто следит за темой, проверьте напряжение +3,3 на ардуине, при работе экрана, у меня оказалось 4,2в ! это крайне нежелательно для контоллера в дисплее, у него максимум +3,3. Китайцы походу нифига не проверяли, что через резисторы или фиговые микросхемки-конверторы, сильные 5ти вольтовые "1" логические уровни от ардуино прут в контроллер дисплея, и аж запитывают его в виду его мизерного потребления, и перебивают его питание на завышение. Чтоб дисплей долго жил, поставил параллельно питанию +3,3в, стабилитрон , на тоже напряжение.
Если будете использовать microSD , то надо резать дорожки и напаивать 10 ком резисторы.
И да, тут в теме видел, что кто-то дисплейные 10ком резисторы (вместо микросхем-преобразователея уровня) меняет на гораздо меньшие, НЕЛЬЗЯ так делать! контроллер дисплея может вообще загнуться от передозы тока и напряжения по питанию! 10ком вполне хватает, даже и в обратном направлении (чтоб и с дисплея получать инфу). С тачем напрямую, конечно посложнее, ведь через WR RS (A1 A2) лог. уровни должны перебивать сигналы от тача к ардуине, что совсем затруднит чтение инфы с дисплея, если их не перевести в Z состояние.
к slider,
"нащупал" таки тач:
"Y" - А1-Д7 меряется 275 ом
"X" - А2-Д6 - 729 ом.
А как это все учитывать ? Куда вписать ?
В тесте "touchscreendemoshield.ino",
в строчке "TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); " - только одно число, а куда девать другое ?
Результаты теста, если экран расположить "портретно" , то есть выводы с тач-панели находятся внизу, справа то:
нажать и держать левый верхний угол X меняется от 1010 до 1015, Y меняется от 930 до 948,
правый верхний угол - X меняется от 975 до 979, Y меняется от 541 до 549,
левый нижний угол - X меняется от 883 до 887, Y меняется от 981 до 985,
правый нижний угол - X меняется от 675 до 701, Y меняется от 809 до 812.
Как из этого какие то конкретные координаты для экрана вывести ? Делить ? Вычитать ?
прикалываетесь чтоль?
если копаетесь с тачскрином, то хоть немного должны изучить как он сделан или как работает, почитайте в википедиа устройство тачскрина, сопротивления X и Y физически почти не меняются, меняется сопротивление между ними! сопротивления линий X и Y можно сказать постоянные, зависят от размеров тача(сопротивления напыленного прозрачного резистивного слоя). А если подвести 0(0v) и 1(5v) к примеру на пины Y, то измерив напряжение на Х (на любом из его контактов) мы узнаем координату Y нажатия.
вот текст touchscreendemoshield.ino из adafruit https://github.com/adafruit/Touch-Screen-Library/blob/master/examples/touchscreendemoshield/touchscreendemoshield.ino
там уже есть ваша распиновка:
Возможно распиновка тача нестандартная , так поиграйтесь с заменой A1 A2 7 8 в #define в скетче , раз говорите что эти координаты находятся в диапазоне от 800 до 1020. И не вешайте пока ничего дополнительно на эти порты пока не найдете правильную комбинацию, чтоб координаты сильно менялись от 50 до 1000 (0-1023) .
чтоб потом привести их к диаппазону 0-240 0-320 0-400 пикселей на экране , можно применить функцию map() , ну или тупо разделить на число коэффициент
к примеру для Y outputValue = map(sensorValue, 0, 1023, 0, 240);
или outputValue = map(sensorValue, 50, 1000, 0, 240); (только надо предусмотреть блокировку выходов за исходные пределы меньше 50 и больше 1000
И 300 ом по X тож уе стоит в скетче примере ,( по Y не надо, так понятно).
функция TSPoint p = ts.getPoint(); проверяет нажатие и записывает их в переменные p.x p.y p.z .
попробуейте чисто тач проверить, потом уже графику на экран добавлять в скетч.
[quote=slider]
"прикалываетесь чтоль?"
Ни в коем случае. Просто пытаюсь разобраться. Огромное спасибо, что не посылаете нафиг учить матчасть.
Возможно неясно выразился. У тач-скрина два резистивных слоя, так вот по ширине меряется (и неизменно) - 275 ом между пинами A1-D7, а по длинне (по другой координате, между пинами A2-D6) меряется - 729 ом (и неизменно). (у меня Arduino UNO).
Так вот эти 729 ом куда-то вписывать надо? В какую-то формулу ? В виде какого-то коэфициента ?
[quote=slider]
"...,( по Y не надо, так понятно)."
Вот это как раз и не понятно. Одно число вписывать или оба, поскольку они разные ?
А изменяются цифры на экране сериал-монитора при запуске теста: "touchscreendemoshield.ino", при нажатии на разные углы тач-скрина.
Y никуда не надо вписывать. (видимо обычно пропорции экранов около 4:3 , Y высчитать библиотеки самой ничего не стоит) . Да и вообще эти омы нафиг не нужны, хоть 300, хоть 600 , если не нужно подсчитывать силу(площадь) нажатия. Просто самому написать функцию, чтоб обойтись без библиотеки тача в своем скетче.
Нашел хорошую книгу:
"Проекты с использованием контроллера Ардуино", Виктор Петин, «БХВ-Петербург» 2014 г.
Вот там рассматривается подключение TouchScreen к аналоговым входам.
Буду на базе этого и себе сочинять.
книга лежит здесь http://arduino-project.net/download/arduino-books/proekty_s_ispolzovaniem_kontrollera_arduino.pdf
Замечу, иногда тачи бывают немного косячные, нет контакта ( просто нажать через скользкую бумагу в место крепления шлейфа на стекле, паяльником, и подержать давлением без него, дать остыть) , а бывает что он прожат в середине или углу (если запустить рисовалку, то видать где точки стремяться оказаться при слабом нажатии)
То для точности пробывал (правда снижает скорость программы) , замерять к примеру 20 раз в массив, во втором массиве пересчитывается , сколько каждое измерение раз встречается - потом ищется максимальная встречаемость - верить ей. Да , точность колоссальная. Но всё равно без задержки после только что появивщемся нажатии, через 0,1 сек дожатии , это даст ошибку. Более простое и умеренно точное определение будет - отслеживать нажатие, появилось, подождать 50-100мс чтобы палец дожал, потом и определять. если не отпущено после измерения, то измерениям - верить как достоверным!
Вообще в адафруитской библиотеке вроде совмещение LCD и тача. Библиотека тача в момент вызова её функции определения координат, смотрит как были настроены пины и что на них было. Перестраивает их по свойму, считывает координаты . И возвращает пины обратно как были, чтоб следующий вывод на дисплей был без проблем.
Если ляпаешь свою библиотеку или просто подпрограмму(функцию) в своем скетче, это надо предусмотреть.
Сори. Ошибся при вводе. Исправил. С TouchScreen разобрался, нужно было в скетче подобрать парамеры. Можно посмотреть http://178.130.34.198/Adafruit/sketch
Работает со всеми LCD по списку библиотеки, нужно только перед компиляцией менять разрешение в .ccp
Уважаемый diger67!
Ссылка битая, можете выложить куда нибудь на файлообменник?
"Можно посмотреть http://178.130.34.198/Adafruit/sketch"
У меня скачалось без проблем.
Но работать не хочет, хотя видео процессор ili9327(8-битная плата TFT 3,6" подключена к UNO).
Белый экран - и все, только в сериал-монитор выводится "Paint!".
Что-то с инициализацией дисплея.
Для UTFT-библиотеки у меня работает строка инициализации - UTFT myGLCD(31,A2,A1,A3,A4);
А вот как это будет для TFT_adafruit ?
Там вот такой вызов: Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);;
(и, соответственно: #define LCD_CD A2;)
А у меня: "LCD_RS A2".
Как их соотнести между собой ? Простое переименование "CD" в "RS" не проходит. Ошибок не выдает, но и толку никакого.
sepulka, хм спасибо. Щас и я скачал. 2 дня пробовал, сайт не отвечал.
У меня вроде ili9488. На UNO рабтает без проблем, на меге тупо белый экран.
Вечером проверю, заведется ли с этими библиотеками.
А мне что посоветуеш ?
Куда копать ?
Где почитать ?
Даже не знаю. Библиотеки то разные, параметры другие.
Почему бы не использовать UTFT, если на ней работает?
На "Adafruit" библиотека для сенсорной панели без микросхемы.
Хочу на базе этого слепить и себе что-то вроде графического калькулятора.
Но знаний явно маловато.
Под тач мне попалась отдельная библиотека, у меня работает:
https://github.com/adafruit/Touch-Screen-Library
Спасибо, но это тоже "Adafruit".
А вот как совместить "Adafruit" и "UTFT" для инициализации ?
Вот такой TFT 3,9 дюйма ili9488:
http://ru.aliexpress.com/item/3-5-inch-TFT-LCD-screen-module-Mega-2560-R...
С библетекой diger67 завелся на mege 2560 без проблем вместе с тачем и нормальной ориентецией.
Ура! Спасибо, товарищи!
Тач без микросхемы ? Подключен к аналоговым входам ?
Нормально себя ведет ?
Попробуй загрузи "Paint". Опиши впечатления.
(Может и себе такой комплект купить и ничего никому не морочить.)
1. Наверно бех микросхемы. Экран садится прямо на мегу или уно. Часть к аналогвым, часть цифровым ногам разьемы идут.
2. Я ж написал. Ведет себя отлично, проверял как раз в том числе и на примере tftpaint2. Рисовать пальцем хорошие картинки вряд ли получится, а вот сделать например клавиатуру вполне можно.
Граждане. У меня библиотека уважаемого diger67 работает на меге. У меня такая же или9488. Единственный миинус что в примере paint2 рисовать получается только на небольшом участке экрана. хотя водить приходится по всему экрану. Что не так ?
В Adafruit_TFTLCD.cpp нужное разрешение раскоментили а не нужное закоментили?
Спасибо.
Пожалуй это выход из положения.
Много нервных клеток сохранится !
ДА. Так и сделал. Картинка на весь экран как и должна но тач рисует только в маленьком прямоугольнике.
У меня рисует по всему экрану. А вот стирает только в маленьком прямоугольнике. Но рабираться не стал, главное тач работает.
Добавлю, чтоб было, продублирую в нескольких темах.
Наткнулся при поиске на китайский ресурс, облачный диск человека, тогрующего дисплейными модулями на Таобао.
Там куча информации по дисплеям, библиотеки под разные контроллеры, в том числе большинство под Arduino, примеры, даташиты, схемы, фото распиновок и т.д.
Дано экран из поста №552. Можно для криворучек повторить по шагам как экран на R61509V с UTFT подружить? Посты №562-564 вдоль и поперек уже прочитал. Не выходит каменный цветок хоть ты тресни ( Может кто-то работающий UTFT выложить сможет?
Дано экран из поста №552. Можно для криворучек повторить по шагам как экран на R61509V с UTFT подружить? Посты №562-564 вдоль и поперек уже прочитал. Не выходит каменный цветок хоть ты тресни ( Может кто-то работающий UTFT выложить сможет?
Все. Разобрался. Забыл что для использования шилда УНО на меге надо подшаманить. Короче готовый вариант UTFT для R61509V - для УНО шилда (в т.ч. и на меге).
https://cloud.mail.ru/public/FzQ9/YUFA3E576
Все. Разобрался. Забыл что для использования шилда УНО на меге надо подшаманить.
А можете так же лихо и с тач-скрином разобраться ?
Там тач-скрин без микросхемы специальной, прерывания не использует,
подключен прямо на два аналоговых и два цифровых канала.
С библиотеками "Adafruit" у меня получилось его оживить. Но информацию он отдает только в сериал-монитор.
А экран при этом я не знаю как инициализировать. Экран белый, только подсветка.
Хммм.... тачскрин работает у меня на меге но как-то не так. Попробую посмотреть что там. А насчет белого экрана. Файл с UTFT из моего поста пробовали? Скетч с примером 400х240 из библиотеки подправьте строку инициализации, с 31 на 33(код R61509V) На меге конечно этот экран просто чудеса тормознутости показывает тест по 120 секунд выполняет.
Скетч с примером 400х240 выполняется красиво, без проблем. Даже исправлять ничего не надо. (У меня видео -контроллер ILI9327_8, так что 31 - в самый раз. (Плата UNO)).
Но в тесте не используется тач-скрин, а как их совместить я не знаю. А с нуля, все полностью сочинять не хочется. В посте №580 я уже это описывал эту проблему.
Я уже заказал на "Али" другой экран с процессором ILI9488. Может с ним будет проще.