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

灯带代码实现

#include "FastLED.h"            // FastLED库#define NUM_LEDS 60             // LED灯珠数量
#define DATA_PIN 3              // Arduino输出控制信号引脚
#define LED_TYPE WS2812         // LED灯带型号
#define COLOR_ORDER GRB         // RGB灯珠中红色、绿色、蓝色LED的排列顺序uint8_t max_bright = 100;       // LED亮度控制变量,可使用数值为 0 ~ 255, 数值越大则光带亮度越高CRGB leds[NUM_LEDS];            // 建立光带ledsvoid led_rainbow_loop(void){FastLED.clear();FastLED.show();delay(500);fill_solid(leds, 60, CRGB::Red);FastLED.show();delay(1000);                     // 等待1秒fill_solid(leds, 60, CRGB::Orange);FastLED.show();delay(1000);                     // 等待1秒fill_solid(leds, 60, CRGB::Yellow);FastLED.show();delay(1000);                     // 等待1秒fill_solid(leds, 60, CRGB::Green);FastLED.show();delay(1000);                     // 等待1秒fill_solid(leds, 60, CRGB::Cyan);FastLED.show();delay(1000);                     // 等待1秒fill_solid(leds, 60, CRGB::Blue);FastLED.show();delay(1000);                     // 等待1秒fill_solid(leds, 60, CRGB::Purple);FastLED.show();delay(1000);                     // 等待1秒
}void led_rainbow_flowing(void)
{FastLED.clear();FastLED.show();delay(500);int i = 0,loop_count = 0;if(NUM_LEDS%7 == 0){loop_count = NUM_LEDS/7;}else{loop_count = NUM_LEDS/7+1;}for(i=0; i<loop_count; i++){leds[i*7] = CRGB::Red;FastLED.show();delay(200);if(i*7+1>=NUM_LEDS) {break;}leds[i*7+1] = CRGB::Orange;FastLED.show();delay(200);if(i*7+2>=NUM_LEDS) {break;}leds[i*7+2] = CRGB::Yellow;FastLED.show();delay(200);if(i*7+3>=NUM_LEDS) {break;}leds[i*7+3] = CRGB::Green;FastLED.show();delay(200);if(i*7+4>=NUM_LEDS) {break;}leds[i*7+4] = CRGB::Cyan;FastLED.show();delay(200);if(i*7+5>=NUM_LEDS) {break;}leds[i*7+5] = CRGB::Blue;FastLED.show();delay(200);if(i*7+6>=NUM_LEDS) {break;}leds[i*7+6] = CRGB::Purple;FastLED.show();delay(200);if(i*7+7>=NUM_LEDS) {break;}}}void led_rainbow_static(void){FastLED.clear();FastLED.show();delay(500);fill_rainbow(leds, 60, 0, 15);FastLED.show();delay(1000);
}void setup() { LEDS.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);  // 初始化光带 FastLED.setBrightness(max_bright);                            // 设置光带亮度
}void loop() { while(1){led_rainbow_flowing();led_rainbow_static();led_rainbow_loop();}
}
#include <Adafruit_NeoPixel.h>//灯带库函数
#include<ctime>
#define PIN D1//定义引脚#define NUMPIXELS 29//定义led灯数量Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);//定义灯带(确定灯长,输出口,输出规则)int delayval2 = 40; 
void setup(){srand((unsigned)time(NULL));	//设置随机数pixels.setBrightness(25);               //设置灯带亮度pixels.begin();                        //NeoPixel输出准备数据引脚
}
void loop() {uint32_t light2c = pixels.Color(rand()%255,rand()%255,rand()%255);//设置灯带RGB颜色int light2bright = 10;for(int i=0;i<NUMPIXELS;i++){pixels.setPixelColor(i,light2c);//设置第i盏灯为light2c色)pixels.show();//更新灯带}while(true){light2bright+=10;pixels.setBrightness(light2bright);//设置灯带亮度pixels.show();delay(delayval2);if(light2bright>=200)break;}while(true){light2bright-=10;pixels.setBrightness(light2bright);pixels.show();delay(delayval2);if(light2bright<=10)break;}
}

