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

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超酷流水灯效果

效果代码&#xff1a; #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在安装时也会自动安装一个对应的版本。 正确查看方式&#xff1a; 想要查看 Pytorch 实际使用的运行时的 cuda 目录&#xff0c;可以直接输出 cpp_extension.py 中的 CUDA_HOME 变量。 import torch import torch.utils imp…...

​分享mfc140u.dll丢失的解决方法,针对原因解决mfc140u.dll丢失的问题

作为电脑小白&#xff0c;如果电脑中出现了mfc140u.dll丢失的问题&#xff0c;肯定会比较的慌乱。但是出现mfc140u.dll丢失的问题&#xff0c;其实也有很简单的办法&#xff0c;所以大家不用慌张&#xff0c;接下来就教大家解决办法&#xff0c;能够有效的解决mfc140u.dll丢失的…...

torch_cluster、torch_scatter、torch_sparse三个包的安装

涉及到下面几个包安装的时候经常会出现问题&#xff0c;这里我使用先下载然后再安装的办法&#xff1a; pip install torch_cluster pip install torch_scatter pip install torch_sparse 1、选择你对应的torch版本&#xff1a;https://data.pyg.org/whl/ 2、点进去然后&…...

软件安利——火绒安全

近年来&#xff0c;以优化、驱动、管理为目标所打造的软件屡见不鲜&#xff0c;大同小异的电脑管家相继走入了公众的视野。然而&#xff0c;在这日益急功近利的社会氛围驱动之下&#xff0c;真正坚持初心、优先考虑用户体验的电脑管家逐渐湮没在了浪潮之中。无论是鲁大师&#…...

Induced AI:一个专门为自动化任务而设计的AI原生浏览器RPA平台

​内容来源&#xff1a;xiaohuggg Induced AI&#xff1a;一个专门为自动化任务而设计的AI原生浏览器RPA平台 刚刚获得OpenAI CEOsama的个人投资&#xff01; 它能够模拟人类浏览网页的行为&#xff0c;自动化地浏览网页&#xff0c;搜集关键信息&#xff0c;并对这些信息进行…...

vue3中使用reactive定义的变量响应式丢失问题(大坑!!!)

前言 在Vue 3中&#xff0c;可以使用reactive函数将普通JavaScript对象转换为响应式对象&#xff0c;这样当对象的属性发生变化时&#xff0c;就会自动更新相应的UI。 但是请注意以下情况可能会丢失数据的响应式&#xff1a; 响应式丢失的情况&#xff1a; 1、对使用reactiv…...

Windows Server 2012 R2系统服务器远程桌面服务多用户登录配置分享

Windows Server 2012系统在没有安装远程多界面的情况下&#xff0c;最多只能同时运行2个远程桌面&#xff0c;如果是有多个技术员、合伙人同时操作或是像游戏开发需要用到多界面&#xff0c;但是没有安装就很不方便&#xff0c;今天飞飞来和你们分享Windows server 2012R2系统远…...

mysql之搭建MHA架构实现高可用

1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换&#xff08;基于主从复制才能故障切换&#xff09; MHA最少要求一主两从&#xff0c;半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃&#xff0c;MHA可以在0-30…...

Databend 与海外某电信签约:共创海外电信数据仓库新纪元

为什么选择 Databend 海外某电信面临的主要挑战是随着业务量的增加&#xff0c;传统的 Clickhouse Hive 方案在数据存储和处理上开始显露不足。 原来的大数据分析采用的 Clickhouse Hive 方案进行离线的实时报表。但随着业务量的上升后&#xff0c;Hive的数据存储压力变大&…...

scala解析命令行参数

如何用scala解析命令行参数&#xff1a; 首先&#xff0c;需要在项目中添加Apache Commons CLI库的依赖。可以在build.sbt文件中添加如下行&#xff1a; libraryDependencies "commons-cli" % "commons-cli" % "1.4" import org.apache.comm…...

盘点60个Python各行各业管理系统源码Python爱好者不容错过

盘点60个Python各行各业管理系统源码Python爱好者不容错过 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 源码下载链接&#xff1a;https://pan.baidu.com/s/1VdAFp4P0mtWmsA158oC-aA?pwd8888 提取码&#xff1a;8888 项目名…...

SpringSecurity6 | 自动配置(下)

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…...

6、传统CV之均值滤波

在前5节,从最基础的像素开始了介绍,并且着重介绍了像素局部性、RGB图片和YUV图片以及通道的概念。 其实写那么多,很多细节知识也不用都学会,只需要知道计算机在处理图片时,看到的都是一堆像素,而这一堆像素,都是以数据点的形式存放在计算机中的。 为了更好的展示图像和…...

快速搭建本地的chatgpt

快速搭建本地的chatgpt 参考&#xff1a;一篇文章教你使用Docker本地化部署Chatgpt&#xff08;非api&#xff0c;速度非常快&#xff01;&#xff01;&#xff01;&#xff09;及裸连GPT的方式&#xff08;告别镜像GPT&#xff09;-CSDN博客 前提是linux下 已安装docker 命…...

分布式下多节点WebSocket消息收发

1、使用场景 2、疑问 第一次发送请求后&#xff0c;通过N1&#xff0c;W2&#xff0c;到达service2&#xff0c;建立websocket连接。 1、接下来发送的消息&#xff0c;通过Ngixn后和网关gateway后还能落在service2上面吗&#xff1f; 如果不能落在service2上&#xff0c;需要怎…...

LeetCode算法题解(动态规划)|LeetCode509. 斐波那契数、LeetCode70. 爬楼梯、LeetCode746. 使用最小花费爬楼梯

