驱动淘宝2‘4寸 TFT带触摸屏的方法
本帖最后由 Clagrens 于 2015-6-3 00:13 编辑今天某宝入手了一个2.4TFT触摸屏……
宝贝地址:
http://item.taobao.com/item.htm?spm=a230r.1.14.36.YAipfw&id=39834819734&ns=1&abbucket=3#detail
不科学的竟然店家给的驱动没办法驱动(非病句也)……
于是此刻我就只能求助万能的google……然后终于找到解决办法了!!
首先,我是先搜索关于这个屏幕的信息,关键词“2.4 tft arduino”
找到这个网站,是卖这个屏幕的
http://www.banggood.com/2_4-Inch-TFT-LCD-Shield-Touch-Board-Display-Module-For-Arduino-UNO-p-940735.html
第一版就有一个高人提供了一个解决办法!
I got Touch and Screen working thanks to the links here and some some my own figuring out for the touchscreen!
My combination that worked is as follows:
“谢谢这些库文件的开放者,和一些为我的触摸屏指出型号的人,我终于使这个触摸屏可以触摸和显示了!以下是我的整理:”
Install 3 adafruit libraries)
(https://github.com/adafruit/Adafruit-GFX-Library)
(https://github.com/adafruit/TFTLCD-Library)
(https://github.com/adafruit/Touch-Screen-Library)
1.安装上面三个adafruit的库
(注,打开上面的页面之后页面右边有个downloadzip,下载就好了。不会用github的话可以百度找找。)
(注意,不同版本的arduino导入库的方法不一样,可以查找相关的版本导入方法,本教程基于arduino 1.6.4)
Open Examples > TFTLCD-Library-master > tftpaint
Change this to force the sample to use this display type
"uint16_t identifier = tft.readID();" to "uint16_t identifier = 0x9341;"
2.打开“文件->示例-> TFTLCD-Library-master > graphicstest”
3.修改
"uint16_t identifier = tft.readID();"
为
"uint16_t identifier = 0x9341;"
(为什么呢!因为国产山寨触摸屏没有给芯片写ID,所以导致adafruit库没办法识别,修改这一句后就能强制地调用9341的驱动!)
将上面几句改好之后液晶就能驱动了
对于触摸屏的话,有几种解决方案:
1.adafruit的标准定义
#define YP A2// must be an analog pin, use "An" notation!
#define XM A3// must be an analog pin, use "An" notation!
#define YM 8 // can be a digital pin
#define XP 9 // can be a digital pin
2.上面那个网址的定义
#define YP A2// must be an analog pin, use "An" notation!
#define XM A1// must be an analog pin, use "An" notation!
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin
3.对某宝的国产屏定义
#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
注意!!某宝给的国产屏按着上面定义给出的x轴点坐标是反转的
如果要跑示例中的tftpaint
需要将
p.x = map(p.x, TS_MINX, TS_MAXX, tft.width(), 0);
p.y = map(p.y, TS_MINY, TS_MAXY, tft.height(), 0);
改为
p.x = map(p.x, TS_MAXX, TS_MINX, tft.width(), 0);
p.y = map(p.y, TS_MINY, TS_MAXY, tft.height(), 0);
这样才是真正能跑了
附上一张我的painttest
第一次发帖,请轻喷~谢谢 :'(没人回复 贴出屏幕TB地址该 xiancai 发表于 2015-6-2 22:56 static/image/common/back.gif
贴出屏幕TB地址该
http://item.taobao.com/item.htm?spm=a230r.1.14.36.YAipfw&id=39834819734&ns=1&abbucket=3#detail 不错,支持折腾。就是担心arduino是否跑得开这个屏。 我那个TFT40脚的 :'(楼主怎么不早点贴出来啊,我刚刚把那个屏给退了,试了好几个库文件,都编译不过,有个显示图片的程序好不容易编译通过,串口监视器上显示sd卡读取成功,就是显示屏显示不了图片。问卖家,卖家给了我一个资料,结果还是不行。我就退了,你要是早点发出来多么多么好啊。呜呜。。。白白出了八块钱运费 雨轩 发表于 2015-6-4 19:32 static/image/common/back.gif
楼主怎么不早点贴出来啊,我刚刚把那个屏给退了,试了好几个库文件,都编译不过,有个显示图片的程序好不 ...
:D:D没事,你也从这块屏幕学会了不少嘛 楼主啊,我之前还买了一个屏,是2.2寸的2.2寸屏,不是打广告
卖家给的程序中没有从SD卡中读图片,你知道怎么弄不?能教下我嘛:lol 我看了代码:LCD脚定义和触摸屏定义有重复,A1/A2,这样能正常工作吗?
急需要。
Adafruit_TFTLCD(uint8_t cs, uint8_t cd, uint8_t wr, uint8_t rd, uint8_t rst);
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
触摸屏 四线
#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
本帖最后由 wdjkzym 于 2015-8-18 03:38 编辑
我刚买了一块到手 也是楼主这个屏
不过按楼主说的方法没驱动成 一直白屏
TFTLCD-Library-master TFTShieldExampleCodemaster没成
最后还是换回1.0.5 把TFTLCD.ZIP运行成了
触摸部分TouchScreenLibrarymaster可以用但是触摸不灵位置也不准 看楼主的照片发现和我买的有一点点不同(同店铺)
USB口表面要做绝缘处理 要不一按就和触摸屏上的触点短路
(ps这家我买了三个NANO坏了一个..还没解决) wdjkzym 发表于 2015-8-13 21:54 static/image/common/back.gif
我刚买了一块到手 也是楼主这个屏
不过按楼主说的方法没驱动成 一直白屏
TFTLCD-Library-master TFTShi ...
重新测试了 TouchScreenLibrarymaster库内部的数据
根据手上触摸屏测试重写了部分算法终于可以流畅的触摸了
另外触摸屏的左上角偏移严重 需要后期修正一下要不然画出的是个梯形范围 谢谢楼主 今天我找到那个网站把屏幕跑起来了 看你的帖子后把触摸跑起来了
1
wdjkzym 发表于 2015-8-18 10:00 static/image/common/back.gif重新测试了 TouchScreenLibrarymaster库内部的数据
根据手上触摸屏测试重写了部分算法终于可以流畅 ...
我也有興趣買個觸屏試試, 大大可以把修改好的庫分享一下嗎?謝謝.
本帖最后由 wdjkzym 于 2015-8-19 12:30 编辑
Super169 发表于 2015-8-18 14:42 static/image/common/back.gif
我也有興趣買個觸屏試試, 大大可以把修改好的庫分享一下嗎?謝謝.
楼上他们都运行起来了可能只是我这个有质量问题:dizzy:
要是你到手的有问题 我再告诉你改哪句
今天NANO钱才退给我
买个东西 一个坏 一个毛病 一个发错 我也是醉了
页:
[1]
2