Hermosa 发表于 2021-4-29 01:25:15

请问该如何使用“IPS TFT电容触摸显示屏”?感激不尽!

本帖最后由 Hermosa 于 2021-4-29 01:32 编辑

      我们是学生,对于Arduino只有一些基础的了解,因为有一门课要做个小项目,需要用到触摸屏,目前有Arduino UNO R3的板子,购买了“3.5" 480x320 IPS TFT电容触摸显示屏-显示屏-DFRobot创客商城”,但是查询了比较多,还是不太清楚该怎么用这个显示屏。恳请懂这方面知识的朋友可以帮帮我们,感激不尽!
      我们想实现的功能:触摸实现互动,包括向屏幕输入数字用以倒计时(我们有一个实时时钟模块)、屏幕上显示文字、屏幕上显示图片等
      困难是:①之前屏幕一直白屏,显示不了内容,已经寄回去检查,在寄回来的路上,所以屏幕现在不在手边 ②不知道该如何在屏幕上显示图片,下载的示例或者API接口函数里面,并没有看到相关函数调用。
      到Google、YouTube搜索,大多数也是别的TFT触摸屏的演示信息,不知是否是因为我们买的屏幕比较小众?如果换屏幕的话,请问有什么建议吗?

      这是显示屏的产品维库:DFRobot 3.5
      这是API接口函数:中文 WIKI · DFRobot/DFRobot_GDL Wiki · GitHub

      不知道为什么链接放不了,写在了这里——
      3.5" 480x320 IPS TFT电容触摸显示屏-显示屏-DFRobot创客商城 https://www.dfrobot.com.cn/goods-2877.html
      维库: https://wiki.dfrobot.com.cn/3.5_480x320_IPS_LCD_With_Cap_Touch_SKU_DFR0669
      API函数:https://github.com/DFRobot/DFRobot_GDL/wiki/%E4%B8%AD%E6%96%87-WIKI      

      底下是API接口函数的描述,大多是如何绘制一个图,如何显示文字,没有显示图片的函数
[*]

