Adafruit Mini TFT - 0.96" 160x80 硬件设计开发全解析

电子说

1.4w人已加入

描述

Adafruit Mini TFT - 0.96" 160x80 硬件设计开发全解析

在电子设计领域,小尺寸、高分辨率的显示屏一直是热门需求。Adafruit Mini TFT - 0.96" 160x80 显示屏以其小巧的尺寸和出色的性能,成为众多电子工程师的首选。今天,我们就来深入探讨这款显示屏的各个方面。

文件下载:3533.pdf

一、产品概述

Adafruit Mini TFT - 0.96" 160x80 显示屏尺寸仅为 0.96 英寸对角线,却拥有 160x80 的像素分辨率和 16 位色彩。它采用 4 线 SPI 通信,自带像素可寻址帧缓冲,能与各种微控制器配合使用,即使是内存小、引脚少的微控制器也能轻松驾驭。

该显示屏还集成了超低 dropout 3.3V 稳压器和 3/5V 电平转换器,支持 3.3V 或 5V 电源和逻辑。此外,它还配备了一个 microSD 卡插槽,方便从 FAT16/FAT32 格式化的 microSD 卡加载全彩位图。

二、规格参数

  1. 显示屏:0.96 英寸对角线 LCD TFT 显示屏,160x80 分辨率,16 位色彩。
  2. 接口:4 线 SPI 数字接口(SCK、MOSI、CS 和 DC 引脚),内置 microSD 插槽,使用另外 2 条数字线。
  3. 电源:5V 兼容,可使用 3.3V 或 5V 逻辑,板载 3.3V @ 150mA LDO 稳压器。
  4. 背光:1 个白色 LED 背光,通过晶体管连接,可进行 PWM 调光。
  5. 其他:0.1" 间距引脚,便于面包板使用;角落有 2 个可移除安装孔;全背光时电流消耗约 25mA。

三、显示版本

截至 2023 年 1 月 27 日,该产品进行了重大修订,需要更新固件。不同版本的 TFT 显示屏初始化代码不同,microSD 卡插槽也有所变化。旧版本为推 - 推式,新版本为推 - 拉式。

区分版本很简单,Revision A 版本的 TFT 背面芯片较大,右上角有一个带 A 的圆圈;Revision B 版本的 TFT 背面芯片较小,顶部中心有一个带 B 的圆圈。

四、引脚定义

引脚名称 功能描述
3 - 5V / Vin 电源引脚,连接 3 - 5VDC,有反极性保护
3.3V 板载稳压器的 3.3V 输出
GND 电源和信号接地引脚
SCK SPI 时钟输入引脚,使用 3 - 5V 逻辑电平
MISO SPI 微控制器输入串行输出引脚,用于 SD 卡,3.3V 逻辑输出(可被 5V 逻辑读取)
MOSI SPI 微控制器输出串行输入引脚,用于向 SD 卡和/或 TFT 发送数据,使用 3 - 5V 逻辑电平
TFT_CS TFT SPI 芯片选择引脚,使用 3 - 5V 逻辑电平
RST TFT 复位引脚,连接到地可复位 TFT,最好由库控制
D/C TFT SPI 数据或命令选择引脚,使用 3 - 5V 逻辑电平
SD Card CS / SDCS SD 卡芯片选择引脚,用于读取 SD 卡,使用 3 - 5V 逻辑电平
Lite 背光控制的 PWM 输入,默认上拉(背光开启)

五、组装步骤

  1. 准备引脚排:根据需要裁剪引脚排长度,将其插入面包板,长引脚朝下,便于焊接。
  2. 安装 breakout 板:将 breakout 板放在引脚上,使短引脚穿过 breakout 板的焊盘。
  3. 焊接:确保焊接所有 5 个引脚,以实现可靠的电气连接。焊接完成后,检查焊点。

六、接线与测试

基本图形测试接线

使用硬件 SPI 进行接线,步骤如下:

  1. 3 - 5V Vin 连接到微控制器的 5V 引脚。
  2. GND 连接到 Arduino 接地。
  3. CLK 连接到 SPI 时钟(不同 Arduino 型号引脚不同)。
  4. MOSI 连接到 SPI MOSI(不同 Arduino 型号引脚不同)。
  5. CS 连接到 SPI 芯片选择引脚(默认使用数字 10)。
  6. RST 不连接。
  7. D/C 连接到 SPI 数据/命令选择引脚(默认使用数字 8)。

安装 Arduino 库

通过 Arduino 库管理器安装三个库:Adafruit_GFX、Adafruit_BusIO 和 Adafruit_ST7735。安装完成后,重启 Arduino 软件,会出现一个新的示例文件夹 Adafruit_ST7735,其中包含 graphicstest 示例。

根据显示屏版本修改 graphicstest 源代码中的初始化代码:

  • Revision B 版本:注释掉第一行,取消注释第五行。
  • Revision A 版本:注释掉第一行,取消注释第四行。

上传代码到 Arduino,按下复位按钮,应该能在 TFT 上看到图形测试。