相关文章:

灯带代码实现

#include "FastLED.h" // FastLED库#define NUM_LEDS 60 // LED灯珠数量 #define DATA_PIN 3 // Arduino输出控制信号引脚 #define LED_TYPE WS2812 // LED灯带型号 #define COLOR_ORDER GRB // RGB灯珠中红色、…...

Monocular arbitrary moving object discovery and segmentation 论文阅读

基本信息 题目&#xff1a;Monocular Arbitrary Moving Object Discovery and Segmentation 作者&#xff1a; 来源&#xff1a;BMVC 时间&#xff1a;2021 代码地址&#xff1a;https://github.com/michalneoral/Raptor Abstract 我们提出了一种发现和分割场景中独立移动的…...

ROS | 命名空间

文章目录 概述一、定义介绍二、原理解读1.命名空间2.调用规则概述 本节详细介绍了ROS中的命名空间机制原理和使用。 一、定义介绍 在ROS(Robot Operating System)中,命名空间是一种用于组织和区分节点、话题、服务和参数等资源的层次结构。命名空间使用斜线(/)作为分隔符…...

【中国数据】中国基础矢量数据(shp格式)

数据目录 数据举例 数据获取 专栏分享常用的地理空间数据&#xff0c;包括矢量数据、栅格数据、统计数据等&#xff0c;订阅专栏后&#xff0c;从私信查收专栏完整数据包&#xff0c;持续同步更新。...

Docker:创建主从复制的Redis集群

一、Redis集群 在实际项目里&#xff0c;一般不会简单地只在一台服务器上部署Redis服务器&#xff0c;因为单台Redis服务器不能满足高并发的压力&#xff0c;另外如果该服务器或Redis服务器失效&#xff0c;整个系统就可能崩溃。项目里一般会用主从复制的模式来提升性能&#x…...

c++ 智能指针

1. 起源 c++ 把内存的控制权对开发人员开放,让程序显式的控制内存,这样能够快速的定位到占用的内存,完成释放的工作。但是这样也会引发一些问题,也就是普通指针的隐患: 1.1 野指针 出现野指针的有几个地方 : 指针声明而未初始化,此时指针的将会随机指向内存已经被释放…...

【vue3】依赖注 provide、inject(父组件与儿子、孙子、曾孙子组件之间的传值)

一、基本用法&#xff1a; //父组件 import { ref, provide } from vue const radio ref<string>(red) provide(myColor,radio) //注入依赖//儿子组件、孙子组件、曾孙子组件 import { inject } from vue import type { Ref } from vue; const myColor inject<Ref&l…...

docker 部署tig监控服务

前言 tig对应的服务是influxdb grafana telegraf 此架构比传统的promethus架构更为简洁&#xff0c;虽然influxdb开源方案没有集群部署&#xff0c;但是对于中小型服务监控需求该方案简单高效 本文以docker-compose来演示这套监控体系的快速搭建和效果。 部署 docker-compos…...

ETL工具与数据处理的关系

ETL工具与数据处理之间存在密切的关系。数据处理是指对原始数据进行清洗、整理、加工和分析等操作&#xff0c;以便生成有用的信息和洞察力。而ETL工具则提供了一种自动化和可视化的方式来执行这些数据处理任务。通过ETL工具&#xff0c;用户可以定义数据抽取、转换和加载的规则…...

Flink几个性能调优

1 配置内存 操作场景 Flink是依赖内存计算&#xff0c;计算过程中内存不够对Flink的执行效率影响很大。可以通过监控GC&#xff08;Garbage Collection&#xff09;&#xff0c;评估内存使用及剩余情况来判断内存是否变成性能瓶颈&#xff0c;并根据情况优化。 监控节点进程的…...

