|
显示屏是向特定设备或项目的用户提供反馈的最佳方法之一,通常显示屏越大越好。在本篇文章中,我们将介绍如何在Arduino开发板上使用相对较大、低成本的基于ILI9481的3.5寸彩色TFT显示屏。
如上所述,该3.5寸彩色TFT显示屏是基于TFT显示驱动器ILI9481。该模块的分辨率为480×320像素,并带有SD卡插槽,通过该插槽可以将存有图形和UI的SD卡连接到显示屏。该模块还预焊接了插头,以便于在Arduino Mega和Arduino Uno上轻松安装,这很好,因为与Arduino Uno配合使用的TFT显示屏非常少。为了展示如何在基于Arduino的项目中使用该显示屏,我们将运行简单的演示在显示屏上显示图形和文本。
所需的组件 ● 3.5寸彩色TFT显示屏 ● Arduino UNO开发板 ● Arduino Mega开发板
原理图 该模块的其中一个优点是可以轻松连接到Arduino Mega或Arduino Uno。在本文中,我们将使用Arduino Uno,因为该模块是一个扩展板,其引脚焊接与Uno的引脚排布相匹配。我们需要做的就是将其插入Arduino Uno的顶部,如下图所示,因此无需布线。
然而,上述模块的这种易用性是显示屏的少数缺点之一。如果我们不使用连接的SD卡插槽,则将剩下6个数字引脚和1个模拟引脚,因为该模块使用了大多数Arduino引脚。当我们使用显示器的SD卡部分时,将只剩下2个数字引脚和1个模拟引脚。显示屏与Arduino Mega的引脚兼容,而Mega开发板提供了更多的数字和模拟引脚供您使用,因此当您需要额外的引脚时,尺寸就不成问题了,使用Mega。连接模块后,我们现在可以开始编写代码了。
代码 为了轻松编写代码以使用该显示屏,我们将使用Adafruit提供的GFX和TFT LCD库,可在此处下载。安装了库之后,我们可以轻松地浏览随附的示例,并将其上传到我们的设置中以查看实际显示。通过研究这些示例,可以轻松地学习如何使用此显示屏。但是,在本文中,我将一些最重要的用于显示文本和图形的功能编译到了Arduino草图中。
和平常一样,我们将快速浏览一下代码,首先包含用于项目的库,在本例中为Adafruit GFX和TFT LCD库。 - //Written by Nick Koumaris
- //info@educ8s.tv
- #include <Adafruit_GFX.h>
- #include <Adafruit_TFTLCD.h>
复制代码接下来,我们声明LCD连接到的Arduino的引脚,并使用匹配的十六进制值创建字体和颜色的变量。 - #define LCD_CS A3
- #define LCD_CD A2
- #define LCD_WR A1
- #define LCD_RD A0
- #define LCD_RESET A4
- #define BLACK 0x0000
- #define BLUE 0x001F
- #define RED 0xF800
- #define GREEN 0x07E0
- #define CYAN 0x07FF
- #define MAGENTA 0xF81F
- #define YELLOW 0xFFE0
- #define WHITE 0xFFFF
复制代码接下来,我们将LCD连接到的Arduino引脚作为参数创建TFTLCD库的对象。 - Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
复制代码
完成上述操作后,接下来是void setup()函数。首先,我们通过使用tft.reset()命令将LCD重置为默认配置。接下来,LCD.begin函数指定要使用的LCD类型,并根据需要设置TFT的旋转角度。我们用不同的颜色填充屏幕,并使用不同的颜色(通过tft.SetTextColor()函数)和字体大小(通过tft.setTextSize()函数)显示不同种类的文本。 - void setup() {
- tft.reset();
- tft.begin(0x9481);
- tft.setRotation(1);
- tft.fillScreen(RED);
- tft.fillScreen(GREEN);
- tft.fillScreen(BLUE);
- tft.fillScreen(BLACK);
- delay(1000);
- tft.setCursor(80,100);
- tft.setTextColor(WHITE);
- tft.setTextSize(4);
- tft.print("Hello");
- tft.setCursor(220,100);
- tft.setTextColor(RED);
- tft.setTextSize(4);
- tft.print("YouTUBE!");
- tft.fillRect(80,200, 321, 60, RED);
- tft.setCursor(135,215);
- tft.setTextColor(WHITE);
- tft.setTextSize(4);
- tft.print("Subscribe");
- tft.drawRect(0,0,480,320,WHITE);
- delay(1000);
复制代码
接下来是void loop()数。 在这里,我们基本上使用与void setup()函数相同的函数创建一个UI,显示一个订阅按钮。 - void loop()
- {
- tft.fillRect(80,200,321,60,BLACK);
- delay(1000);
- tft.fillRect(80,200,321,60,RED);
- tft.setCursor(135,215);
- tft.setTextColor(WHITE);
- tft.setTextSize(4);
- tft.print("Subscribe");
- delay(1000);
- }
复制代码
Adafruit库有助于减少为该显示屏开发代码时需要做的工作,而使用户界面的质量不受编写代码的人的创造力和想象力的限制。
效果演示 复制上面的代码,然后在安装库之后,上传到您的设置。 您应该看到如下图所示的显示。
以上就是本文的全部内容,感谢您的阅读。 如果您以此为基础制作了一些很棒的项目,或者有任何关于本文的疑问,请随时在本帖下面进行回复。 |