当前位置: 首页 > news >正文

ESP32-S3-devKitC-1 点亮板上的WS2812 RGB LED

ESP32-S3-devKitC-1 板上自带了一个RGB LED,型号为 WS2812。

RGB LED 在板上的位置如下图所示。

在这里插入图片描述
为了点亮这个WS2812,需要确定这颗RGB LED连接到哪个GPIO上了。
下面是确定GPIO管脚的过程:
1、根据原理图
在这里插入图片描述
2、根据PCB布局图:
在这里插入图片描述

程序使用了 zorxx/neopixel 这个组件,所以需要运行组件添加命令:

idf.py add-dependency "zorxx/neopixel^1.0.10"

组件添加完成后,需要重新选一下芯片才可以下载添加的组件到项目中。
在这里插入图片描述
完整的代码:

#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include "esp_log.h"
#include "driver/gpio.h"
#include "neopixel.h"#define TAG "RGB-WS2812"
#define LED_COUNT  1
#define LED_PIN GPIO_NUM_48
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))void app_main(void)
{uint32_t times = 100000; //显示的次数tNeopixelContext neopixel = neopixel_Init(LED_COUNT, LED_PIN);tNeopixel pixel[] ={{ 0, NP_RGB(50, 0,  0) }, /* 红色 */{ 0, NP_RGB(0,  50, 0) }, /* 绿色 */{ 0, NP_RGB(0,  0, 50) }, /* 蓝色 */{ 0, NP_RGB(0,  0,  0) }, /* 关闭 */};ESP_LOGI(TAG, "[%s] Starting", __func__);for(int iter = 0; iter < times; ++iter){for(int i = 0; i < ARRAY_SIZE(pixel); ++i){neopixel_SetPixel(neopixel, &pixel[i], 1);vTaskDelay(pdMS_TO_TICKS(200)); //延时,此时显示红、绿、蓝、关闭中的一种}}ESP_LOGI(TAG, "[%s] Finished", __func__);
}

这时候,即使编译成功,烧制完成,RGB LED灯也不会亮。
还差一步!
在这里插入图片描述
使用杜邦线把RGB下面的连接点短接,接通R17和GPIO48管脚的线路,结果展示:
在这里插入图片描述

相关文章:

ESP32-S3-devKitC-1 点亮板上的WS2812 RGB LED

ESP32-S3-devKitC-1 板上自带了一个RGB LED&#xff0c;型号为 WS2812。 RGB LED 在板上的位置如下图所示。 为了点亮这个WS2812&#xff0c;需要确定这颗RGB LED连接到哪个GPIO上了。 下面是确定GPIO管脚的过程&#xff1a; 1、根据原理图 2、根据PCB布局图&#xff1a; 程…...

python调用matlab函数(内置 + 自定义) —— 安装matlab.engine

文章目录 一、简介二、安装matlab.engine2.1、基于 CMD 安装2.2、基于 MATLAB 安装&#xff08;不建议&#xff09; 三、python调用matlab函数&#xff08;内置 自定义&#xff09; 一、简介 matlab.engine&#xff08;MATLAB Engine API for Python&#xff09;&#xff1a;…...

CAD c# 生成略缩图预览

代码如下&#xff1a; using (Transaction tr currentdb.TransactionManager.StartTransaction()){//当前数据库开启事务using (Database tempdb new Database(false, true)) //创建临时数据库(两个参数&#xff1a;是否创建符号表&#xff0c;不与当前文档关联){try{Bitmap …...

端点鉴别、安全电子邮件、TLS

文章目录 端点鉴别鉴别协议ap 1.0——发送者直接发送一个报文表明身份鉴别协议ap 2.0——ap1.0 的基础上&#xff0c;接收者对报文的来源IP地址进行鉴别鉴别协议ap 3.0——使用秘密口令&#xff0c;口令为鉴别者和被鉴别者之间共享的秘密鉴别协议ap 3.1——对秘密口令进行加密&…...

汽车电子元件的可靠性保障:AEC-Q102认证

AEC-Q102标准的起源与价值 随着汽车电子系统的日益复杂&#xff0c;电子器件必须能够在极端的温度、湿度、振动和电磁干扰等恶劣条件下保持性能。AEC-Q102标准由汽车电子委员会&#xff08;AEC&#xff09;制定&#xff0c;专门针对LED、激光二极管和光电二极管等光电器件&…...

主成分分析法大全(包括stata+matlab)

数据简介&#xff1a;主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;&#xff0c; 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量&#xff0c;转换后的这组变量叫主成分。在实际课题中&#xff0c;为了…...

ubuntu+ros新手笔记(五):初探anaconda+cuda+pytorch