[*]begin 初始化屏幕并给指定传输速率
[*]drawPixel 在位置(x, y)绘制一个像素点
[*]fillScreen   这是一个刷屏函数;color为RGB565格式的颜色
[*]drawFastVLine快速垂直划线函数;在(x, y)为起点,画一个高度为h的直线
[*]drawFastHLine快速水平划线函数;在(x, y)为起点,画一个长度为h的直线
[*]drawRect在(x, y)位置(左上边缘)绘制一个空心矩形,w和h是矩形的长和宽。
[*]fillRect在(x, y)位置(左上边缘)绘制一个实心矩形,w和h是矩形的长和宽。
[*]drawCircle在位置(x0, y0)绘制一个半径为r的空心圆。圆的直径为2*r+1。color可以使用指定的颜色进行绘制。
[*]drawCircleHelperdrawCircleHelper在(x0, y0)绘制一个半径为r空心的四分之一圆,用于做圆形和圆角。cornername是屏蔽位来实现圆的四分之一,可以进行多种组合。
[*]fillCircle在位置(x0, y0)绘制一个半径为r的实心圆。圆的直径为2*r+1。color可以使用指定的颜色进行绘制。
[*]fillCircleHelper   fillCircleHelper在(x0, y0)绘制一个半径为r实心的四分之一圆,用于做圆形和圆角。cornername是屏蔽位来实现圆的四分之一,可以进行多种组合。
[*]drawTriangle   绘制一个空心三角形。参数为16位,x0/y0,x1/y1,x2/y2为三角形的3个点。
[*]fillTriangle绘制一个实心三角形。参数为16位,x0/y0,x1/y1,x2/y2为三角形的3个点。
[*]drawRoundRect从x/y位置(左上边缘)开始绘制一个空心的圆角矩形。盒子/框架有宽w和高h。框的某些部分可以在显示边界之外。边缘具有半径r,要求w>=2*(r+1)和h>=2*(r+1)。如果w或h小于2*(r+1),则行为未定义
[*]fillRoundRect   从x/y位置(左上边缘)开始绘制一个实心心的圆角矩形。盒子/框架有宽w和高h。框的某些部分可以在显示边界之外。边缘具有半径r,要求w>=2*(r+1)和h>=2*(r+1)。如果w或h小于h>=2*(r+1),则函数自定义r。
[*]drawBitmapdrawBitmap重载了多个函数。在指定的x,y位置(位图的左上角)绘制一个单色位图。位图的某些部分可能不在显示边界之内。位图由数组指定bitmap或者是指向位图开始的指针。w,h为位图的高度和宽度;color画16位5-6-5的单色图片颜色,bg画16位5-6-5的背景颜色。
[*]drawXBitmapdrawBitmap重载了多个函数。在指定的x,y位置(位图的左上角)绘制一个单色位图。位图的某些部分可能不在显示边界之内。位图由数组指定bitmap或者是指向位图开始的指针。w,h为位图的高度和宽度;color画16位5-6-5的单色图片颜色,bg画16位5-6-5的背景颜色。
[*]drawXBitmap绘制progmemm保存的XBitMap文件(*.xbm),从GIMP导出。从GIMP导出到*.xbm、重命名*.xbm到*.c并在编辑器中打开。C数组可以直接与此函数一起使用。该函数没有ram保存版本;如果生成位图在RAM中,使用drawBitmap()定义的格式并调用它。在指定的x,y位置(位图的左上角)绘制一个单色位图。位图的某些部分可能不在显示边界之内。位图由数组指定bitmap或。w,h为位图的高度和宽度;color画16位5-6-5的单色图片颜色。
[*]drawGrayscaleBitmap    drawGrayscaleBitmap重载了多个函数,它旨在指定的位置(x,y)绘制一个progmemeresident 8位图像(灰度)。 特别适用于8位显示设备,如IS31FL3731;不进行减色/展开。在指定的x,y位置(位图的左上角)绘制一个8位位图。位图的某些部分可能不在显示边界之内。位图由数组指定bitmap或者是指向位图开始的指针;mask是带掩码位图的字节数组。w,h为位图的高度和宽度。
[*]drawRGBBitmap   drawGrayscaleBitmap重载了多个函数,它旨在指定的位置(x,y)绘制一个progmemeresident 8位图像(灰度)。 特别适用于8位显示设备,如IS31FL3731;不进行减色/展开。在指定的x,y位置(位图的左上角)绘制一个8位位图。位图的某些部分可能不在显示边界之内。位图由数组指定bitmap或者是指向位图开始的指针;mask是带掩码位图的字节数组。w,h为位图的高度和宽度。
[*]
[*]drawChardrawChar旨在画一个字符,它也进行了重载。在指定的x,y位置(字符的左上角)绘制字符。size为设置字体放大等级。size_z和size_y旨在自定义设置字体的长和宽的放大等级。
[*]getTextBoundsgetTextBounds帮助程序,用于确定具有当前字体/大小的字符串的大小。传递字符串和光标位置,返回UL角和W,H。它也进行了重载。
[*]getRotationgetRotation获取显示的旋转设置。用于确定当前的显示方向,0至3对应于4个基本旋转。
[*]getCursorX getCursorX获取文本光标X的位置。
[*]getCursorY getCursorY获取文本光标Y的位置。
[*]setTextSize setTextSize旨设置文本“放大”大小。size为设置字体放大等级;长和宽由函数设置。sx和sy旨在自定义设置字体的长和宽的放大等级。
[*]setFont setFont旨当打印()时设置字体显示时,可以自定义或默认。size为设置字体放大等级;长和宽由函数设置。sx和sy旨在自定义设置字体的长和宽的放大等级。
[*]setRotation 设置旋转方向,r为0,1,2,3有效。
[*]setCursor setCursor设置光标位置。
[*]setTextColor setTextColor设置文本字体颜色与透明背景或者设置文本字体颜色自定义背景颜色。用于“透明”背景,背景和前景设置为相同的颜色,而不是使用单独的标志。
[*]setTextWrap setTextColor设置文本对于屏幕宽度是否太长自动换行(否则剪切)。
[*]widthwidth获取显示宽度,要考虑当前旋转。
[*]hight hight获取显示长度,要考虑当前旋转。
[*]cp437 setTextColor启用(或禁用)代码页437兼容的字符集。在glcdfont.c中有一个最长时间的错误—1字符(#176,'light shade'块)丢失——这个去掉它后面每个字符的索引。但是很多代码都是用错误代码编写的字符索引。默认情况下,库使用原始文件“错误的”行为和旧的草图仍然有效。通过'true'来使用正确的CP437字符值在您的代码中。
[*]UIbegin

[*]setThemesetTheme设置UI主题函数,初始化UI使用到的参数。the是eTheme_t类型数据,包含了了两种主题。
[*]setGestureAreasetGestureArea设置触摸的手势识别区域。
[*]draw绘制控件。
[*]drawString绘制字符串。在(x,y)的位置开始绘制字符串c。
[*]refresh refresh刷新屏幕。
[*]endInputendInput使文本框停止输入。
[*]getGestureArea 获取手势
[*]creatKeyPad 在屏幕上创建一个数字键盘
[*]creatButton 在屏幕上创建一个按钮控件。
[*]creatText在屏幕上创建一个文本框控件。
[*]creatSlider 在屏幕上创建一个滑条控件。
[*]creatSwitch 在屏幕上创建一个开关控件。
[*]creatTableview 在屏幕上创建一个表单视图控件。
[*]creatBar 在屏幕上创建一个进度条。
[*]Touch触摸芯片GT911的构造函数







Hermosa 发表于 2021-4-29 01:29:41

不知道为什么链接放不了,写在了这里
3.5" 480x320 IPS TFT电容触摸显示屏-显示屏-DFRobot创客商城 https://www.dfrobot.com.cn/goods-2877.html
维库: https://wiki.dfrobot.com.cn/3.5_480x320_IPS_LCD_With_Cap_Touch_SKU_DFR0669
API函数:https://github.com/DFRobot/DFRobot_GDL/wiki/%E4%B8%AD%E6%96%87-WIKI
页: [1]
查看完整版本: 请问该如何使用“IPS TFT电容触摸显示屏”?感激不尽!