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

【史上最全面esp32教程】RGB彩灯篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • rgb彩灯的介绍
  • 使用方法
    • 连线
    • 操作
  • 彩灯变换颜色实验
  • 彩灯呼吸灯效果
  • 总结


提示:以下是本篇文章正文内容,下面案例可供参考

rgb彩灯的介绍

ESP32 RGB彩灯是一种可以通过ESP32开发板控制的灯具,它可以实现多种灯光效果,如闪烁、跳变、渐变等。使用ESP32 RGB彩灯可以实现远程控制,可以通过Wi-Fi或蓝牙连接到ESP32开发板,然后使用Arduino IDE编写代码来控制RGB彩灯的亮度和颜色。此外,还可以使用PWM波来控制RGB彩灯的亮度,以实现更多的灯光效果。使用ESP32 RGB彩灯可以实现多种灯光效果,可以为家庭或办公室带来更多的色彩和活力。
B站的RGB彩灯效果展示:

Arduino开源硬件编程学习炫酷玩法-RGB全彩灯珠点阵,彩灯效果,汉字显示,字符显示,传感器扩展,声控音乐效果灯

使用方法

连线

pin16连接到rgb彩灯上面即可。

需要在软件中选择"项目"–>“加载库”–>“管理库”–>输入"Adafruit_NeoPixel"安装即可。

操作

包含头文件#include <Adafruit_NeoPixel.h>
定义彩灯类Adafruit_NeoPixel pixels(彩灯数量, pin脚, NEO_GRB + NEO_KHZ800);

rgb灯珠的开始

pixels.begin();

设置亮度:

pixels.setBrightness(255);

设置全部灯珠颜色:

pixels.fill(0xFF0000);

清除

pixels.clear();

设置指定的灯珠的rgb值:

pixels.setPixelColor(index, pixels.Color(r,g,b));

显示:

pixels.show();

彩灯变换颜色实验

我这里只有5个灯珠,所以最大灯珠就写了5.