后端工程进阶| 青训营笔记

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天 并发编程 协程Goroutine通道Channel锁Lock 并发基础 串行程序与并发程序&#xff1a;串行程序特指只能被顺序执行的指令列表&#xff0c;并发程序则是可以被并发执行的两个及以上的串行程序的综合体。并发程序与并行程序…...

EPPlus库的安装和使用 C# 中 Excel的导入和导出

安装 工具栏->NuGet 包管理器->管理解决方案的NuGet程序包 安装到当前项目中 使用 将 DataGridView 数据导出为Excel 首先&#xff0c;需要将数据DataGridView对象转换为DataTable private void btnExport_Click(object sender, EventArgs e) {// 1.将当前页面的data…...

深度学习使用Keras进行迁移学习提升网络性能

上一篇文章我们用自己定义的模型来解决了二分类问题,在20个回合的训练之后得到了大约74%的准确率,一方面是我们的epoch太小的原因,另外一方面也是由于模型太简单,结构简单,故而不能做太复杂的事情,那么怎么提升预测的准确率了?一个有效的方法就是迁移学习。 迁移学习其…...

越流行的大语言模型越不安全

源自&#xff1a;GoUpSec “人工智能技术与咨询” 发布 安全研究人员用OpenSSF记分卡对GitHub上50个最流行的生成式AI大语言模型项目的安全性进行了评估&#xff0c;结果发现越流行的大语言模型越危险。 近日&#xff0c;安全研究人员用OpenSSF记分卡对GitHub上50个最流…...

搜维尔科技:伦敦艺术家利用Varjo头显捕捉盲人隐藏的梦想

在伦敦举行的弗里泽艺术博览会上,与专业级虚拟现实/XR硬件和软件领域的全球领先者Varjo合作,展示一个突破性的混合现实艺术装置, 皇家国家盲人学会 (rnib),英国领先的视力丧失慈善机构。 这个名为"公共交通的私人生活"的装置是一个互动的声音和图像雕塑,旨在让有眼光…...

如何将html转化为pdf

html转换为pdf html2pdf.js库&#xff0c; 基于html2canvas和jspdf&#xff0c;只能打印2-3页pdf&#xff0c;比较慢&#xff0c;分页会截断html2canvas 只能打印2-3页pdf&#xff0c;比较慢&#xff0c;分页会截断 // canvasDom-to-image 不支持某些css属性Pdfmake html-to-p…...

ES6初步了解生成器

生成器函数是ES6提供的一种异步编程解决方案&#xff0c;语法行为与传统函数完全不同 语法&#xff1a; function * fun(){ } function * gen(){console.log("hello generator");}let iterator gen()console.log(iterator)打印&#xff1a; 我们发现没有打印”hello…...

飞桨大模型套件:一站式体验,性能极致,生态兼容

在Wave Summit 2023深度学习开发者大会上&#xff0c;来自百度的资深研发工程师贺思俊和王冠中带来的分享主题是&#xff1a;飞桨大模型套件&#xff0c;一站式体验&#xff0c;性能极致&#xff0c;生态兼容。 大语言模型套件PaddleNLP 众所周知PaddleNLP并不是一个全新的模型…...

【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]

阅读导航 前言一、unordered系列容器二、unordered_map1. unordered_map简介⭕函数特点 2. unordered_map接口- 构造函数- unordered_map的容量- unordered_map的迭代器- unordered_map的元素访问- unordered_map的修改操作- unordered_map的桶操作 三、unordered_set1. unorde…...

创建 Edge 浏览器扩展教程(上)

创建 Edge 浏览器扩展教程&#xff08;上&#xff09; 介绍开始之前后续步骤开始之前1&#xff1a;创建清单 .json 文件2 &#xff1a;添加图标3&#xff1a;打开默认弹出对话框 介绍 在如今日益数字化的时代&#xff0c;浏览器插件在提升用户体验、增加功能以及改善工作流程方…...

macOS 环境安装 Miniconda3 完全指南

