【ESP32开发】——RGB LED灯(灯珠)点亮

2023-11-01

一、引言

        本章内容主要介绍如何使用ESP32开发板点亮板载的RGB灯,使用的是ESP32-S3和ESP32-C3开发板,调用第三方库实现。由于网络上没有关于点亮ESP32板载RGB灯的资料,特此记录。

二、 ESP32-C3与ESP32-S3

        以下为各自开发板的引脚图,驱动板载RGB LED灯的引脚可观察板子上RGB旁边的标记字,如RGB@IO8,即驱动引脚为GPIO 8

引脚可查看官方文档:

ESP32-S3-DevKitC-1 v1.1 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 (espressif.com)

ESP32-S3的RGB灯驱动需要查看板子上的标记,我使用的是  ESP32-S3-DevKitC-1 ,但是标记是RGB@IO48,与官方文档不符。应以实际标记的驱动引脚为准

三、驱动程序

框架:VS + PlatformIO + Arduino
第三方库:Adafruit NeoPixel

【第三方库如何下载配置可见上一篇博客内容:】【ESP32开发】——开发环境搭建(VSCode+PlatformIO)_CoCo哥的博客-CSDN博客

    #include <Adafruit_NeoPixel.h>
	#include <Arduino.h>
	
	#define LED_PIN 8         // 板载RGB灯珠的引脚,根据实际使用的开发板型号而定
	#define LED_COUNT 1         // LED灯条的灯珠数量(板载的是一颗)
	
  /*
  使用 Adafruit_NeoPixel 库创建了一个名为 strip 的对象,控制LED灯珠
	LED_COUNT 表示 LED 条上的 LED 数量,LED_PIN 表示连接到 Arduino 的引脚,NEO_GRB + NEO_KHZ800 用于设置 LED 条的颜色排列和通信速率
	*/ 
    Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

  
	void setup() {
	  strip.begin();
	  strip.setBrightness(50); // 设置亮度(0-255范围)
	}
	
	void loop() {
	  strip.setPixelColor(0, strip.Color(255, 0, 0)); // 设置灯珠为红色 (R, G, B)
	  strip.show(); // 显示颜色
	  delay(1000);  // 延迟1秒

	  strip.setPixelColor(0, strip.Color(0, 255, 0)); // 设置灯珠为绿色 (R, G, B)
	  strip.show(); // 显示颜色
	  delay(1000);  // 延迟1秒

	  strip.setPixelColor(0, strip.Color(0, 0, 255)); // 设置灯珠为蓝色 (R, G, B)
	  strip.show(); // 显示颜色
	  delay(1000);  // 延迟1秒
	}

 运行以上程序可实现板载RGB灯珠的交替点亮。

也可考虑使用 #include "Freenove_WS2812_Lib_for_ESP32.h"该库文件点亮RGB灯,具体可自行查找资料。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ESP32开发】——RGB LED灯(灯珠)点亮 的相关文章

随机推荐

  • QuartusII软件异常:Error: Top-level design entity " " is undefined

    使用Quartus进行数字电路设计时 遇到了下面的编译错误 Info Info Running Quartus II 64 Bit Analysis Synthesis Info Version 11 0 Build 157 04 27 2
  • Linux系统shell脚本之过滤文本关键字

    Linux系统shell脚本之过滤文本关键字 一 脚本要求 二 脚本内容 三 执行脚本 一 脚本要求 1 要求过滤passwd文件中所有的用户名 2 要求查找用户名的字符在三个字符以上的用户 二 脚本内容 root 192 scripts
  • shell中常用的特殊符号

    在shell中常用的特殊符号罗列如下 39 string 39 string command xx yy zz lt gt 井号 comments 这几乎是个满场都有的符号 除了先前已经提过的 第一行 bin bash 井号也常出现在一行的
  • C++浮点数控制输出格式的方法

    控制浮点数输出格式需要包含iomanip头文件 所以在源代码中加上头文件 include
  • 关于wait until snap is fully seeded等原因导致的ubuntu引导无限期黑屏问题

    这个问题我找遍中外只有在一个老外的回复下看到过一点思路 黑屏的时候 立刻频繁切换f1 f2 f3控制台 直到f1 出现登陆界面 就可以了 当然 前提是你nomodeset 都弄过 攻克了这个汉比bug
  • 【动态规划】机器人路径规划——算法设计与分析慕课作业

    题目内容 一个机器人只能向下和向右移动 每次只能移动一步 设计一个算法求机器人从 1 1 到 m n 有多少条路径 输入格式 以空格分开m n 输出格式 路径条数 输入样例 4 5 输出样例 35 loc input split I表示行数
  • 蓝桥杯2022真题:裁纸刀、修剪灌木、刷题统计、纸张尺寸、数位排序、考勤刷卡、卡片、小平方、李白打酒加强版

    目录 1 裁纸刀 2 修剪灌木 3 刷题统计 4 纸张尺寸 5 数位排序 6 考勤刷卡 7 卡片 8 小平方 9 李白打酒加强版 1 裁纸刀 题目无法截图 看题点击 https www lanqiao cn problems sort st
  • 机器学习:利用神经网络实现简单的数字识别

    本学期的机器学习课程 作业参考了吴恩达大佬的手写数字识别实验 以下是完成的代码 import numpy as np import scipy io as sio from scipy optimize import fmin cg imp
  • 剖析:顺序表的增删改查

    目录 前言 一 什么是顺序表 1 1顺序表的两种形式 1 2动态顺序表 二 顺序表增删改查的接口实现 2 1结构体空间表示顺序表 2 2顺序表的初始化 2 2malloc新增空间 2 3增加元素 2 4删除元素 2 5查找元素 2 6指定位
  • 代码质量如何管控与提升

    开发团队代码质量如何做到管控与提升 我相信很多公司都会面临这样的问题 开发团队大人员技术水平参差不齐 代码写的不够规范 代码扫描问题修改太过滞后 代码库管理每个团队都不一致 偶尔还会合并丢失一些代码 code review费人费时效率不高
  • 前端必用正则(js)不间断更新```

    手机号 1 3 d 4 5 6 9 5 0 3 5 9 6 5 7 7 0 8 8 1 3 5 8 9 1 8 9 d 8 大写字母 A Z 日期 如 2019 07 10 d 4 d 1 2 1 d 1 2 email地址 w w w w
  • 【剑指offer-第二版】部分题目与解答【C++版本】

    20180612 求职在即 剑指offer 作为大家都推荐的一本应试宝典 确实也有刷一刷的必要 很多题目都比较经典 也涵盖了大多数的算法和数据结构 把自己刷题的过程做一个总结 权当是一个笔记 当前还处在未完成状态 希望自己能坚持做完 我自己
  • 仓位管理 – 2.实战篇

    上一篇 说到了仓位管理的重要性 这一篇则说明我对仓位控制算法的设计 以及最终使用的算法 由于内容较多 本文中我尽量只说重点 概念 算法 就是将一定可变范围内的一组输入条件 轮换到确定的输出时 所使用到的逻辑换算关系 仓位控制算法 其输入就是
  • study

    学习的博客地址 1 对自己python有帮助过的博客 http blog csdn net anbo724 article category 831447 另外有hadoop 等其他分类
  • 机器学习--人脸自动补齐(11)

    随机树ExtraTreeRegressor 分列点随机选取 不考虑信息增益 减少过拟合 获取一个对象所属的类名称 model class name import numpy as np import pandas as pd import
  • 肖臻老师区块链公开课笔记

    前段时间 区块链大火 出现了很多种基于区块链技术的政务应用 之前通过零散的网页信息和讲座 自我感觉理解了block chain原理 当看到各种区块链技术广泛应用时 自己以技术理解 反而对之不屑 当然 也怀疑自己还没有理解了区块链 带着这种好
  • 二、Flink使用异步算子请求高德地图获取位置信息

    目录 Flink异步算子使用介绍 Flink使用异步算子请求高德地图获取位置信息代码实现 相关阅读 Flink使用异步算子 线程池查询MySQL 1 概述 1 Flink异步算子使用介绍 1 异步与同步概述 同步 向数据库发送一个请求然后一
  • 一步步学习SPD2010--第二章节--处理SP网站(6)---- 探索SP网站

    SP技术没有一个界面 你可以通过使用Web浏览器或者兼容程序如Office 应用程序 包括SPD 你可以选择适合你必须完成的任务的接口 然而 根据你选择的程序 你可能有SP网站的不同视图 如果你使用MS Word 你只看到了网站和内容的一小
  • 爆肝整理 JVM 十大模块知识点总结,不信你还不懂

    01 JVM 内存结构 Java 虚拟机的内存空间分为 5 个部分 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 JDK 1 8 同 JDK 1 7 比 最大的差别就是 元数据区取代了永久代 元空间的本质和永久 代类似 都是对 J
  • 【ESP32开发】——RGB LED灯(灯珠)点亮

    一 引言 本章内容主要介绍如何使用ESP32开发板点亮板载的RGB灯 使用的是ESP32 S3和ESP32 C3开发板 调用第三方库实现 由于网络上没有关于点亮ESP32板载RGB灯的资料 特此记录 二 ESP32 C3与ESP32 S3