嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

Digilent 多触点显示屏Shield 给Arduino带来了多触点显示

Main6_c46be04f7d26c196797bcefe73358ac877c4df0f.jpg

shield给Arduino项目添加了一个明亮的2.8”多触点显示器

编号为410-317 (136-8068) 的Digilent多触点显示器 shield和相关软件使得添加QVGA分辨率触摸屏到Arduino项目变得容易。在这篇文章中,我们先来看看支持的硬件和软件,然后再尝试一些提供的例子。

硬件

MTDS1_3a7aa714a8afca5f5845a57d02b20f547c116587.jpg

Arduino shield主要配备有:

  • 2.8“QVGA分辨率显示器(320×240)

  • 2手指电容性触摸板

  • PIC32MZ单片机

接口通过SPI,Arduino库支持的Arduino和chipKIT.

MTDS2_1e0e65bce94f77583584b7d552cdca6ca8dcfb02.jpg

对于引脚分配,原理图和附加的硬件细节,请参见参考手册

多触点显示系统(MTDS)

图片来源: digilentinc.com.

shield利用了Digilent多触点显示系统,通过专用处理器来驱动屏幕,其固件和主机使其容易:

  • 使用Arduino库设计一个只有几行代码的UI
  • 从存储在microSD的文件中提取二进制透明图像
  • 调用直观的函数在下拉按钮上并检查它们的状态

除了支持chipKIT and Arduino,还可以通过Pmod多触点显示模块(410 - 341),PmodMTDS IP 核心和库一起使用带有Arty (Xilinx FPGA/Zynq) platforms的MTDS

 

软件设置

uC32_ae06c4d4f88a48d83b0ba214de82d60e4556af7a.jpg

我们决定用带有chipKIT uC32 (775-7346) Arduino兼容板,Arduino IDE的shield。一旦安装了Arduino软件,就要安装支撑chipKIT板的chipKIT Core。在IDE的后续版本中,只需添加新的Board Manager URL,就能搜索它,并选择安装它。

MTDS参考网站上,通过ZIP下载多触点显示器Shield 的Arduino库,示例和相关文档。 ZIP还包括一个快速入门指南,加上位图/图像资源,这些资源被复制到嵌入shield中的Micro SD卡上。

Arduino库

有两个Arduino库供 shield使用

MTDS

MTDS提供了API,而库定义了三个对象实例:

  • MTDS mtds; // 用于获取图形和基本服务的对象

  • MTDS mtds; // 用于访问文件系统服务的对象

  • MTDS mtds; // 用于获取窗口系统的对象

一个简单的例子,使用第一个,图形系统功能,在显示器上设置一个像素:

mtds.SetPixel(hdsDisp, 10, 20, clrWhite)

100页的MTDS库程序员参考手册相当全面,不仅涵盖了启动和初始化等主题,还有绘制状态、坐标系统和颜色等核心概念。

MyDisp

MyDisp库提供了建立在MTDS上的高级接口,其功能简单,可以显示图形并创建简单的触控界面。例如,从显示器的左上角绘制一条线到右下角100像素处:

mydisp.drawLine(0, 0, 100, 100);

此外,还提供了一个附带的程序员手册,它涵盖了坐标系统、颜色值、笔模式、触摸面板操作和UI按钮等核心概念。尽管手册的长度只有21页,但是简化了库。

举例

MtdsDemo1_db686e283cb44e1674fe7b509656ff59610a6242.jpg

MtdsDemo1其中一个屏幕略图.

为MTDS库提供了7个演示略图:

  1. 使用大多数图形API功能和通过许多不同的屏幕循环,来演示它们的使用。
  2. 将图形呈现至显示器上,并从SD卡上的文件中保存和下载位图。
  3. 从SD卡下载位图,然后显示在显示器上。
  4. 演示触控面板的使用。
  5. 和(4)一样,但景观定向而不是肖像。
  6. 演示了一些图形设施的使用。
  7. 演示了DrawBitmap()函数的用法

MyDispDemo3_118a68ff1c62e91cafae8b1a768d22ab5aa203b3.jpg MyDispDemo3略图展示了按钮、触控和进度轮

为MyDisp库附加三个演示草图:

  • 演示从存储在SD卡上的位图文件中提取的图像。
  • 演示如何使用库创建和使用触摸按钮来构建用户界面。
  • 类似于(2),但是为按钮使用不同的位图,并演示了一些其他的功能,包括如何使推动进度轮。

总结

Digilent Shield多点触控显示器是一种便捷的方式,增加了一个QVGA分辨率显示屏,并且具有对arduino兼容平台的电容性、多触点功能。此外,不必担心驱动显示,就能实现原始图形显示并且支持触摸。因此,不仅减少了开发时间,还减少了应用程序MCU上的开销。

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin