Arduino UNO R3连接ST7735S型1.8‘128X160 RGB-TFT屏幕方法

本文讲述了作者在使用Arduino UNOR3开发板与ST7735S屏幕配合时遇到的头文件问题,通过调整项目集路径解决编译错误,详细步骤包括硬件连接、软件配置和问题解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(看似讲解,实则备注~)

        最近在使用Arduino开发板制作一个小装置,需要使用到ST7735S型1.8'128X160 RGB-TFT屏幕(以下简称ST7735S),在网上查找了许多资料,终于解决了硬件部分的问题,但不知为何,在验证ST7735S可工作性时出现了新的问题(找不到头文件),经过几天的苦思冥想(实际上是搁置了好几天后突然想起板子的问题还没解决,然后改动了一下项目集路径,就解决了问题🙄)。以下是连接方法和验证步骤,留作备忘,仅供参考。

        本文所讨论的Arduino UNO开发板并非Arduino官方发行的官方板,而是经过官方认证的复刻板,如果你使用的是官方板,此方法可能对你并不适用。


目录

一、开发板型号、IDE版本及屏幕参数确认

二、将ST7735S连接至开发板

三、验证ST7735S可工作性

四、我在验证ST7735S可工作性时遇到的一个问题

结语


一、开发板型号、IDE版本及屏幕参数确认

        1、开发板型号为:Arduino UNO R3(官方复刻板);串口驱动:CH340、CH341

        2、IDE版本:V2.0.2(Windows 64Bits)

        3、屏幕参数:ST7735S型1.8'128X160 RGB-TFT

        注:若缺少相关硬件或IDE、驱动,可点击上方链接购买或安装。

二、将ST7735S连接至开发板

        接线说明:

(ST7735S引脚编号用绿色表示,开发板引脚用蓝色表示)

GNDGND
VDD5V
SCLA13
ADSA11
RSTA8
DCA9
CSA10
BLK3.3V

         之后将开发板连接至计算机,若接线正常,可观察到开发板ON灯亮起,同时,ST7735S显示白屏。

三、验证ST7735S可工作性

        接线完成后,打开Arduino IDE,选择开发板型号为“Arduino UNO”,端口号为此时开发板连接的端口(例如此时我的开发板连接的端口号为COM3,则选择“COM3”):

选择完成后点击确认,若IDE右下角显示“Arduino Uno on COM3”,则连接成功。

        此时,打开“库管理”,在搜索栏中输入“Ucglib”,下载对应库:

我下载的Ucglib库版本为1.5.2,可以正常使用,因此推荐你也下载V1.5.2版本的,如果你检索出的库只有1.4.0版本或更低版本,可以访问Ucglib for Arduino下载更新的版本。下载完成后会显示“已下载”标识,此时会自动安装,安装完成后,在示例列表中会显示Ucglib预设代码:

选择“HowToUseFonts”,并选择正确的屏幕型号,本文中使用的屏幕型号为ST7735S型1.8'128X160 RGB-TFT,所以选择:

 之后将代码上传到开发板,观察ST7735S是否正常显示,若正常,则ST7735S可正常使用。

四、我在验证ST7735S可工作性时遇到的一个问题

         在以上步骤均正确的前提下,我给开发板写入了预设代码,随之出现了以下问题:

IDE提示我编译过程已终止,原因是无法找到库和对应头文件(其实在上图情况发生前,我还遇到了一次类似的问题(忘记截图了),同样是提示我缺少库和头文件, 当时给出的文件路径是:“C:\Users\killm\OneDiver\AppData\Local\...”,因为没有对OneDiver文件夹的访问权,使得编译终止,所以我关闭了OneDiver,并将OneDiver文件夹中所有文件移出,于是不出意料的产生了新的问题🙃),当时我很疑惑,因为我拥有对整条路径中所有文件夹和文件的完全权限(我认真检查了路径线中的任何内容,并确认我真的可以完全控制它们),所以,我选择了重装IDE😂,但问题没有被解决,于是我搁置了这个小项目,直到我无意中修改了项目集(项目文件夹)路径😑:

我将首选项中的项目集路径由:

C:\Users\Your user’s name\Documents\Arduino

修改为:

C:\Users\Your user‘s name\AppData\Local\Arduino15\libraries

 发现IDE可以正常编译代码了:

如果你在验证过程中出现以上问题,建议你可以试试修改项目集路径这个方法(不一定要与我修改的路径相同),可能会解决问题。至于原因,我想是因为我将“文档”文件夹移出OneDiver时不小心更改了某些设定。

结语

        以上介绍了Arduino UNO R3连接ST7735S型1.8'128X160 RGB-TFT屏幕的方法,文章主要参考了Arduino官方文档、ST7735S手册以及Ucglib使用说明等内容,按照上述步骤操作大概率不会出现什么问题,但如果和我一样脸比较“⚫”,可以通过文末邮箱与我取得联系,我会尽可能帮助你解决问题。

参考文献(文章)

1、UNO R3 | Arduino Documentation | Arduino Documentation

2、ST7735 display — XOD

3、Arduino ST7735 1.8" TFT display example - Simple Projects (simple-circuit.com)

4、How to Interface 1.8" TFT Color Display ST7735 with Arduino UNO (circuits-diy.com)

5、Using the ST7735 1.8" Color TFT Display with Arduino - Electronics-Lab.com

6、olikraus/Ucglib_Arduino: Arduino library for Ucglib (new library format) (github.com)

