在本应用中,我们将向您展示如何在Arduino上使用1.8 TFT显示屏。您将学习如何连接显示屏幕,书写文本,绘制形状以及在屏幕上显示图像。

使用1.8 TFT显示屏

1.8 TFT是具有128 x 160彩色像素的彩色显示器。显示器可以从SD卡加载图像-它的背面有一个SD卡插槽。下图显示了屏幕的前视图和后视图。

该模块使用SPI通信–请参见下面的接线。为了控制显示,我们将使用TFT库,该库已包含在Arduino IDE 1.0.5和更高版本中。

引脚接线

下表显示了到Arduino UNO的1.8 TFT接线。

1.8 TFT显示屏 接线到Arduino Uno

LED 3.3伏

SCK 13

SDA 11

A0或DC 9

RST 8

CS 10

地线 地线

VCC 5伏

注意:不同的Arduino板具有不同的SPI引脚。如果您使用的是其他Arduino开发板,请查看Arduino官方 。

初始化显示

TFT显示屏通过SPI通信与Arduino通信,因此您需要在代码中包括SPI库。我们还使用TFT库在显示器上书写和绘图。

#include

#include

然后,您需要定义CS,A0(或DC)和RST引脚:

#定义cs 10#定义

dc 9#定义

rst 8

创建一个名为TFTscreen的库的实例:

TFT TFT屏幕= TFT(cs,dc,rst);

最后,在setup()中,您需要初始化库:

TFTscreen.begin();

显示文字

要在显示屏上写文本,您可以自定义屏幕背景颜色,字体大小和颜色。

要设置背景颜色,请使用:

TFTscreen.background(rgb);

其中,rgb是给定颜色的RGB值。选择字体颜色:

TFTscreen.stroke(rgb);

设置字体大小:

TFTscreen.setTextSize(2);

您可以增加或减少作为参数给出的数字,以增加或减少字体大小。

最后,使用以下行在显示器上绘制文本:

TFTscreen.text(" Hello,World! ",x,y);

在其中" 世界您好!"是您要显示的文本,(x,y)坐标是您要开始在屏幕上显示文本的位置。

程序代码

下面的示例显示" Hello,World!" 在屏幕中间,每200毫秒更改一次字体颜色。

将以下代码复制到Arduino IDE,并将其上传到Arduino开发板。

#include

#include

#define cs 10

#define dc 9

#define rst 8

TFT TFTscreen = TFT(cs, dc, rst);

void setup() {

TFTscreen.begin();

TFTscreen.background(0, 0, 0);

TFTscreen.setTextSize(2);

}

void loop() {

int redRandom = random(0, 255);

int greenRandom = random (0, 255);

int blueRandom = random (0, 255);

TFTscreen.stroke(redRandom, greenRandom, blueRandom);

TFTscreen.text("Hello, World!", 6, 57);

delay(200);

}

这是您的"世界,您好!" 在1.8 TFT显示屏上显示文本。

显示形状

TFT库提供有用的功能来在显示器上绘制形状:

· TFT屏幕。point(x,y) – 在(x,y)坐标上显示一个

· TFT屏幕。线(XSTART,yStart,XEND,YEND) -绘制线,在(XSTART,yStart)的开始和结束处(XEND,YEND)

· TFT屏幕。rect(xStart,yStart,width,height) –绘制一个矩形,其左上角位于(xStart,yStart),具有定义的宽度和高度

· TFTscreen .circle(x,y,radius) –以指定的半径绘制一个以(x,y)为中心的圆

以下示例显示了几种形状。每次代码遍历循环,形状都会改变颜色。

将以下代码复制到Arduino IDE,并将其上传到Arduino开发板。

#include

#include

#define cs 10

#define dc 9

#define rst 8

TFT TFTscreen = TFT(cs, dc, rst);

void setup() {

TFTscreen.begin()

TFTscreen.background(0, 0, 0);

}

void loop() {

int redRandom = random(0, 255);

int greenRandom = random (0, 255);

int blueRandom = random (0, 255);

TFTscreen.stroke(redRandom, greenRandom, blueRadom);

TFTscreen.point(80,64);

delay(500);

TFTscreen.line(0,64,160,64);

delay(500);

TFTscren.rect(50,34,60,60);

delay(500);

TFTscreen.circle(80,64,30);

delay(500);

TFTscreen.background(0,0,0);

}

显示影像

1.8 TFT显示屏可以从SD卡加载图像。要从SD卡读取数据,请使用Arduino IDE软件中已包含的SD库。请按照以下步骤在显示屏上显示图像:

1) SD卡的焊接头引脚。与显示引脚相对的有四个引脚,如下图所示。

2) 显示器可以加载大于或小于显示器尺寸(160 x 128 px)的图像,但是为了获得更好的效果,请将图像尺寸编辑为160 x 128 px。

3) 图片应为 .bmp格式。为此,您可以使用照片编辑软件并将图像保存为 .bmp格式。

4) 将图像复制到SD卡上,然后将其插入显示屏背面的SD卡插槽中。

5) 按照下表将SD卡的引脚连接到Arduino:

显示屏和SD卡都可以通过SPI通信工作,因此您将在Arduino上使用两个连接来连接引脚。

6) 在Arduino IDE中,转到 文件>示例> TFT> Arduino> TFTBitmaLogo

7) 编辑代码,以便它搜索您的图像。将" arduino.bmp " 替换为您的图像名称:

徽标= TFTscreen.loadImage(" arduino.bmp ");

8) 将代码上传到您的Arduino。

注意:某些人在尝试从SD卡读取数据时发现此显示器有问题。我们不知道为什么会这样。实际上,我们测试了几次,但效果很好,然后,当我们要记录下来以显示最终结果时,显示屏不再能识别SD卡了-我们不确定是否有问题SD卡支架未与SD卡建立正确连接。但是,由于我们已经对其进行了测试,因此我们确定这些说明有效。

包起来

在本应用中,我们向您展示了如何在Arduino上使用1.8 TFT显示屏:显示文本,绘制形状和显示图像。使用此显示,您可以轻松地为项目添加漂亮的可视界面。

希望本教程对您有所帮助。也希望喜欢电子产品的朋友分享这篇文章。喜欢的朋友可以关注,我会分享更多的项目教程和应用。

arduino水温度传感器数字显示_液晶显示屏应用示例以及程序详解相关推荐

  1. arduino水温度传感器数字显示_温度传感器DS18B20

    DS18B20 单线数字温度传感器,即"一线器件",其具有独特的优点: ( 1 )采用单总线的接口方式 与微处理器连接时 仅需要一条口线即可实现微处理器与 DS18B20 的双向通 ...

  2. arduino水温度传感器数字显示_创客出品_Arduino智能温度监测器

    产品简介: 本机采用Arduino控制技术,采用LCD显示方式和白色背光,清晰明了.可实时显示当前摄氏温度,可实时语音播报当前摄氏温度,同时记录温度值储存在设备里,方便用户查看.最大设定温度范围为:- ...

  3. arduino水温度传感器数字显示_【雕爷学编程】Arduino动手做(5)---热敏温度传感器模块...

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐 ...

  4. arduino水温度传感器数字显示_乐创物联物联网架构之硬件层中间件Arduino模拟量...

    0 前言 大家好!我叫乐创物联,我主要是做工业自动化方面和物联网方面的.了解熟悉工业自动化领域的,也开发过物联网相关的产品.我的初衷是做工业物联网的,但这个系统太过于庞大,后续也会自主去学习一下.所以 ...

  5. java判断颜色合法_判断颜色是否合法的正则表达式(详解)

    判断颜色是否合法的正则表达式(详解) "^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$"; 意思是:以#开头,后面是数字和a-f的字符(大写或小写),这个值是 ...

  6. mysql存储过程按区间_针对新手的MYSQL存储过程详解_CSDN_ChenF的博客-CSDN博客

    原文作者:橘左京i 原文标题:针对新手的MYSQL存储过程详解 发布时间:2021-02-22 10:03:18 一位爱好技术的橘右京的哥哥橘左京 前言:什么是存储过程?存储过程就像是一个接口,可以直 ...

  7. Arduino TFT_eSPI库来驱动SPI接口的LCD显示文字详解

    Arduino TFT_eSPI库来驱动SPI接口的LCD显示详解 相关库github地址:https://github.com/Bodmer/TFT_eSPI 文字显示过程详解 TFT eSPI显示 ...

  8. 子网掩码必须是相邻的是什么意思_零基础IP子网划分详解

    零基础IP子网划分详解 2016.8.22修正,感谢道友刘先生的提醒 在学习IP子网划分前,首先的明白以下几个基础概念: 1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制 ...

  9. python处理nc数据_利用python如何处理nc数据详解

    利用python如何处理nc数据详解 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  利用python如何处理nc数据详解.txt ] (友情提示:右键点上行txt ...

最新文章

  1. 中国肠道大会 | 日程及嘉宾(4月16日更新)
  2. Android开发者指南(15) —— Managing Virtual Devices
  3. Web应用漏洞评估工具Paros
  4. python 贴吧自动回复机-python_库学习_02_微信自动回复机器人
  5. c语言n次方怎么输入_C语言实现斐波拉契数列
  6. js 里面令人头疼的 this
  7. mongodb查询分页优化
  8. Kafka刚开启就秒退
  9. Eclipse/STS 在线安装阿里java代码规约插件
  10. 台达ms300变频器使用手册中文_台达变频器:满足未来驱动需求
  11. [Linux] DSO missing from command line
  12. Linux 高阶命令进阶(一)
  13. 005 Aspectj的引入
  14. 《Inside C#》笔记(一) .NET平台
  15. 智慧校园APP开发有哪些功能
  16. pdf虚拟打印机下载win7_如何将不同形式的PDF文档进行压缩?
  17. SCI论文写作 -- 新手如何写第一篇sci
  18. SQLAlchemy 字段、要点
  19. HIT CSAPP hello的一生
  20. mysql删除日志文件_mysql删除日志文件,定时清理日志

热门文章

  1. c mysql命令_最基本的mysql命令
  2. tensorflow 读取cifar_对tensorflow中cifar-10文档的Read操作详解
  3. python爬虫ppt_完全零基础 轻松学Python:数据类型:数字类型、空类型、布尔类型...
  4. cupsd进程_linux pstree命令显示正在运行的进程的进程树状图
  5. 北师大高级程序c语言,北师大《高级程序设计C语言》.doc
  6. linux怎么卸载evolution,linux - 如何在Ubuntu的系统托盘中最小化Evolution? - Ubuntu问答...
  7. python画画需要什么模块_python实战练手项目---使用turtle模块画奥运五环
  8. java 怎么用毫秒_java1.8中如何使用精确到毫秒的时间
  9. linux程序改ip地址吗,如何在Linux中从C设置IP地址
  10. python 列表操作详解,Python列表解析操作实例总结