#include <Adafruit_NeoPixel.h>// 设置灯珠数量
#define NUMPIXELS        5// 设置输出数据引脚
#define PIN_NEOPIXEL    16// 初始化灯珠控制实例
Adafruit_NeoPixel pixels(NUMPIXELS, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);// 当前灯珠指向
int16_t idx = 0;// 启动设置
void setup() {// 灯珠控制开始pixels.begin();// 设置亮度为255pixels.setBrightness(255);// 设置灯珠颜色,全部关闭pixels.fill(0x000000);delay(100);// 设置灯珠颜色pixels.fill(0xFF0000);delay(100);pixels.clear();
}uint16_t c1 = 0;
uint16_t c2 = 0;
uint16_t c3 = 0;     
uint16_t sign_bit =0;
uint16_t sign = 1;
// 循环主体程序
void loop() {if(sign_bit == 0){//这个if语句在循环体内只运行一次,该if语句及下方if语句可以用switch代替if(sign){c1++;if(c1>=255)sign=0;}else{c2++;if(c2>=255){sign=1;sign_bit = 1;}}}if(sign_bit == 1){if(sign){c1--;if(c1<=0)sign=0;}else{c3++;if(c3>=255){sign=1;sign_bit = 2;}}}if(sign_bit == 2){if(sign){c2--;if(c2<=0)sign=0;}else{c1++;if(c1>=255){sign=1;sign_bit = 3;}}}if(sign_bit == 3){if(sign){c3--;if(c3<=0)sign=0;}else{c2++;if(c2>=255){sign=1;sign_bit = 1;}}}//在这里注释的是一个一个将灯珠点亮并实现渐变idx++;idx%=5;pixels.setPixelColor(idx, pixels.Color(c1,c2,c3));/*=======================================全部点亮用该函数pixels.fill(pixels.Color(c1,c2,c3));=======================================*/delay(10);//延时,改变速度// 显示pixels.show();}

if里面的东西可以直接抄,以及上面的变量,其他的实验请大家自己完成。

彩灯呼吸灯效果

原理:通过setBrightness(255);函数实现。

/* 深圳市普中科技有限公司(PRECHIN 普中)技术支持:www.prechin.net* * 实验名称:RGB彩灯实验* * 接线说明:RGB彩灯模块-->ESP32 IO*         WS-->(16)* * 实验现象:程序下载成功后,RGB彩灯循环点亮且循环变化颜色* * 注意事项:需要在软件中选择"项目"-->"加载库"-->"管理库"-->输入"Adafruit_NeoPixel"安装即可。* */#include <Adafruit_NeoPixel.h>// 设置灯珠数量
#define NUMPIXELS        5// 设置输出数据引脚
#define PIN_NEOPIXEL    16// 初始化灯珠控制实例
Adafruit_NeoPixel pixels(NUMPIXELS, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);// 当前灯珠指向
int16_t idx = 0;// 启动设置
void setup() {// 调试串口速率设置Serial.begin(115200);// 灯珠控制开始pixels.begin();// 设置亮度为255pixels.setBrightness(0);// 设置灯珠颜色,全部关闭pixels.fill(0x000000);delay(100);// 设置灯珠颜色pixels.fill(0xFF0000);delay(100);pixels.clear();
}unsigned int bright = 0;//定义亮度变量// 循环主体程序
void loop() {pixels.setPixelColor(0,pixels.Color(220,255,251));bright++;bright%=256;pixels.setBrightness(bright);delay(10);//延时,改变速度// 显示pixels.show();}

运行后就可以看到第一个rgb彩灯在变换亮度。
一起变换也是一样的,指定index,设置亮度就ok了。

总结

大家可以想一些其他的好看的效果,并实现他。

相关文章:

【史上最全面esp32教程】RGB彩灯篇

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录rgb彩灯的介绍使用方法连线库操作彩灯变换颜色实验彩灯呼吸灯效果总结提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 rgb彩灯的介绍 ESP32…...

大规模 IoT 边缘容器集群管理的几种架构-5-总结

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介大规模 IoT 边缘容器集群管理的几种架构-1-RancherK3s大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad大规模 IoT 边缘容器集群管理的几种架构-3-Portainer大规模 IoT 边缘容器集群管…...

逆风翻盘拿下感知实习offer,机会总是留给有准备的人

个人背景211本&#xff0c;985硕&#xff0c;本科是计算机科学与技术专业&#xff0c;研究生是自学计算机视觉方向&#xff0c;本科主要做C和python程序设计开发&#xff0c;java安卓开发&#xff0c;研究生主要做目标检测&#xff0c;现在在入门目标跟踪和3d目标检测。无论文&…...

SpringBoot整合阿里云OSS文件上传、下载、查看、删除

SpringBoot整合阿里云OSS文件上传、下载、查看、删除1、开发准备1.1 前置知识1.2 环境参数1.3 你能学到什么2. 使用阿里云OSS2.1 创建Bucket2.2 管理文件2.3 阿里云OSS文档3. 项目初始化3.1 创建SpringBoot项目3.2 Maven依赖3.3 安装lombok插件4. 后端服务编写4.1 阿里云OSS配置…...

对话数字化经营新模式:第2届22客户节(22Day)年猪宴圆满结束!

2023年2月22日&#xff0c;由杭州电子商务研究院联合贰贰网络(集团)、TO B总监联盟等发起举办的“第二届客户节22Day”暨2022年度爱名奖 AM AWARDS颁奖及22年猪宴沙龙活动圆满结束。 &#xff08;主持人&#xff1a;杜灵芝&#xff09; 本次沙龙邀请到浙江工业大学管理学院程志…...

数据结构——第二章 线性表(5)——双向循环链表

双向循环链表1.双向循环链表的定义2.双向循环链表的基本操作实现2.1 双向循环链表的初始化操作2.2.双向循环链表的插入操作2.3. 双向循环链表的删除操作1.双向循环链表的定义 单向链表便于查询后继结点&#xff0c;不便于查询前驱结点。为了方便两个方向的查询&#xff0c;可以…...

4面美团软件测试工程师,却忽略了这一点,直接让我前功尽弃

说一下我面试别人时候的思路 反过来理解&#xff0c;就是面试时候应该注意哪些东西&#xff1b;用加粗部分标注了 一般面试分为这么几个部分&#xff1a; 一、自我介绍 这部分一般人喜欢讲很多&#xff0c;其实没必要。大约5分钟内说清楚自己的职业经历&#xff0c;自己的核…...

robot remote server用这个server去远程获取ip

server端配置&#xff1a; 1、安装python环境 2、下载robot remote server 下载地址&#xff1a;https://pypi.python.org/pypi/robotremoteserver/&#xff08;不要用pip下载&#xff0c;把robotremoteserver.py文件下载下来&#xff09; 3、首先创建一个目录E:\rfremote\ &a…...

【WSL】Windows 上安装并启动

一、什么是 WSL Windows Subsystem for Linux 适用于 Linux 的 Windows 子系统 可以帮助我们自然、方便地在 Windows 上使用 Linux 子系统 二、安装 我们要安装的是 WSL2 &#xff0c; 因为其功能相对来说更加完善 1. 简化安装 — 本人亲测不好用 简化安装&#xff1a;高…...

SAFe(Scaled Agile Framework)学习笔记

1.SAFe 概述 SAFe&#xff08;Scaled Agile Framework&#xff09;是一种面向大型企业的敏捷开发框架&#xff0c;旨在协调多个团队和部门的协同工作&#xff0c;以实现高效的软件开发和交付。下面是SAFe框架的简单介绍总结&#xff1a; SAFe框架包括以下四个层次&#xff1a…...

Redis 集群搭建

前缀参考文章1&#xff1a;Centos7 安装并启动 Redis-6.2.6 前缀参考文章2&#xff1a;Redis 主从复制-服务器搭建【薪火相传/哨兵模式】 管道符查看所有redis进程&#xff1a;ps -ef|grep redis 杀死所有redis进程&#xff1a;killall redis-server 1. 首先修改 redis.conf 配…...

【Unity VR开发】结合VRTK4.0:创建物理按钮

语录&#xff1a; 如今我努力奔跑&#xff0c;不过是为了追上那个曾经被寄予厚望的自己 前言&#xff1a; 使用线性关节驱动器和碰撞体从动器可以轻松创建基于物理的按钮&#xff0c;以使交互者能够在物理上按下按钮控件&#xff0c;然后挂钩到驱动器事件中以了解按钮何时被按…...

【软件测试】web自动化测试如何开展合适?自动化测试用例如何设计?资深测试的总结......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 首先&#xff0c;还…...

ARouter::Compiler The user has configuration the module name, it was

学习组件化使用的是阿里的ARouter&#xff0c;我是照着案例敲的&#xff0c;在编译的时候报了这么一个错。 我查了好多资料&#xff0c;大部分都是说build.gradle 配置出现了问题&#xff0c;比如没有配置 javaCompileOptions {annotationProcessorOptions {arguments [AROUTE…...

Jmeter(GUI模式)详细教程

Jmeter&#xff08;GUI模式&#xff09;详细教程 目录&#xff1a;导读 一、安装Jmeter 二、Jmeter工作原理 三、Jmeter操作步骤 Jmeter界面 1、测试计划 2、线程组 3、HTTP请求 4、监听器 四、压力测试 写在最后 前些天&#xff0c;领导让我做接口的压力测试。What…...

2023年CDGA考试-第14章-大数据和数据科学(含答案)

2023年CDGA考试-第14章-大数据和数据科学(含答案) 单选题 1.MapReduce模型有三个主要步骤 () A.剖析、关联、聚类 B.提取、转换、加载 C.映射、修正、转换 D.映射、洗牌、归并 答案 D 2.以下哪种技术已经成为面向数据科学的大数据集分析标准平台。 A.MPP技术。 B.Hado…...

【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化

【阿旭机器学习实战】系列文章主要介绍机器学习的各种算法模型及其实战案例&#xff0c;欢迎点赞&#xff0c;关注共同学习交流。 【阿旭机器学习实战】【36】糖尿病预测—决策树建模及其可视化 目录【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化1. 导入数据并…...

简易黑客初级教程:黑客技术,分享教学

第一节&#xff0c;伸展运动。这节操我们要准备道具&#xff0c;俗话说&#xff1a;“工欲善其事&#xff0c;必先利其器”(是这样吗?哎!文化低……)说得有道理&#xff0c;我们要学习黑客技术&#xff0c;一点必要的工具必不可少。 1&#xff0c;一台属于自己的可以上网的电…...

日本公派访问学者的具体申请流程

公派日本访问学者的具体申请流程&#xff0c;知识人网整理了相关的资料以供大家参考。第一、申请材料一般申请CSC日本访问学者&#xff0c;截止日是每年的1月15号左右&#xff0c;但是学院在1月10号之前就审查材料了。材料包括&#xff1a;CSC网页的报名表&#xff0c;教授邀请…...

投票点赞链接制作投票链接在线制作投票图文链接制作点赞

用户在使用微信投票的时候&#xff0c;需要功能齐全&#xff0c;又快捷方便的投票小程序。而“活动星投票”这款软件使用非常的方便&#xff0c;用户可以随时使用手机微信小程序获得线上投票服务&#xff0c;很多用户都很喜欢“活动星投票”这款软件。“活动星投票”小程序在使…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...