首页 > 其他分享 >wmls电子屏创作

wmls电子屏创作

时间:2024-08-26 10:52:53浏览次数:2  
标签:电子屏 引脚 ESP32 wmls 显示屏 创作 GPIO TFT 连接

1代码

1. 硬件准备

  • ESP32开发板
  • 1.28英寸圆形TFT显示屏 (使用ST7789驱动芯片)
  • 连接线
  • 供电方式: 通过USB给ESP32供电

2. GIF 动画准备

  • 准备一个尺寸为240x240的GIF动画,并将其放入ESP32的SPIFFS文件系统中。

3. 代码实现

为了显示GIF动画,我们需要使用一个支持GIF解码的库。以下代码使用了Arduino_GFX库和GIFDecoder库来实现GIF动画的显示。

安装库

  • 安装Arduino_GFX库和GIFDecoder库,这些库在Arduino库管理器中都可以找到。

代码示例

#include <Arduino_GFX_Library.h>
#include <SPIFFS.h>
#include <GIFDecoder.h>

#define TFT_BLK 33   // 背光引脚
#define TFT_DC 2     // 数据/命令引脚
#define TFT_RST 4    // 重置引脚
#define TFT_CS -1    // 芯片选择引脚(如果不使用,设为-1)
#define TFT_MOSI 23  // SPI MOSI引脚
#define TFT_SCLK 18  // SPI 时钟引脚

// 初始化TFT
Arduino_DataBus *bus = new Arduino_SWSPI(TFT_DC, TFT_CS, TFT_SCLK, TFT_MOSI, -1);
Arduino_GFX *gfx = new Arduino_ST7789(bus, TFT_RST, 0 /* rotation */, true /* IPS */);

GIF gif;

void setup() {
  // 初始化串口输出(用于调试)
  Serial.begin(115200);

  // 初始化文件系统
  if (!SPIFFS.begin(true)) {
    Serial.println("SPIFFS Mount Failed");
    return;
  }

  // 初始化显示屏
  gfx->begin();
  gfx->fillScreen(BLACK);

  // 打开GIF文件
  File f = SPIFFS.open("/animated.gif", "r");
  if (!f) {
    Serial.println("Failed to open GIF file");
    return;
  }

  // 初始化GIF解码器
  gif.begin(gfx, gifDrawFrame);
  gif.open(f);
}

void loop() {
  // 解码并显示GIF动画
  if (gif.playFrame(true, 0)) {
    delay(50);  // 控制动画速度
  } else {
    gif.close();
    File f = SPIFFS.open("/animated.gif", "r");
    gif.open(f);
  }
}

// 回调函数,用于绘制每一帧
void gifDrawFrame(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint8_t *pixels) {
  gfx->draw16bitRGBBitmap(x, y, (uint16_t*)pixels, w, h);
}

4. 上传GIF文件

  • 将240x240尺寸的animated.gif上传到ESP32的SPIFFS文件系统中。

5. 编译与上传

  • 将代码编译并上传到ESP32开发板上。

6. 调试与运行

  • 上传成功后,ESP32将开始显示你上传的GIF动画。

7. 注意事项

  • GIF大小: 由于ESP32的内存有限,建议使用较小尺寸和较少帧数的GIF,以避免性能瓶颈。
  • FPS控制: 通过调整代码中的delay(50)来控制动画的播放速度。

通过这个方式,你可以在ESP32的圆形显示屏上展示动态图片或动画。如果你需要显示更复杂的动画,可以考虑使用更高性能的微控制器或者进一步优化图片的分辨率和帧数。

是的,接线是实现项目的重要步骤。接线的方式取决于你所使用的显示屏和控制器的具体型号。下面是使用ESP32开发板与1.28英寸的圆形TFT显示屏(以ST7789驱动芯片为例)进行接线的详细步骤。

2接线

1. 硬件连接

  • ESP32开发板
  • 1.28英寸圆形TFT显示屏(ST7789驱动芯片)
  • 连接线

2. 引脚定义