更改引脚

如果使用硬件 SPI,时钟和 MOSI 引脚固定;若要更改引脚,可使用软件 SPI,但速度会稍慢。同时,由于 0.96" TFT 有自动复位电路,可将 RST 引脚设置为 -1 不使用。

七、Adafruit GFX 库

Adafruit_GFX 库为 Arduino 提供了通用的语法和图形函数,适用于所有 TFT、LCD 和 OLED 显示屏。它允许 Arduino 草图在不同类型的显示屏之间轻松适配,新功能、性能改进和 bug 修复会立即应用于所有彩色显示屏。

八、绘制位图

显示屏内置 microSD 卡插槽,可用于加载位图图像。需要将 microSD 卡格式化为 FAT16 或 FAT32,将位图文件复制到卡的根目录,插入 microSD 插槽。

连接 MISO 引脚到微控制器的 SPI MISO 线,SDCS 引脚连接到 Arduino 的数字 4 引脚。上传 Adafruit ImageReader 库的 BreakoutST7735 - 160x80 示例代码,即可在显示屏上看到位图。

制作新位图时,确保尺寸小于 160x80 像素,保存为 24 位 BMP 格式,文件名长度小于 8 个字符。

九、CircuitPython Displayio 快速入门

准备工作

需要一块能运行 CircuitPython 的开发板,如 Metro M0 Express 或 Metro M4 Express,推荐使用 Metro M4 或 Feather M4 Express。在使用 TFT Breakout 前,需焊接引脚或电线。

接线

将 TFT Breakout 连接到 Feather M4 Express:

  1. 3 - 5V VIN 连接到 Feather 的 3V 引脚。
  2. GND 连接到 Feather 接地。
  3. SCK 连接到 SPI 时钟(Feather 上为 SCK)。
  4. MISO 连接到 SPI MISO(Feather 上为 MI)。
  5. MOSI 连接到 SPI MOSI(Feather 上为 MO)。
  6. TFTCS 连接到 SPI 芯片选择引脚(默认使用数字 9)。
  7. DC 连接到 SPI 数据/命令选择引脚(默认使用数字 10)。
  8. RST 连接到复位引脚(默认使用数字 6)。

所需库

使用 displayio 需要安装 Adafruit_CircuitPython_ST7735R 库,以及代码示例所需的 Adafruit_CircuitPython_Display_Text 库。

代码示例

根据显示屏版本,使用不同的初始化代码:

  • Revision B 版本:设置 rowstart=1,colstart=26,invert=True。
  • Revision A 版本:设置 colstart=24,bgr=True。

代码示例会在显示屏上绘制绿色背景、紫色矩形和黄色文本。

十、Python 接线与设置

接线

将显示屏连接到 Raspberry Pi,不同类型的显示屏接线略有不同,具体如下:

  • ILI9341 和 HX - 8357 系列显示屏:CLK、MOSI、CS、D/C、RST、Vin 和 GND 分别连接到相应引脚。
  • ST7789 和 ST7735 系列显示屏:Vin、GND、CLK、MOSI、CS、RST 和 D/C 连接到相应引脚,部分显示屏还需将 LITE 连接到 3V 引脚。
  • SSD1351 系列显示屏:GND、Vin、CLK、MOSI、CS、RST 和 D/C 连接到相应引脚。
  • SSD1331 系列显示屏:MOSI、CLK、D/C、RST、CS、Vin 和 GND 连接到相应引脚。

设置

安装 Adafruit_Blinka 库,启用平台上的 SPI,确保运行 Python 3。如果之前安装过 PiTFT 内核驱动,需要先移除。

安装 RGB 显示库

通过命令 sudo pip3 install adafruit - circuitpython - rgb - display 安装 RGB 显示库。

安装字体和库

安装 DejaVu TTF 字体和 Pillow 库,确保能使用图形和自定义字体。

十一、Python 使用示例

打开背光

对于部分显示屏,需要添加代码打开背光:

backlight = DigitalInOut(board.D26)
backlight.switch_to_output()
backlight.value = True

显示图像

下载 Blinka 图像,保存为 blinka.jpg,与脚本放在同一目录。代码会自动缩放和裁剪图像,并将其居中显示在显示屏上。

绘制形状和文本

使用 Pillow 库绘制绿色背景、紫色矩形和黄色文本,代码与 displayio 示例类似。

显示系统信息

通过 subprocess 函数获取系统信息,如 IP 地址、CPU 负载、内存使用、磁盘使用和 CPU 温度,并显示在显示屏上。

十二、下载资源

可从以下链接下载相关文件:

  • Fritzing 对象:Adafruit Fritzing 库
  • EagleCAD 文件:GitHub
  • 原始 TFT 显示屏数据手册

Adafruit Mini TFT - 0.96" 160x80 显示屏功能强大,应用场景广泛。通过本文的介绍,相信你对这款显示屏有了更深入的了解,希望能帮助你在电子设计中充分发挥其优势。你在使用这款显示屏时遇到过哪些问题呢?欢迎在评论区分享。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分