一、LeetCode509. 斐波那契数 题目链接&#xff1a;509. 斐波那契数 题目描述&#xff1a; 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a…...

【图像处理】:Otsu算法最大类间方差法(大津算法:附源码)

这里写自定义目录标题 数学原理算法评价参考链接 数学原理 以灰度图像为例&#xff0c;对于图像MN大小的矩阵&#xff0c;即图像中的像素&#xff0c;每一个值即为像素值&#xff0c;其中灰度图像像素值在(0~255)之间。 主要实现前景(即目标)和背景的分割&#xff1a; 主要公式…...

【uni-app】设置背景颜色相关

1. 全局页面背景色设置&#xff1a; 在App.vue的style样式表中设置 <style> page {background-color: #F0AD4E; } </style> 2. 顶部导航栏背景色设置&#xff1a; 在pages.json页面路由中&#xff0c;globalStyle设置 "globalStyle": {"navi…...

工厂模式-C++实现

工厂模式是一个创建型设计模式&#xff0c;即“对象创建模式”&#xff0c;通过这种模式可以绕开new&#xff0c;来避免对象创建过程中&#xff0c;也就是new的方法造成的紧耦合&#xff0c;从而支持对象创建的稳定。 工厂模式中引入了一个工厂类&#xff0c;该工厂负责根据客…...

Redis——string类型相关指令

添加键值对SET [key] [value] [EX seconds|PX milliseconds] [NX|XX] //添加一个键值对SETNX [key] [value] //setNX的组合命令&#xff0c;不支持EX/PX选项SETEX [key] [value] //setEX的组合命令&#xff0c;不支持NX/XX选项PSETEX [key] [value] //setPX的组合命令&#xff…...

如何构建高效的Azure事件驱动架构:Go SDK Messaging模块的实时消息处理指南 [特殊字符]

如何构建高效的Azure事件驱动架构&#xff1a;Go SDK Messaging模块的实时消息处理指南 &#x1f680; 【免费下载链接】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注意&#xff0c;simple 不能少。 pip 要求使用 https &#xff0c;因此需要 https 而不是 http设为默认升级 pip 到最新的版本后进行配置&#xff1a;python -m pip install --u…...

CRM功能解析:覆盖客户、销售、数据、库存、工单全场景

在数字化转型浪潮中&#xff0c;企业对业务管理系统的需求已从单一CRM延伸至客户分层、销售自动化、数据分析、进销存、工单协同的全链路覆盖。不同系统在核心能力的实现逻辑与落地价值上差异显著&#xff0c;本文选取超兔一体云、Attio、Creatio、伙伴云CRM、OKKICRM&#xff…...

MCU工程迁移实战:从STM32到MSPM0L1306的完整指南

1. 项目概述&#xff1a;从零理解MCU工程迁移最近在折腾TI的MSPM0系列MCU&#xff0c;特别是MSPM0L1306这颗芯片。很多朋友拿到新的开发板或者从旧项目切换到新平台时&#xff0c;最头疼的就是“迁移工程”这一步。这不仅仅是把代码从一个文件夹复制到另一个文件夹那么简单&…...

数据架构演进:从数据仓库到湖仓一体与流批融合实战

1. 从“数据仓库”到“数据湖”&#xff1a;一场思维范式的革命干了十几年数据&#xff0c;从最早的Oracle报表&#xff0c;到后来的Hadoop集群&#xff0c;再到现在的云原生数据平台&#xff0c;我亲眼见证了数据架构这十几年的风云变幻。如果说大数据时代的开启是一声惊雷&am…...

WSL2网络抽风?能ping通宿主机但上不了网?试试这个一劳永逸的DNS修复脚本

WSL2网络故障终极解决方案&#xff1a;自动化DNS修复脚本实战指南 你是否遇到过这样的场景&#xff1a;在WSL2中能够ping通宿主机&#xff0c;却无法访问任何外网资源&#xff1f;每次重启后手动修改的/etc/resolv.conf配置总是被神秘重置&#xff1f;这种恼人的网络问题已经成…...

告别黑框!树莓派4B远程桌面完整指南:从VNC配置到RealVNC/XRDP方案选择与优化

树莓派4B远程桌面终极方案&#xff1a;告别黑框与卡顿的实战指南 对于许多树莓派开发者而言&#xff0c;那个令人沮丧的黑色方框已经成为远程连接体验的代名词。当你满怀期待地输入IP地址&#xff0c;等待的却是一个无法操作的空白界面&#xff0c;这种挫败感足以让任何人抓狂。…...

卡尔曼滤波在目标跟踪中的应用:原理、建模与工程调参实战

1. 项目概述&#xff1a;从“猜”到“算”的跟踪艺术在目标跟踪这个领域&#xff0c;无论是自动驾驶中预测前车的轨迹&#xff0c;还是无人机锁定移动的物体&#xff0c;亦或是视频监控里框住一个行走的人&#xff0c;我们核心要解决的都是一个问题&#xff1a;如何在充满噪声和…...

保姆级教程:用S32K344的FlexCAN模块实现CAN FD通信(附代码解析)

从零构建S32K344的CAN FD通信系统&#xff1a;硬件连接、寄存器配置与实战代码解析 在汽车电子和工业控制领域&#xff0c;CAN FD协议正逐步取代传统CAN成为主流总线标准。NXP S32K344微控制器内置的FlexCAN模块完美支持CAN FD协议&#xff0c;其最高8Mbps的数据传输速率和64字…...