深度学习三件套&#xff1a;初探anacondacudapytorch 系统ubuntu22.04 1.初探anaconda 1.1 安装 安装过程参照【详细】Ubuntu 下安装 Anaconda 1.2 创建和删除环境 创建新环境 conda create -n your_env_name pythonx.x比如我创建了一个名为“py312“的环境 conda cre…...

C++ List(双向链表)

是一个线性链表结构&#xff0c;它的数据由若干个节点构成&#xff0c;每一个节点都包括一个 信息块&#xff08;即实际存储的数据&#xff09;、一个前驱指针和一个后驱指针。它无需分配指定 的内存大小且可以任意伸缩&#xff0c;这是因为它存储在非连续的内存空间中&#…...

ASP.NET|日常开发中读写TXT文本详解

ASP.NET&#xff5c;日常开发中读写TXT文本详解 前言一、读取 TXT 文本1.1 使用StreamReader类 二、写入 TXT 文本2.1 使用StreamWriter类 三、文件编码问题3.1 常见编码格式 四、错误处理和性能考虑4.1 错误处理4.2 性能考虑 结束语优质源码分享 ASP.NET&#xff5c;日常开发中…...

【机器学习】在不确定的光影中:机器学习与概率论的心灵共舞

文章目录 概率与统计基础&#xff1a;解锁机器学习的数据洞察之门前言一、概率论基础1.1 概率的基本概念与性质1.1.1 概率的定义1.1.2 样本空间与事件1.1.3 互斥事件与独立事件1.1.4 概率的计算方法 1.2 条件概率与独立性1.2.1 条件概率1.2.2 独立事件 1.3 随机变量1.3.1 随机变…...

【论文笔记】Editing Models with Task Arithmetic

&#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为往圣继绝学&#xff0c;为万世开太平。 基本信息 标题: Editing Models with Task…...

ESP32外设学习部分--UART篇

前言 在我们学习嵌入式的过程中&#xff0c;uart算是我们用的非常多的一个外设了&#xff0c;我们可以用串口打印信息&#xff0c;也可以用于设备通信&#xff0c;总之串口的作用非常多&#xff0c;我们也非常有必要熟练地去掌握这个外设。 uart的配置 uart的参数配置 uart_…...

ssm-day04 mybatis

mybatis是一个持久层框架&#xff0c;针对的是JDBC的优化 简化数据库操作&#xff0c;能进行单表、多表操作&#xff0c;在这个框架下&#xff0c;需要我们自己写SQL语句 Mapper接口和MapperXML文件就相当于Dao和Dao层的实现 通常将xml文件放在resources包下 &#xff0c;放在…...

es中段是怎么合并的

文章目录 1. 段合并的背景2. 合并的方式2.1TieredMergePolicy 的层次结构2.2 层次的基本规则2.3 如何理解层次&#xff08;tier&#xff09;2.4. 合并过程中的层次示例2.5. TieredMergePolicy 的优势2.6. 小结 3. 合并过程中的优化4. 合并的性能考虑5. 使用 API 手动合并6. 合并…...

5、可暂停的线程控制模型

一、需求 在做播放器的时候&#xff0c;很多的模块会创建一个线程&#xff0c;然后在这个线程上跑单独的功能&#xff0c;同时&#xff0c;需要对这个线程进行控制&#xff0c;比如暂停&#xff0c;继续等&#xff0c;如播放器的解码&#xff0c;解封装等&#xff0c;都需要对…...

sql优化--mysql隐式转换

sql隐式转换 在SQL中&#xff0c;隐式转换是数据库自动进行的类型转换&#xff0c;隐式转换可以帮助我们处理不同类型的数据。 比如&#xff0c;数据表的字段是字符串类型的&#xff0c;传入一个整型的数据&#xff0c;也能够运行sql。 sql隐式转换的弊端 sql隐式转换&…...

Scratch021(画笔)

画笔模块 可以这么理解&#xff0c;画笔模块是Scratch的拓展模块&#xff0c;用它可以完成很多的功能&#xff0c;非常有趣&#xff01; 案例要求 点击绿旗运行程序&#xff0c;页面显示需要绘制的背景。 可以使用鼠标移动画笔角色&#xff0c;按照顺序点击连线&#xff0c;…...

Leetcode 3387. Maximize Amount After Two Days of Conversions

Leetcode 3387. Maximize Amount After Two Days of Conversions 1. 解题思路2. 代码实现 题目链接&#xff1a;3387. Maximize Amount After Two Days of Conversions 1. 解题思路 这一题思路上其实就是要分别求出day 1以及day 2中原始货币与其他各个货币之间的成交价&…...

机器视觉与OpenCV--01篇