macOS 环境安装 Miniconda3 完全指南&#x1f4a1; 摘要: 本文深入讲解了在 macOS 系统上安装 Miniconda3 的完整流程&#xff0c;涵盖环境准备、下载安装、配置优化、虚拟环境管理、常见问题解决等核心内容。结合腾讯地图 Map Skills 开发场景&#xff0c;提供 Python 环境最佳…...

多语言翻译工作流:OpenClaw协同千问3.5-27B实现文档自动本地化

多语言翻译工作流&#xff1a;OpenClaw协同千问3.5-27B实现文档自动本地化 1. 为什么需要智能翻译流水线&#xff1f; 去年参与一个开源项目时&#xff0c;我遇到了文档翻译的噩梦。团队需要将技术文档同步翻译成英、日、韩三种语言&#xff0c;传统流程是&#xff1a;先用机…...

Cache 维护实战:深入理解 ARMv8-A 架构下的 Invalidate 与 Clean 操作

1. 为什么需要关注Cache维护&#xff1f; 在嵌入式开发中&#xff0c;Cache就像是你办公桌上的文件架。当你频繁访问某些数据时&#xff0c;CPU会把这些数据放在Cache里&#xff0c;就像把常用文件放在手边一样。但问题来了&#xff1a;如果文件内容更新了&#xff08;比如内存…...

基于工件高度检测的机电传动与控制:factory建模博图v16plc程序的设计任务

机电传动与控制&#xff0c;基于工件高度检测的分拣(A)控制系统设计任务 内容&#xff1a;factory 建模博图 v16plc 程序&#xff08;v16 版本以上均可使用&#xff09;传送带上的金属工件哐当哐当地滑过&#xff0c;突然被机械臂稳稳抓取——这看似简单的动作背后藏着精密的高…...

VisualCppRedist AIO:一站式解决Windows软件运行依赖问题的终极指南

VisualCppRedist AIO&#xff1a;一站式解决Windows软件运行依赖问题的终极指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况&…...

4月3日(Claude Code深度解读)

Claude Code源码解读从雇佣一个程序员角度看实际上的他用户输入→ 动态组装 7 层系统提示词→ 注入 Git 状态、项目约定、历史记忆→ 42 个工具各自附带使用手册→ LLM 决定使用哪个工具→ 9 层安全审查&#xff08;AST 解析、ML 分类器、沙箱检查...&#xff09;→ 权限竞争解…...

GTE文本向量模型实战教程:前端Vue组件封装/predict接口调用与loading状态

GTE文本向量模型实战教程&#xff1a;前端Vue组件封装/predict接口调用与loading状态 1. 引言 如果你正在开发一个需要理解中文文本的Web应用&#xff0c;比如自动提取新闻中的关键人物和事件&#xff0c;或者分析用户评论的情感倾向&#xff0c;那么文本向量模型就是你需要的…...

突破Emby功能限制:emby-unlocked的技术实现与应用指南

突破Emby功能限制&#xff1a;emby-unlocked的技术实现与应用指南 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 在媒体服务器领域&#xff0c;Emby作为一款功能…...

忍者像素绘卷入门必看:Z-Image-Turbo与Stable Diffusion 16-Bit插件对比

忍者像素绘卷入门必看&#xff1a;Z-Image-Turbo与Stable Diffusion 16-Bit插件对比 1. 像素艺术创作新选择 在数字艺术创作领域&#xff0c;像素风格始终占据着独特地位。对于想要创作16-Bit复古游戏风格作品的艺术家来说&#xff0c;选择合适的工具至关重要。本文将对比分析…...

Alpamayo-R1-10B多场景测试:拥堵跟车、无保护左转、施工区绕行等长尾场景适配效果

Alpamayo-R1-10B多场景测试&#xff1a;拥堵跟车、无保护左转、施工区绕行等长尾场景适配效果 1. 引言&#xff1a;自动驾驶的“最后一公里”难题 想象一下&#xff0c;你坐在一辆自动驾驶汽车里&#xff0c;行驶在一条陌生的城市道路上。前方是一个没有红绿灯的十字路口&…...