你需要将ESP32的引脚与显示屏的引脚正确连接,以下是常见的引脚对应关系:

  • VCC: 连接到ESP32的 3.3V5V 电源引脚
  • GND: 连接到ESP32的 GND
  • SCK: 连接到ESP32的 GPIO 18 (SPI时钟)
  • SDA: 连接到ESP32的 GPIO 23 (SPI数据线,MOSI)
  • RES: 连接到ESP32的 GPIO 4 (重置引脚)
  • DC: 连接到ESP32的 GPIO 2 (数据/命令控制引脚)
  • CS: 连接到ESP32的 GPIO 5(芯片选择引脚,若不使用可连接 GND
  • BLK: 连接到ESP32的 GPIO 33(背光控制引脚,或直接连接 3.3V

3. 具体接线说明

显示屏引脚 功能 ESP32引脚
VCC 电源输入 3.3V5V
GND GND
SCK SPI时钟 GPIO 18
SDA SPI数据(MOSI) GPIO 23
RES 重置 GPIO 4
DC 数据/命令选择 GPIO 2
CS 芯片选择 GPIO 5(或接 GND
BLK 背光控制 GPIO 333.3V

4. 硬件接线图

ESP32              1.28" TFT Display
[3.3V] --------->  VCC
[GND] ---------->  GND
[GPIO 18] ------>  SCK
[GPIO 23] ------>  SDA
[GPIO 4] ------->  RES
[GPIO 2] ------->  DC
[GPIO 5] ------->  CS (或直接连接到GND)
[GPIO 33] ------>  BLK (或直接连接到3.3V)

5. 注意事项

  • 电压匹配: 确保显示屏的供电电压与ESP32的输出电压匹配。大多数TFT显示屏可以在3.3V和5V之间工作,但最好确认显示屏的规格。
  • 信号连接: SPI时钟(SCK)和数据(MOSI)引脚必须正确连接,否则无法正确传输显示数据。
  • 背光控制: 如果需要控制显示屏的背光,可以将BLK引脚连接到ESP32的PWM引脚(如GPIO 33)以调节亮度;否则可以直接连接到3.3V保持背光常亮。

6. 测试与验证

  • 接线完成后,上传测试代码来验证接线是否正确。如果显示屏正常启动并能显示内容,说明接线正确。如果显示屏不工作,检查各引脚的连接。

3硬件

是的,ESP32开发板和TFT显示屏是需要自行购买的硬件组件。它们在很多电子元器件网站或在线商城都有售卖。以下是购买这些硬件的一些建议:

1. ESP32开发板

  • 型号选择: ESP32开发板有多个版本,一般推荐带有USB接口的开发板,如ESP32 DevKitCNodeMCU-32S,这些版本安装和使用都比较方便。
  • 购买地点: 可以在Amazon、eBay、淘宝、Aliexpress、国内外的电子元件供应商等平台购买。

2. 1.28英寸圆形TFT显示屏

  • 型号选择: 确保购买带有ST7789驱动芯片的1.28英寸圆形TFT显示屏,这种屏幕通常支持SPI通信协议。
  • 购买地点: 同样可以在Amazon、eBay、淘宝、Aliexpress等平台找到。

3. 其他配件

  • 连接线: 杜邦线(公对母、公对公)用于连接ESP32和显示屏。通常可以成套购买。
  • 电源线/适配器: 如果使用USB供电,可以直接通过ESP32的USB端口供电;也可以选择购买5V的USB电源适配器。

4. 注意事项

  • 兼容性: 购买时,确保显示屏的驱动芯片与计划使用的代码库兼容(如ST7789)。同时要确认ESP32的电压与显示屏匹配,通常ESP32为3.3V。
  • 质量: 选择评价较高的商家,确保购买的硬件质量可靠。

5. 额外的硬件或工具(可选)

  • 面包板和跳线: 用于方便地进行电路连接和调试。
  • 3D打印机: 如果需要自制外壳,可以考虑使用3D打印机。

在购买这些硬件之后,按照我们之前讨论的接线和代码步骤,你就可以开始动手制作了。如果在购买或使用过程中有任何问题,随时可以向我咨询。

面包板和跳线是电子项目中常用的工具,尤其在原型设计和电路调试中非常常见。

1. 面包板(Breadboard)

  • 用途: 面包板是一种用于临时搭建电路的工具,不需要焊接,因此适合初学者和快速原型开发。它有许多小孔,可以插入电子元件和连接线,快速建立和修改电路。

  • 结构:

    • 电源轨: 面包板的两侧通常有两条长的横向连接的孔排,通常标注为“+”和“-”,用于连接电源和地(GND)。这些孔之间是相互连通的。
    • 信号线列: 中间部分是垂直排列的孔,每列的孔之间也是相互连通的,用来连接电路中的信号和组件。
  • 常见尺寸: 面包板有多种尺寸,小的面包板可能只有170个孔,大的可能有830个孔甚至更多。

  • 优点:

    • 无需焊接,易于拆装和调整电路。
    • 可以快速进行电路测试和调试。

2. 跳线(Jumper Wires)

  • 用途: 跳线是用于在面包板和电子元件之间进行连接的导线。跳线有不同的类型,适合不同的连接方式。

  • 类型:

    • 公对公跳线(Male to Male): 两端都是公头,适合连接面包板之间的孔或将元件插入面包板中。
    • 公对母跳线(Male to Female): 一端是公头,另一端是母头,常用于连接面包板和带有引脚的组件(如ESP32、传感器等)。
    • 母对母跳线(Female to Female): 两端都是母头,常用于连接两个带有引脚的组件。
  • 长度: 跳线有多种长度,常见的有10cm、20cm、30cm等。选择合适的长度可以减少电路中的杂乱。

3. 使用示例

假设你要在ESP32和TFT显示屏之间建立连接,你可以使用面包板和跳线来简化连接:

  1. 将ESP32开发板插入面包板: 将ESP32插在面包板上,以便通过跳线连接它的引脚。
  2. 使用跳线进行连接: 使用公对母跳线,将ESP32的引脚连接到面包板,再用另一根跳线将面包板上的孔连接到显示屏的引脚。

4. 购买建议

  • 面包板: 你可以购买中等大小(400-830孔)的面包板,足够容纳ESP32和其他元件。
  • 跳线: 通常成套出售,有多种长度和类型,建议选择带有多种类型的套装,方便不同的连接需求。

通过面包板和跳线,你可以轻松搭建和调试电路,而无需进行焊接。

标签:电子屏,引脚,ESP32,wmls,显示屏,创作,GPIO,TFT,连接
From: https://www.cnblogs.com/sunfankun/p/18380586

相关文章

  • 基于nodejs+vueTVCBOOK灵感创作[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在数字化时代,创意产业蓬勃发展,成为推动经济增长和社会进步的重要力量。TVCBOOK灵感创作平台应运而生,旨在构建一个集用户交流、优秀作品展示、作品分类管理、......
  • 2024最新FL Studio24.1.1中文版新功能全解析,创作更高效!
    大家好呀,作为一个资深的音乐爱好者和制作人,今天我要安利一个我最近超级痴迷的数字音频工作站软件——FLStudio24.1.1中文版。这款产品可是让我的音乐创作之路如虎添翼,快来跟我一起看看它的炫酷功能吧!......
  • 轻松创作高质量的AI音乐——Suno API
    Suno歌曲生成API对接说明随着AI的应用变广,各类AI程序已逐渐普及。AI已逐渐深入到人们的工作生活方方面面。而AI涉及的行业也越来越多,从最初的写作,到医疗教育,再到现在的音乐。Suno是一个专业高质量的AI歌曲和音乐创作平台,用户只需输入简单的文本提示词,即可根......
  • 从0到1!如何利用GPT创作高质量的儿童绘本故事?(附提示词)
    儿童绘本故事需要有趣、富有教育意义,并且简单易懂。利用GPT来创作这样的故事,可以让创意过程变得轻松且高效。以下是一份详细教程,帮助你用GPT创作出吸引孩子们的高质量绘本故事。1.明确故事目标和受众在开始创作之前,明确故事的目标和受众非常重要。儿童绘本通常适合3-8岁......
  • AppFlowy:文档编辑的革新者 —— 撰写更流畅,创作更自由
    前言AppFlowy,这个名字听起来就像是流动的艺术,但实际上它是一款功能强大的知识管理和生产力工具。想象一下,你手头有一堆杂乱无章的想法、笔记和待办事项,它就像是智能小助手,能够把这些混乱的东西整理得井井有条。用了它,你不仅能提升工作效率,还能让你的创意和灵感得到更好的组织......
  • 原创文章被检测为AI创作,AI检测还靠谱吗?
    自从GPT火了以后,网络上的AI内容就变得泛滥了,刚开始还能轻松辨别哪些是AI的(一眼AI),哪些是人写的。现在这一两年里,随着生成式AI不断深入人心,AI内容变得更加泛滥了,并且经过这段时间技术的发展,AI生成的内容越来越真假难辨......
  • Copy AI——营销和内容创作
    一、CopyAI介绍CopyAI是一个基于人工智能的文案生成工具,旨在帮助用户快速生成高质量的营销内容、广告文案、社交媒体帖子、博客文章、电子邮件等。它利用自然语言处理(NLP)和深度学习技术,通过理解用户输入的关键信息,生成符合要求的文本内容。二、CopyAI核心功能多场景文......
  • 如何用ChatGPT 4.0创作高质量的小红书笔记?
    小红书(RED)作为一个内容分享平台,吸引了大量年轻用户,他们在这里寻找生活灵感和消费建议。要在这个竞争激烈的平台上脱颖而出,高质量的笔记至关重要。ChatGPT4.0作为一款强大的AI工具,可以帮助创作者生成内容并优化笔记,提高曝光率和互动率。本文将详细介绍如何利用ChatGPT4.0创作......
  • 人工智能辅助创作技术指南
    文末有课程下载地址摘要:本技术文献旨在介绍一系列人工智能(AI)辅助创作指令,这些指令旨在提升内容创作的质量和效率。本指南涵盖了多种创作场景,包括文案撰写、故事创作、PPT制作、散文创作等,并提供了相应的使用教程。1.引言随着人工智能技术的发展,AI辅助创作已成为提升创作......
  • 文字游侠AI:自媒体创作者的智能写作革命,你都知道多少?
    在这个信息爆炸的时代,自媒体已成为连接创作者与观众的重要桥梁。然而,内容创作并非易事,它需要才华、时间与精力的投入。幸运的是,技术的进步带来了新的解决方案——"文字游侠AI工具",这是一款能够大幅提升创作效率,帮助创作者在内容海洋中乘风破浪的神器。文字游侠AI工具介绍和......