计算机眼中的图像 像素 像素是图像的基本单位&#xff0c;每个像素存储着图像的颜色、亮度或者其他特征&#xff0c;一张图片就是由若干个像素组成的。 RGB 在计算机中&#xff0c;RGB三种颜色被称为RGB三通道&#xff0c;且每个通道的取值都是0到255之间。 计算机中图像的…...

简单的Java小项目

学生选课系统 在控制台输入输出信息&#xff1a; 在eclipse上面的超级简单文件结构&#xff1a; Main.java package experiment_4;import java.util.*; import java.io.*;public class Main {public static List<Course> courseList new ArrayList<>();publi…...

大模型在软件测试中的应用:从测试用例生成到bug检测

在软件行业高速发展的今天&#xff0c;软件规模持续扩大、复杂度不断攀升&#xff0c;软件测试作为保障软件质量的关键环节&#xff0c;面临着前所未有的挑战。传统测试方法在应对海量需求、复杂业务逻辑以及快速迭代的开发模式时&#xff0c;逐渐暴露出效率低下、覆盖不全等问…...

小白程序员必备:从零基础到大模型实战,这份学习路线图请收藏!

本文结合530名开发者的经验&#xff0c;为AI初学者提供从零基础到项目实战的完整学习路线。核心内容包括&#xff1a;Python编程、数学基础、机器学习、深度学习框架&#xff08;PyTorch&#xff09;、科学计算库&#xff08;NumPy&#xff09;等关键技能&#xff0c;并避开了常…...

图吧工具箱下载安装和使用保姆级教程(2026实测)

图吧工具箱全名图拉丁吧硬件检测工具箱&#xff0c;简称 “图吧工具箱”&#xff0c;是国内硬件爱好者社区 “图拉丁吧” 开发维护的免费开源工具合集&#xff0c;2014 年首发&#xff0c;至今持续更新&#xff0c;是 DIY 玩家、装机员、普通用户公认的 “电脑硬件全能管家”。…...

VirtualBox虚拟机里Win10远程桌面黑屏?手把手教你改组策略搞定它

VirtualBox虚拟机Win10远程桌面黑屏终极解决方案&#xff1a;从策略组到网络优化的全链路排查 当你正沉浸在VirtualBox虚拟机的Windows 10环境中进行关键开发工作&#xff0c;突然发现远程桌面连接后只剩一片漆黑——这种体验就像在重要会议前突然失声。不同于物理机的远程连接…...

快速傅里叶变换(FFT)原理与工程实践:从分治算法到信号处理应用

1. 从时域到频域&#xff1a;为什么我们需要FFT&#xff1f;如果你曾经处理过音频信号、图像数据&#xff0c;或者调试过通信系统&#xff0c;那你一定对“频谱”这个概念不陌生。我们生活的世界是时间的函数&#xff0c;声音随着时间起伏&#xff0c;图像像素在空间上排列&…...

Perplexity诗词搜索私有化部署全指南:在本地GPU上运行完整古诗理解Pipeline(含《全唐诗》向量化+平仄校验模块,资源包限今日领取)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity诗词歌赋搜索 Perplexity 作为一款以推理深度见长的 AI 搜索引擎&#xff0c;其在中文古典文学领域的检索能力尤为突出。不同于传统关键词匹配&#xff0c;它通过语义理解与上下文建模&#…...

Go语言内存优化:GC调优与内存池

Go语言内存优化&#xff1a;GC调优与内存池 1. GC调优 import "runtime/debug"func init() {debug.SetGCPercent(100) }2. sync.Pool var bufferPool sync.Pool{New: func() interface{} {return make([]byte, 4096)}, }func getBuffer() []byte {return bufferPool…...

告别黑框!树莓派4B远程桌面完整指南:从VNC配置到RealVNC/XRDP方案选择与优化

树莓派4B远程桌面终极方案&#xff1a;告别黑框与卡顿的实战指南 对于许多树莓派开发者而言&#xff0c;那个令人沮丧的黑色方框已经成为远程连接体验的代名词。当你满怀期待地输入IP地址&#xff0c;等待的却是一个无法操作的空白界面&#xff0c;这种挫败感足以让任何人抓狂。…...

CentOS 7服务器部署:NFS共享、Nginx-RTMP流媒体与Qt无GUI环境全攻略

1. 项目概述与核心思路最近在华为云的一台CentOS 7.4 64位服务器版ECS上&#xff0c;完整部署了一套用于音视频处理和后台服务的开发环境。这个环境的核心目标&#xff0c;是为一个需要处理视频流、提供Web服务&#xff0c;并能方便地进行跨机文件共享和Qt程序编译的后台系统打…...

智慧工业控制面板工控部件元器件LCD部件检测数据集VOC+YOLO格式365张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;365标注数量(xml文件个数)&#xff1a;365标注数量(txt文件个数)&#xff1a;365标注类别数&…...