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);

}

}

相关推荐
hanlin035 小时前
刷题笔记:力扣第144题-二叉树的前序遍历
笔记·算法·leetcode
金士曼5 小时前
从规则到涌现:算法认知的三个层次
算法
彧azz6 小时前
图的最短路径:Dijkstra与Floyd算法
数据结构·笔记·学习
智购科技自动售卖机厂家6 小时前
设备一到夏天就频繁跳闸,从启动电流追到压缩机电容~YH
数据结构·人工智能·python·eclipse
AgentMaster6 小时前
数据资产化落地难题:5款数据中台系统架构对比与实施记录
大数据·人工智能·算法
Logic1017 小时前
C语言/数据结构动态规划题解:Kadane算法求最大子数组和——O(n)时间O(1)空间
c语言·数据结构·动态规划·贪心·时间复杂度·算法题·最大子数组和
鹿角片ljp7 小时前
从 Kimi Cyber Reasoning 学习网络安全推理数据集:从 Reasoning SFT 到安全 Agent 数据设计
数据结构·算法
residual_fan8 小时前
航空发动机故障诊断专用智能体(三):基于对比学习的时序特征区分方法
人工智能·算法·数据挖掘·数据分析
Logic1018 小时前
C语言/数据结构位运算题解:异或XOR找出数据表中的“独特编号“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
高亦真8 小时前
今天是学习嵌入式的第39天
linux·学习·算法