查看: 13115|回复: 0

【教程】arduino UNO/MEGA叠加触摸显示屏

[复制链接]
  • TA的每日心情
    擦汗
    2014-7-18 09:38
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2014-6-27 10:01:38 | 显示全部楼层 |阅读模式
    分享到:
    Itead studio主营两种TFT-LCD。一种是带有arduino标准接口的扩展板,而另一种是模块。有些小伙伴在买了TFT-LCD和主板回去组合安装,烧程序进去之后发现显示屏还是一片空白,无法显示东西。我们梳理了一下小伙伴的反馈意见,发现主要有两个原因:一是配件没有买齐全,二是没有将程序中的model参数修改正确。


    由于ITDB02系列的LCD模块只能在3V电流下工作,并且不能直接叠加到Arduino UNO/MEGA主板上,所以在使用这一系列模块的时候必须添加一个Arduin UNO/MEGA专用扩展板。其组合为ITDB02 LCD模块+Arduino UNO/MEGA专用扩展板+Arduino UNO/MEGA主板。除此之外,专用扩展板同时支持3V和5V的主板,所以它能兼容多种Arduino MEGA主板,例如DUE。

    以下是两种TFT LCD搭配UNO/MEGA的配件组装图:

    下图是**ITEAD 3.2 TFT LCD扩展板 +Arduino MEGA**(2.4寸和2.8寸的TFT LCD扩展板也是同样直接叠加使用)

    3.2 adk.gif

    下图是**ITDB02-2.8 + ITDB02专用MEGA扩展板 + Arduino MEGA**

    3.2 adk shield.gif

    下图是**ITDB02-2.8 + ITDB02专用UNO扩展板 + Arduino UNO**

    2.8 uno shield.gif

    具体搭配组合使用请参照下面参数表:

    biaoge.jpg

    确定自己所需的配件后,接下来我们将会简单介绍如何正确使用UTFT程序驱动TFT LCD的技巧。

    下载UTFT库http://henningkarlsen.com/electronics/library.php?id=51,然后将压缩包解压到你的arduino安装目录下的**libraries**文件夹。

    解压之后,你必须根据自己TFT-LCD的分辨率来打开相应的UTFT_Demo。例如ITEAD 3.2寸 TFT LCD扩展板,其分辨率为320x240,则可以打开名为UTFT_Demo_320x240的程式。

    打开demo后的下一步就是修改model参数。

    对应“√”使用2009Duemilanove/UNO/Leonardo开发板的TFT  LCD引脚定义使用以下这行代码:

        UTFTmyGLCD(<model>,38,39,40,41);

    其中的model请依据表格里的对应参数填入。例如ITDB02-2.8-8bits,其代码为

        UTFTmyGLCD(ITDB28,38,39,40,41);

    对应“√”使用MEGA/DUE开发板的TFT  LCD引脚定义使用以下这行代码:

        UTFTmyGLCD(<model>,19,18,17,16);

    Model也是依据表格里的对应参数填入。例如ITDB02 2.8-16bits,其代码为

        UTFT myGLCD(TFT01_24_16,19,18,17,16);


    以下是UTFT代码upload步骤:关键就是根据自己的TFT LCD类型选择填写正确的<model>

    demoupload1.jpg

    以下是烧程序进去之后TFT-LCD显示的画图效果。


    demouploaded2.gif



    以上是UTFT的画图功能,下面介绍的是屏幕的触摸功能,使用的是UTouch库文件。

    注意:目前由于UTouch的demo版本更新,暂不支持使用2009Duemilanove /UNO/Leonardo开发板的测试,这个问题将尽快解决。以下使用的是MEGA/DUE开发板为例。

    UTouch库文件下载地址: http://henningkarlsen.com/electronics/library.php?id=55  解压**UTouch.rar**这个安装包到libraries文件夹里。

    接下来的首要工作是对屏幕校对。使用UTouch demos里的**UTouch_Calibration**

    UTouchcalibration.jpg

    有两处地方是需要做参数修改的。第一处同样是修改model参数。修改方式与UTFT demo的修改方式相同。都是将模块对应的model参数填入以下代码中。

        UTFT    myGLCD(<model>,38,39,40,41);

    例如ITDB02-2.8-8bits,其代码为:

        UTFTmyGLCD(ITDB28,38,39,40,41);

    第二处需要修改的地方就是选择正确的主板类型相对应的引脚:

        // StandardArduino Uno/2009 Shield            :15,10,14, 9, 8
        // StandardArduino Mega/Due shield            :  6, 5, 4, 3, 2
        // CTE TFTLCD/SD Shield for Arduino Due      :  6, 5, 4, 3, 2
        // Teensy 3.xTFT Test Board                   : 26,31,27,28,29
        // ElecHouseTFT LCD/SD Shield for Arduino Due : 25,26,27,29,30

    因为我们使用的是MEGA/DUE主板的标准专用扩展板,所以使用以下对应代码:   

    UTouch  myTouch(6, 5, 4, 3, 2);

    下一步,你可以将程序烧进主板。当频幕出现一个图标的时候,你必须用一只触摸笔点击图标。尽量不要使用手指去碰触,使用手指得到的校对值是很不准确的。当最后屏幕出现三个校对值的时候,你可以将这三个值拿到以下网址去检验。

         http://henningkarlsen.com/electronics/t_cal_verify.php

    如果在尝试多次之后,检验结果都显示不合格,你可以在下方的按钮里获取参考值。

    最后就是将你的测试值或者获取的参考值复制进**UtouchCD.h**文档里,然后保存。

    UTouchCD.jpg
    完成了校对之后,你就可以在TFT-LCD模块上运行UTouch其他的demos或者你自己写的demos。



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 22:30 , Processed in 0.117710 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.