联系方式

通过留言或发送邮件至killmiledc@outlook.com。

<think>好的,用户想了解如何用Arduino IDE控制驱动为ST7735S128x160RGB TFT屏幕。首先,我需要回忆一下ST7735S驱动芯片的特点以及常用的Arduino库。ST7735S通常用于小尺寸的TFT屏幕,而Adafruit的ST7735库可能适用。不过,用户可能遇到了引脚连接或库配置的问题。 首先,用户需要安装正确的库。Adafruit ST7735和ST7789库是常用的,同时还需要安装Adafruit GFX库作为依赖。安装库的方法通常是通过库管理器,但用户可能不熟悉这个过程,需要详细说明。 接下来是硬件连接部分。Arduino Nano的引脚有限,需要确定屏幕的SPI接口。常见的引脚包括CS、DC、RST,可能还有背光控制。需要确认屏幕的具体引脚排列,可能需要查阅数据手册。用户可能混淆了不同号的引脚定义,所以需要给出常见的连接方式,并提醒用户根据实际情况调整。 然后,初始化库中的参数是关键。例如,屏幕的偏移量(offset)和颜色模式(BGR或RGB)可能因不同屏幕而异。用户如果直接使用示例代码可能显示异常,需要调整构造函数中的参数。比如,Adafruit_ST7735的初始化可能需要指定正确的偏移量,否则图像会错位。 代码部分需要提供一个简单的示例,包括库的引入、引脚定义、初始化函数和循环函数。用户可能需要测试显示文本、图形等基本功能,以确认屏幕工作正常。此外,用户可能遇到颜色不正确的问题,这可能与初始化时的颜色顺序有关,需要调整INITR_BLACKTAB等参数。 最后,常见问题解答很重要。比如屏幕白屏可能是因为背光未开启,需要检查背光引脚是否正确连接并设置为高电平。SPI通信问题可能导致显示混乱,需要检查接线是否正确,尤其是MOSI和SCK是否接对。颜色异常可能需要调整初始化参数中的颜色模式。 总结下来,用户需要一步步的指导:安装库、连接硬件、调整代码参数、测试基本功能以及排查常见问题。需要确保每个步骤都清晰,避免技术术语过多,同时提供实际示例代码和调整建议,帮助用户顺利完成项目。</think>好的,我将分步骤为您讲解如何通过Arduino IDE驱动ST7735S芯片的128x160 TFT屏幕: 一、准备工作 1. 所需材料: - Arduino Nano开发板 - ST7735S驱动的128x160 TFT屏幕(常见号如1.8英寸) - 杜邦线若干 - 数据线(用于连接Arduino与电脑) 2. 安装库文件: - 打开Arduino IDE - 菜单栏选择「工具」->「管理库」 - 搜索并安装以下两个库: * `Adafruit ST7735 and ST7789 Library` * `Adafruit GFX Library` 二、硬件连接(SPI接口方式) 典接线方式: ``` TFT引脚 -> Arduino Nano引脚 VCC -> 3.3V 或 5V(根据屏幕规格) GND -> GND CS -> D10(片选) RESET -> D8(复位) DC/RS -> D9(数据/命令选择) SDA/MOSI -> D11(主输出从输入) SCK -> D13(时钟) LED -> 3.3V(背光控制,部分屏幕需要独立供电) ``` 三、示例代码 ```cpp #include <Adafruit_GFX.h> #include <Adafruit_ST7735.h> // 定义引脚 #define TFT_CS 10 #define TFT_RST 8 #define TFT_DC 9 // 初始化对象(不同屏幕需调整参数) Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); void setup() { tft.initR(INITR_BLACKTAB); // 初始化屏幕(黑底选项卡模式) tft.setRotation(2); // 设置显示方向:0-3对应4种旋转方式 tft.fillScreen(ST7735_BLACK); tft.setTextColor(ST7735_WHITE); tft.setTextSize(1); tft.println("Hello World!"); // 绘制测试图形 tft.drawRect(0, 0, tft.width(), tft.height(), ST7735_RED); } void loop() { // 动态显示示例 static int counter = 0; tft.setCursor(10, 30); tft.setTextColor(ST7735_GREEN); tft.print("Counter: "); tft.println(counter++); delay(1000); } ``` 四、常见问题排查 1. 屏幕白屏: - 检查背光LED是否接电 - 确认复位引脚是否接好 - 尝试调整`initR()`的参数为`INITR_GREENTAB`或`INITR_REDTAB` 2. 显示偏移/错位: ```cpp // 在初始化后添加偏移调整(参数根据实际显示调整) tft.setRotation(2); tft.setColRowStart(26, 1); // 列偏移26,行偏移1 ``` 3. 颜色异常: ```cpp // 在setup()中添加颜色校准 tft.invertDisplay(true); // 反转颜色显示 ``` 五、进阶功能 1. 显示位图: - 使用`tft.drawBitmap()`函数 - 推荐使用Image2LCD软件转换图片为数组 2. 优化刷新速度: - 启用硬件SPI(修改接线使用Nano的硬件SPI引脚) - 使用`startWrite()`和`endWrite()`包裹批量绘制操作 建议首次使用时: 1. 先使用库中的示例文件测试(File -> Examples -> Adafruit ST7735) 2. 逐步增加显示内容复杂度 3. 注意屏幕供电需求,高亮度时可能需要外接电源
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值