ARDUINO UNO 12颗LED超酷流水灯效果

效果代码:
#define t 30
#define t1 20
#define t2 100
#define t3 50
void setup() {
// set up pins 2 to 13 as outputs
for (int i = 2; i <= 13; i++) {
pinMode(i, OUTPUT);
}
}
/Effect 1
void loop()
{
effect_1();
effect_1();
effect_2();
effect_2();
effect_3();
effect_3();
effect_4();
effect_4();
effect_5();
effect_5();
effect_6();
effect_6();
effect_7();
effect_7();
}
//左到右右到左
void effect_1()
{
for(int i=2; i<14; i++){
digitalWrite(i, HIGH);
delay(t1);
digitalWrite(i+1, HIGH);
delay(t1);
digitalWrite(i+2, HIGH);
delay(t1);
digitalWrite(i, LOW);
delay(t1);
digitalWrite(i+1, LOW);
delay(t1);
}
for(int i=13; i>1; i--){
digitalWrite(i, HIGH);
delay(t1);
digitalWrite(i-1, HIGH);
delay(t1);
digitalWrite(i-2, HIGH);
delay(t1);
digitalWrite(i, LOW);
delay(t1);
digitalWrite(i-1, LOW);
delay(t1);
}
}
/Effect 2
void effect_2()
{
int count = 13; // keeps track of second LED movement
// 将第一个 LED 从左向右移动,第二个 LED 从右向左移动
for (int i = 2; i < 13; i++) {
clear();
digitalWrite(i, HIGH); // chaser 1
digitalWrite(count, HIGH); // chaser 2
count--;
// 停止 LED ,静止在中间
if (count != 7) {
delay(t2);
}
}
// 将第一个 LED 从右向左移动,将第二个 LED 从左向右移动
for (int i = 13; i > 2; i--) {
clear();
digitalWrite(i, HIGH); // chaser 1
digitalWrite(count, HIGH); // chaser 2
count++;
// 停止 LED ,静止在中间
if (count != 8) {
delay(t2);
}
}
}
Effect 3
void effect_3()
{
for(int i=2; i<14; i++){
digitalWrite(i, HIGH);
delay(t3);
}
for(int i=2; i<14; i++){
digitalWrite(i, LOW);
delay(t3);
}
for(int i = 14; i>=2; i--){
digitalWrite(i, HIGH);
delay(t3);
}
for(int i = 14; i>=2; i--){
digitalWrite(i, LOW);
delay(t3);
}
}
///Effect 4
void effect_4()
{
for(int j = 2; j <= 13; j++){
digitalWrite(j, HIGH);
delay(t2);
j=j+1;
}
for(int j = 2; j <= 13; j++){
digitalWrite(j, LOW);
delay(t2);
}
for(int k = 15; k > 2; k--){
digitalWrite(k, HIGH);
delay(t2);
k=k-1;
}
for(int k = 15; k > 2; k--){
digitalWrite(k, LOW);
delay(t2);
}
}
//Effect 5
void effect_5()
{
clear();
for (int i = 2; i < 13; i++) {
for (int pin = 13; pin >= i; pin--)
{
digitalWrite(pin, HIGH);
delay(t1);
digitalWrite(pin + 1, LOW);
delay(t1);
}
}
}
/Effect 6
void effect_6()
{
for(int j=2; j<14; j++){
digitalWrite(j, LOW);
delay(t);
digitalWrite(j, HIGH);
delay(t);
digitalWrite(j-2, LOW);
delay(t);
digitalWrite(j, HIGH);
}
for(int k = 15; k>2; k--){
digitalWrite(k, LOW);
delay(t);
digitalWrite(k, HIGH);
delay(t);
digitalWrite(k+2, LOW);
delay(t);
digitalWrite(k, HIGH);
}
for(int k = 2; k<14; k++){
digitalWrite(k, LOW);
delay(t);
digitalWrite(k, HIGH);
delay(t);
digitalWrite(k-2, LOW);
delay(t);
digitalWrite(k, HIGH);
}
for(int k = 15; k>2; k--){
digitalWrite(k, LOW);
delay(t);
digitalWrite(k, HIGH);
delay(t);
digitalWrite(k+4, LOW);
delay(t);
digitalWrite(k, HIGH);
}
for(int k = 2; k<14; k++){
digitalWrite(k, LOW);
delay(t);
digitalWrite(k, HIGH);
delay(t);
digitalWrite(k-4, LOW);
delay(t);
digitalWrite(k, HIGH);
}
}
///Effect 7
void effect_7()
{
for(int j=2; j<14; j++){
digitalWrite(j, HIGH);
delay(t);
digitalWrite(j+2, LOW);
delay(t);
}
for(int k = 15; k>2; k--){
digitalWrite(k, HIGH);
delay(t);
digitalWrite(k+2, LOW);
delay(t);
}
}
// function to switch all LEDs off
void clear(void)
{
for (int i = 2; i <= 13; i++) {
digitalWrite(i, LOW);
}
}
相关文章:
ARDUINO UNO 12颗LED超酷流水灯效果
效果代码: #define t 30 #define t1 20 #define t2 100 #define t3 50 void setup() { // set up pins 2 to 13 as outputs for (int i 2; i < 13; i) { pinMode(i, OUTPUT); } } /Effect 1 void loop() { effect_1(); effect_1(); effect_…...
Linux下查看pytorch运行时真正调用的cuda版本
一般情况我们会安装使用多个cuda版本。而且pytorch在安装时也会自动安装一个对应的版本。 正确查看方式: 想要查看 Pytorch 实际使用的运行时的 cuda 目录,可以直接输出 cpp_extension.py 中的 CUDA_HOME 变量。 import torch import torch.utils imp…...
分享mfc140u.dll丢失的解决方法,针对原因解决mfc140u.dll丢失的问题
作为电脑小白,如果电脑中出现了mfc140u.dll丢失的问题,肯定会比较的慌乱。但是出现mfc140u.dll丢失的问题,其实也有很简单的办法,所以大家不用慌张,接下来就教大家解决办法,能够有效的解决mfc140u.dll丢失的…...
torch_cluster、torch_scatter、torch_sparse三个包的安装
涉及到下面几个包安装的时候经常会出现问题,这里我使用先下载然后再安装的办法: pip install torch_cluster pip install torch_scatter pip install torch_sparse 1、选择你对应的torch版本:https://data.pyg.org/whl/ 2、点进去然后&…...
软件安利——火绒安全
近年来,以优化、驱动、管理为目标所打造的软件屡见不鲜,大同小异的电脑管家相继走入了公众的视野。然而,在这日益急功近利的社会氛围驱动之下,真正坚持初心、优先考虑用户体验的电脑管家逐渐湮没在了浪潮之中。无论是鲁大师&#…...
Induced AI:一个专门为自动化任务而设计的AI原生浏览器RPA平台
内容来源:xiaohuggg Induced AI:一个专门为自动化任务而设计的AI原生浏览器RPA平台 刚刚获得OpenAI CEOsama的个人投资! 它能够模拟人类浏览网页的行为,自动化地浏览网页,搜集关键信息,并对这些信息进行…...
vue3中使用reactive定义的变量响应式丢失问题(大坑!!!)
前言 在Vue 3中,可以使用reactive函数将普通JavaScript对象转换为响应式对象,这样当对象的属性发生变化时,就会自动更新相应的UI。 但是请注意以下情况可能会丢失数据的响应式: 响应式丢失的情况: 1、对使用reactiv…...
Windows Server 2012 R2系统服务器远程桌面服务多用户登录配置分享
Windows Server 2012系统在没有安装远程多界面的情况下,最多只能同时运行2个远程桌面,如果是有多个技术员、合伙人同时操作或是像游戏开发需要用到多界面,但是没有安装就很不方便,今天飞飞来和你们分享Windows server 2012R2系统远…...
mysql之搭建MHA架构实现高可用
1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换(基于主从复制才能故障切换) MHA最少要求一主两从,半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃,MHA可以在0-30…...
Databend 与海外某电信签约:共创海外电信数据仓库新纪元
为什么选择 Databend 海外某电信面临的主要挑战是随着业务量的增加,传统的 Clickhouse Hive 方案在数据存储和处理上开始显露不足。 原来的大数据分析采用的 Clickhouse Hive 方案进行离线的实时报表。但随着业务量的上升后,Hive的数据存储压力变大&…...
scala解析命令行参数
如何用scala解析命令行参数: 首先,需要在项目中添加Apache Commons CLI库的依赖。可以在build.sbt文件中添加如下行: libraryDependencies "commons-cli" % "commons-cli" % "1.4" import org.apache.comm…...
盘点60个Python各行各业管理系统源码Python爱好者不容错过
盘点60个Python各行各业管理系统源码Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 源码下载链接:https://pan.baidu.com/s/1VdAFp4P0mtWmsA158oC-aA?pwd8888 提取码:8888 项目名…...
SpringSecurity6 | 自动配置(下)
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏…...
6、传统CV之均值滤波
在前5节,从最基础的像素开始了介绍,并且着重介绍了像素局部性、RGB图片和YUV图片以及通道的概念。 其实写那么多,很多细节知识也不用都学会,只需要知道计算机在处理图片时,看到的都是一堆像素,而这一堆像素,都是以数据点的形式存放在计算机中的。 为了更好的展示图像和…...
快速搭建本地的chatgpt
快速搭建本地的chatgpt 参考:一篇文章教你使用Docker本地化部署Chatgpt(非api,速度非常快!!!)及裸连GPT的方式(告别镜像GPT)-CSDN博客 前提是linux下 已安装docker 命…...
分布式下多节点WebSocket消息收发
1、使用场景 2、疑问 第一次发送请求后,通过N1,W2,到达service2,建立websocket连接。 1、接下来发送的消息,通过Ngixn后和网关gateway后还能落在service2上面吗? 如果不能落在service2上,需要怎…...
LeetCode算法题解(动态规划)|LeetCode509. 斐波那契数、LeetCode70. 爬楼梯、LeetCode746. 使用最小花费爬楼梯
一、LeetCode509. 斐波那契数 题目链接:509. 斐波那契数 题目描述: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:…...
【图像处理】:Otsu算法最大类间方差法(大津算法:附源码)
这里写自定义目录标题 数学原理算法评价参考链接 数学原理 以灰度图像为例,对于图像MN大小的矩阵,即图像中的像素,每一个值即为像素值,其中灰度图像像素值在(0~255)之间。 主要实现前景(即目标)和背景的分割: 主要公式…...
【uni-app】设置背景颜色相关
1. 全局页面背景色设置: 在App.vue的style样式表中设置 <style> page {background-color: #F0AD4E; } </style> 2. 顶部导航栏背景色设置: 在pages.json页面路由中,globalStyle设置 "globalStyle": {"navi…...
工厂模式-C++实现
工厂模式是一个创建型设计模式,即“对象创建模式”,通过这种模式可以绕开new,来避免对象创建过程中,也就是new的方法造成的紧耦合,从而支持对象创建的稳定。 工厂模式中引入了一个工厂类,该工厂负责根据客…...
Redis——string类型相关指令
添加键值对SET [key] [value] [EX seconds|PX milliseconds] [NX|XX] //添加一个键值对SETNX [key] [value] //setNX的组合命令,不支持EX/PX选项SETEX [key] [value] //setEX的组合命令,不支持NX/XX选项PSETEX [key] [value] //setPX的组合命令ÿ…...
如何构建高效的Azure事件驱动架构:Go SDK Messaging模块的实时消息处理指南 [特殊字符]
如何构建高效的Azure事件驱动架构:Go SDK Messaging模块的实时消息处理指南 🚀 【免费下载链接】azure-sdk-for-go This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public de…...
pip修改镜像源
pip临时使用pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple some-package注意,simple 不能少。 pip 要求使用 https ,因此需要 https 而不是 http设为默认升级 pip 到最新的版本后进行配置:python -m pip install --u…...
CRM功能解析:覆盖客户、销售、数据、库存、工单全场景
在数字化转型浪潮中,企业对业务管理系统的需求已从单一CRM延伸至客户分层、销售自动化、数据分析、进销存、工单协同的全链路覆盖。不同系统在核心能力的实现逻辑与落地价值上差异显著,本文选取超兔一体云、Attio、Creatio、伙伴云CRM、OKKICRMÿ…...
MCU工程迁移实战:从STM32到MSPM0L1306的完整指南
1. 项目概述:从零理解MCU工程迁移最近在折腾TI的MSPM0系列MCU,特别是MSPM0L1306这颗芯片。很多朋友拿到新的开发板或者从旧项目切换到新平台时,最头疼的就是“迁移工程”这一步。这不仅仅是把代码从一个文件夹复制到另一个文件夹那么简单&…...
数据架构演进:从数据仓库到湖仓一体与流批融合实战
1. 从“数据仓库”到“数据湖”:一场思维范式的革命干了十几年数据,从最早的Oracle报表,到后来的Hadoop集群,再到现在的云原生数据平台,我亲眼见证了数据架构这十几年的风云变幻。如果说大数据时代的开启是一声惊雷&am…...
WSL2网络抽风?能ping通宿主机但上不了网?试试这个一劳永逸的DNS修复脚本
WSL2网络故障终极解决方案:自动化DNS修复脚本实战指南 你是否遇到过这样的场景:在WSL2中能够ping通宿主机,却无法访问任何外网资源?每次重启后手动修改的/etc/resolv.conf配置总是被神秘重置?这种恼人的网络问题已经成…...
告别黑框!树莓派4B远程桌面完整指南:从VNC配置到RealVNC/XRDP方案选择与优化
树莓派4B远程桌面终极方案:告别黑框与卡顿的实战指南 对于许多树莓派开发者而言,那个令人沮丧的黑色方框已经成为远程连接体验的代名词。当你满怀期待地输入IP地址,等待的却是一个无法操作的空白界面,这种挫败感足以让任何人抓狂。…...
卡尔曼滤波在目标跟踪中的应用:原理、建模与工程调参实战
1. 项目概述:从“猜”到“算”的跟踪艺术在目标跟踪这个领域,无论是自动驾驶中预测前车的轨迹,还是无人机锁定移动的物体,亦或是视频监控里框住一个行走的人,我们核心要解决的都是一个问题:如何在充满噪声和…...
保姆级教程:用S32K344的FlexCAN模块实现CAN FD通信(附代码解析)
从零构建S32K344的CAN FD通信系统:硬件连接、寄存器配置与实战代码解析 在汽车电子和工业控制领域,CAN FD协议正逐步取代传统CAN成为主流总线标准。NXP S32K344微控制器内置的FlexCAN模块完美支持CAN FD协议,其最高8Mbps的数据传输速率和64字…...
