当前位置: 首页 > 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…...

新手友好:在快马平台上通过实践快速掌握trea核心概念

作为一个刚接触trea技术的新手&#xff0c;我最近在InsCode(快马)平台上找到了特别适合入门的学习方式。这个平台最让我惊喜的是&#xff0c;不需要从零开始搭建环境&#xff0c;就能直接动手实践trea的核心概念。 理解trea的基本原理 刚开始接触trea时&#xff0c;最困惑的就…...

Reloadium与Django集成:实现视图热重载和页面自动刷新

Reloadium与Django集成&#xff1a;实现视图热重载和页面自动刷新 【免费下载链接】reloadium Hot Reloading, Profiling and AI debugging for Python 项目地址: https://gitcode.com/gh_mirrors/re/reloadium Reloadium是一个强大的Python开发工具&#xff0c;为你的I…...

保姆级教程:用C# WinForm给STM32写个Modbus固件升级工具(附完整源码)

从零构建STM32固件升级工具&#xff1a;C# WinForm与Modbus协议深度实践 1. 开发环境与项目初始化 在Visual Studio 2022中新建Windows窗体应用项目时&#xff0c;建议选择.NET Framework 4.7.2或更高版本以获得最佳兼容性。项目创建后&#xff0c;首先需要配置NuGet包管理器安…...

XInput1_4.dll缺失怎么修复?2026年最新官方安全修复指南

XInput1_4.dll缺失怎么修复&#xff1f;2026年最新官方安全修复指南当你满心欢喜地连接好Xbox手柄&#xff0c;准备沉浸到最新游戏的紧张对决中&#xff0c;屏幕上却突然弹出“找不到XInput1_4.dll”或“XInput1_4.dll丢失”的错误提示&#xff0c;这确实让人瞬间扫兴。这个报错…...

二维码修复:3大场景+5步流程,零代码基础也能掌握的受损二维码恢复指南

二维码修复&#xff1a;3大场景5步流程&#xff0c;零代码基础也能掌握的受损二维码恢复指南 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 日常生活中&#xff0c;我们经常遇到二维码因污渍…...

Android 11+ 适配实战:破解TextToSpeech ‘speak failed: not bound to TTS engine‘ 的权限与引擎绑定之谜

1. 当语音突然沉默&#xff1a;Android 11的TTS报错之谜 那天我正在调试一个天气预报应用&#xff0c;当代码执行到语音播报"今天晴转多云"时&#xff0c;控制台突然抛出红字警告&#xff1a;speak failed: not bound to TTS engine。这个错误在Android 10及以下版本…...

突破限制与全版本支持:MediaCreationTool.bat重新定义Windows安装介质制作

突破限制与全版本支持&#xff1a;MediaCreationTool.bat重新定义Windows安装介质制作 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreatio…...

别再只盯着CAN了!聊聊LIN总线在低成本IoT传感器网络里的那些‘骚操作’

LIN总线在低成本IoT传感器网络中的创新实践 当谈到工业物联网和传感器网络通信协议时&#xff0c;大多数人会立刻想到CAN、Modbus或以太网协议。但有一个被严重低估的选项正在悄然崛起——LIN总线。这个原本为汽车电子设计的轻量级协议&#xff0c;凭借其独特的成本优势和简洁架…...

5个实战技巧让Continue插件成为你的JetBrains AI编程搭档

5个实战技巧让Continue插件成为你的JetBrains AI编程搭档 【免费下载链接】continue ⏩ Source-controlled AI checks, enforceable in CI. Powered by the open-source Continue CLI 项目地址: https://gitcode.com/GitHub_Trending/co/continue 在当今AI驱动的开发时代…...

LeetCode 最长回文子串:python 题解

一、核心问题及解决方案&#xff08;按踩坑频率排序&#xff09; 问题 1&#xff1a;误删他人持有锁——最基础也最易犯的漏洞 成因&#xff1a;释放锁时未做身份校验&#xff0c;直接执行 DEL 命令删除键。典型场景&#xff1a;服务 A 持有锁后&#xff0c;业务逻辑耗时超过锁…...