好的!关于 Adafruit ST7735 的屏幕,以下是用中文为您进行的详细介绍和说明:
它是什么?
- 核心: Adafruit ST7735 指的是 Adafruit Industries(一家非常流行的开源硬件公司)推出的一系列基于 ST7735 驱动芯片 的小型彩色液晶显示屏(LCD)。
- 常见规格:
- 尺寸: 最常见的是 1.8英寸 对角线(还有其他尺寸如1.44英寸等)。
- 分辨率: 通常是 128x160像素 或 128x128像素。
- 颜色: TFT(薄膜晶体管) 技术,提供 18位色深(理论上可显示262,144种颜色,实际显示效果为65,536色)。
- 接口: SPI 接口(Serial Peripheral Interface - 串行外设接口),仅需少量引脚即可控制。
- 特点: 尺寸小、色彩鲜艳(相对于单色屏)、功耗相对较低、接口简单、价格适中。非常适合嵌入式项目、小型显示设备(如可穿戴设备、传感器数据显示屏、微型游戏机、状态指示器等)。
典型硬件连接
- 所需引脚: 这类屏幕通常需要连接以下信号(具体名称可能因不同子型号略有差异):
VCC/VIN: 电源正极(通常是3.3V或5V,查看具体型号的数据手册确认)。GND: 电源地。SCL/SCLK: SPI时钟信号。SDA/MOSI: SPI主设备输出/从设备输入数据线。CS/Chip Select: SPI片选信号(用于选择该设备)。DC/RS/A0: 数据/命令选择(告诉屏幕接下来发送的是指令还是图像数据)。RST/Reset: 复位引脚(可选,但强烈建议连接以进行硬件复位)。LED/BL/Backlight: 背光控制引脚(通常连接VCC使其常亮,或通过PWM控制亮度)。
- 控制器: 需要与微控制器(如Arduino Uno/Nano/ESP8266/ESP32、树莓派Pico/RP2040)或单板计算机(如树莓派)相连。
如何使用(软件部分) - Arduino 为例
- 安装库: Adafruit提供了专用的库来简化开发。
- 最常用的是
Adafruit ST7735 and ST7789 Library。 - 在Arduino IDE中,通过“工具”->“管理库...”搜索
ST7735或Adafruit ST7735进行安装。 - 通常还需要安装
Adafruit GFX Library(图形核心库),因为ST7735库依赖于它。 - 有时需要安装
Adafruit BusIO库(SPI/I2C通信辅助)。
- 最常用的是
- 包含库: 在Arduino代码开头:
#include <Adafruit_GFX.h> // 核心图形库 #include <Adafruit_ST7735.h> // 特定于ST7735的硬件库 #include <SPI.h> // Arduino SPI库 (ST7735基于SPI) - 定义引脚: 根据你的实际接线定义引脚号。
// 定义SPI接口的引脚 (例如: ESP32) #define TFT_CS 17 // 片选 (Chip Select) #define TFT_DC 16 // 数据/命令 (Data/Command) #define TFT_RST -1 // 复位, 如果没接硬件复位引脚则设为 -1 // 或者 // 对于 Arduino Uno/Nano (通常使用硬件SPI) #define TFT_CS 10 #define TFT_DC 9 #define TFT_RST 8 - 创建显示对象: 使用定义的引脚初始化屏幕对象。
// 使用硬件SPI (速度更快) Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // 或者,如果需要指定SCLK/MOSI引脚 (比如硬件SPI被占用或用软SPI) // Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); - 初始化屏幕: 在
setup()函数中:void setup() { tft.initR(INITR_BLACKTAB); // 初始化屏幕,根据具体型号调整初始化命令序列 // 常见选项: INITR_BLACKTAB, INITR_GREENTAB, INITR_REDTAB tft.setRotation(1); // 设置屏幕方向 (0-3) tft.fillScreen(ST7735_BLACK); // 清屏为黑色 } -
绘制图形和文本: 使用GFX库提供的丰富函数:
void loop() { tft.fillScreen(ST7735_BLACK); // 清屏 tft.setTextColor(ST7735_WHITE); // 设置文本颜色 tft.setTextSize(2); // 设置文本大小 (1-最大) tft.setCursor(10, 30); // 设置文本起始坐标 tft.println("Hello, World!"); // 输出文本 tft.drawCircle(80, 60, 20, ST7735_RED); // 画一个圆 (中心x, y, 半径, 颜色) tft.fillRect(30, 80, 60, 40, ST7735_BLUE); // 画一个填充矩形 (左上角x,y, 宽, 高, 颜色) tft.drawPixel(120, 10, ST7735_GREEN); // 画一个像素点 delay(1000); }
常见应用场景
- 物联网设备状态显示
- 传感器数据可视化 (温度、湿度、气压等)
- 小型游戏机/掌机项目
- 可穿戴设备的界面
- 智能家居控制面板
- 机器人状态反馈
- 便携式仪器仪表
- Adafruit产品配套显示 (如与各种传感器、分线板搭配)
获取帮助和资源(中文友好)
- Adafruit产品页面: 在Adafruit官网找到你具体购买的屏幕型号的产品页面(搜索“Adafruit ST7735”),上面通常有详细的英文指南、引脚图、电路图,有时也有视频教程。虽然内容是英文的,但图片和代码很有价值,浏览器自带翻译通常可以应付。
- Adafruit学习系统: Adafruit有专门的“Learning System”(学习系统),里面有大量项目教程和基础介绍文章。
- GitHub库说明:
Adafruit ST7735 and ST7789 Library和Adafruit GFX Library的GitHub页面有详细使用文档和示例代码。 - 中文社区:
- CSDN、博客园、简书: 搜索“Adafruit ST7735”、“ST7735 Arduino”等关键词,能找到很多中文博主的详细教程和踩坑记录。
- Bilibili/优酷: 搜索相关关键词,有视频教程。
- QQ群/微信群: 加入Arduino、树莓派、电子DIY相关的社群,提问交流(搜索群名关键词)。
- 查阅数据手册 (Datasheet): 如果遇到更底层的问题(如初始化参数),需要查找ST7735驱动芯片的数据手册(通常是英文PDF文档)。这是最终的技术参考依据。
总结:
Adafruit ST7735 TFT屏是一个易于上手的、性价比高的彩色显示屏解决方案,非常适合爱好者和原型开发。借助Adafruit提供的强大库(ST7735 + GFX)和丰富的中英文网络资源,上手和使用相对容易。重点在于正确连接引脚(尤其是SPI接口、DC、CS)、选择合适的库、使用正确的初始化参数,然后就可以尽情地在你的项目上绘制图形和文本了。
希望这个中文解释对您有所帮助!如果您有具体问题(如接线、代码报错、特定平台如树莓派的使用),欢迎继续提问!
在Arduino上使用1.8英寸TFT显示屏的入门指南
在正确的文件夹中。安装完成后,就可以操作屏幕了! Adafruit ST7735库内部有一个名为graphicstest.ino的文件,您可以将其上传到Arduino,它将通过许多将对象绘制到屏幕上的函数来运行。但是,此文件将需要进行一些更改以使引脚适应您的布局。
2019-12-12 11:09:40
ST7735的相关资料分享
目录前言一、3线SPI二、使用1.命令2.对应引脚调整总结前言驱动芯片是ST7735,之前在Arduino上找库,没几个能用的(我FW不能用肯定是我的错),最后还是自己从STM32移植一个。顺便介绍
茶壶茶茶
2022-01-25 06:18:42
TFT1.44寸屏ST7735驱动GitHub的相关资料推荐
STM32应用之TFT1.44寸屏ST7735驱动GitHub项目下载链接:点我下载硬件平台:stm32f103rct和1.44寸128x128 TFT屏(st7735驱动)IDE:keil MDK
母猪会上树
2022-02-18 06:56:58
[经验] 上海航芯ACM32F403RET7外设SPI测试。点亮SPI LCD屏.驱动芯片ST7735.
= ST7735_YSTART;// based on Adafruit ST7735 library for Arduinostatic const uint8_tinit_cmds1
HQGBOY
2022-10-23 10:55:04
【Milk-V Duo 开发板免费体验】3. 点亮st7735屏幕
前言 本文介绍milkv-duo加载st7735的lcd屏幕,以及屏幕显示log。 参考文章:记录为Linux配置spi屏幕(st7735s)https://community.milkv.io/t
voidpbq
2023-09-18 22:05:24
怎样把ILI9326移植到Fireduino上替代原先的ST7735库呢
中断的引脚,进入中断后可以通过SPI方式读取电阻屏的AD值来计算点击的坐标,估计使用的芯片是XPT2046之类的。但是官方默认是ST7735 IC的显示屏,而且到现在为止,这个配套的显示屏还没有上市,买不到,无奈只好使用原来的给Arduino准备的TFT了。
lucas_songlea
2022-04-11 15:07:19
LilyGo-T-Wristband板无法通过SPI从ST7735读取ID寄存器咋办?
我在使用 LilyGo-T-Wristband 板将 Arduino 代码移植到本机 idf-esp 代码时遇到问题。无法通过 SPI 从 ST7735 读取 ID 寄存器。这是我的 SPI
ht_liu
2023-03-01 06:59:31
【国民技术N32项目移植】N32G457项目移植之RT-Thread SPI_TFT_LCD ST7735
ST7735的示例我原先在51黑论坛找到的例子:他是一个用stm32库函数实现的驱动LCD—ST7735的例子,在其工程目录下面有一个LCD的文件夹,我们今天就用这文件来移植实验:其目录如下:lcd.c
华仔stm32
2023-01-30 23:40:17
【LuckFox Pico 开发板免费试用】3. 通过fbtft点亮st7735屏幕
前言 本章使用fbtft添加spi lcd st7735/gc9306。 fbtft生成fb0设备,后续通过lvgl可以实现自定义界面绘制。 一、电路图 使用开发板的spi0的scl以及mosi
voidpbq
2023-11-14 21:08:15
【沁恒微CH32V307评估板试用体验】SPI驱动ST7735时序
驱动LCD是单片常用外设之一,我这里书写SPI驱动后,驱动ST7735不成功,将驱动与时序附下,希望得到沁恒官网的支持:ST7735初始化
华仔stm32
2022-05-26 20:19:37
Amica ESP8266上是否有任何其他引脚可以使用显示器 - 然后使用D0再次检测闪光灯按钮?
我有一个带显示器的 Amica ESP8266。我有一个单色 OLED,现在我用 ST7735 TFT 取而代之。我过去常常检查闪光灯按钮的按下情况(改变屏幕等),中断到引脚 0。 现在我
dgfdf
2023-05-25 06:30:23
CH32V307VCT6使用RT-Thread驱动ST7735,LCD初始化触发HardFault?
最近手上入手了一批ST7735,0.96寸的,打算使用CH32V307进行驱动,使用RTT,将LCD初始化函数翻到了主函数,程序下载后发现启动就触发HardFault?终端输出:调整了main函数的栈大小也不行,最大调到16384,8192都不行?同时将board.c中heap的值调大均不行?
jf_15811252
2023-04-08 20:10:48
基于微控制器的433MHz发射器和接收器模块间的通信方案
接收器电路由433 MHz射频接收器模块、ST7735 1.8寸彩色TFT显示屏和Arduino Uno开发板组成。
2020-10-28 14:04:17
基本定时器TIM6和TIM7介绍
STM32F1案例 ST7735 TFT液晶显示屏综合库使用硬件平台野火STM32F103ZET6 霸道V2开发板正点原子F1系列开发板STM32F103ZET6核心板ST7735 TFT液晶显示
技术牛人小渣子
2021-08-18 06:09:53
STM32F103ZET6驱动的ST7735s一直出现白屏是为啥呢?怎么解决?
STM32F103ZET6驱动的ST7735s一直出现白屏是为啥呢?怎么解决?
深海零下一度1
2022-02-21 07:25:38
Nuvoton M487开发板的USCI外设评测
,st7735_spi 是SPI设备的操作,st7735_lcd.c 是 LCD屏幕的操作。首先将st7735挂载到 uspi bus上st7735_spi.c/* * Copyright (c
wo4456
2022-04-21 16:09:15
使用ESP8266和ST7735 TFT显示屏设计气象站
描述基于 ESP8266 Nodemcu 和 ST7735 TFT 显示屏的气象站什么是气象站?气象站是一种使用不同传感器收集与天气和环境相关的数据的设备。有两种类型的气象站,一种有自己的传感器
风来吴山
2022-09-01 06:52:05
tft_espi和nodemcu是如何进行连接的
)。从文件名就可以看出这个文件是要用户自己来修改的。4、 根据自己的tft屏幕来修改,比如我的是st7735驱动,1...
kevinvind
2021-11-01 06:22:05
极简LCD屏驱动实战,快速上手智能设备屏幕交互!
Air780EPM已经支持的LCD有: ST7796/ST7789/ST7735/ST7735V/ST7735SGC9A01/GC9106I/GC9306X/ILI9486… 最新开发资料详见
2025-04-21 15:28:02
STM32F407VET6+ST7735TFT LCD彩屏驱动程序分享
硬件准备STM32F407VET6开发板一块编译器使用的是STM32cubeide。屏幕使用的是如图所示的屏幕,驱动芯片是st7735.驱动协议采用的是spi通讯协议。和stm32芯片的连接方式如下
沈文强66
2022-02-18 07:34:17
RT-Thread与Renesas RA2L1实现1.8寸TFT屏幕显示的步骤
函数,如下所示: 接下来在NewStack中添加SPI配置: 配置如下: 接下来生成工程,配置rtt,添加spi驱动: st7735驱动 添加st77735驱动代码,这部分有大佬已经写好
wrfqwerty
2023-04-03 16:45:12
ESP8266MOD和BME280的电源问题如何解决?
法加载。如果我拔下电源引脚,Arduino IDE 可以连接并加载程序,但是,唉,当电源引脚重新连接时它不起作用。 我很困惑,因为 ESP 可以与带有 micro SD 的 TFT ST7735 一起正常工作,我认为这会消耗更大的功率。
hjhdf
2023-05-25 07:48:41
物联网行业中的TFT-LCD屏驱动_ST7735S设计详解
ST7735S是另一款液晶显示控制器,它具有更高的性能和功能。它支持最高分辨率为160×128的TFT模块,支持完整的RGB分量控制,并且具有一个16位数据总线,可以支持最高分辨率为320×240
2024-09-29 11:54:28
如何在esp8266 Node MCU的硬件上部署LVGL
前言本文,介绍如何在esp8266 Node MCU的硬件上部署LVGL项目。使用的屏幕使用型号是ST7735 TFT 128x128屏幕。(一)arduinoIDE esp8266环境配置自行
笑尽往事
2021-12-08 07:15:50
大佬自制GNSS定位器 授时器 基于合宙Air530Z+STM32
基于合宙Air530Z的定位器&授时器,使用STM32G030F6P6单片机进行数据处理以及显示,使用0.96寸ST7735屏幕作为显示终端,同时将GNRMC数据通过串口发送到电脑,供上位机处理,使用按键进行交互。
2023-09-22 12:10:02