Arduino 控制流水灯
来源:网络收集 点击: 时间:2025-02-13准备实验需要用到的硬件,如图所示:

如下图所示进行硬件的连接,此步我们先不连接发光二极管,只需将Arduino UNO控制器连接到电脑

将下列程序复制到Arduino IDE中,如下图所示:
int LED1=8;
int LED2=9;
int LED3=10;
int LED4=11;
int LED5=12;
int LED6=13;
int n;
void setup()
{ //设置各个引脚的初始状态
for(n=8;n=13;n++)
{
pinMode(n, OUTPUT);
}
}
void loop()
{
turn1();//顺序点亮,顺序熄灭
clean(); //灭掉所有灯
turn2();//6灯齐闪
clean();//灭掉所有灯
turn3();
clean();//灭掉所有灯
}
void turn1() //顺序点亮,顺序熄灭
{
for(n=8;n=13;n++)
{
digitalWrite(n,HIGH);
delay(300);
}
for(n=8;n=13;n++)
{
digitalWrite(n,LOW);
delay(300);
}
}
void turn2()//6灯齐闪3次
{ for(int x=0;x=2;x++)
{
for(n=8;n=13;n++)
{
digitalWrite(n,HIGH);
}
delay(300);
for(n=8;n=13;n++)
{
digitalWrite(n,LOW);
}
delay(300);
}
}
void turn3()//两个两个一起闪3次
{
for(int x=0;x=2;x++)
{
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
for(n=10;n=13;n++){
digitalWrite(n,LOW);
}
delay(300);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
delay(300);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
for(n=8;n=11;n++){
digitalWrite(n,LOW);
}
delay(300);
}
}
void clean()
{ for(n=8;n=13;n++)
{
digitalWrite(n,LOW);
}
delay(300);
}

如图所示,选择正确的板卡型号和端口,将程序上传到控制器中。


如图所示,程序上传无误的情况下 Arduino IDE 软件会显示如下结果

按照下图中的电路,进行实验硬件的连接

实验效果如图所示:程序中turn1()函数作用是使6个LED顺序点亮,再顺序熄灭;turn2()函数作用使6个LED一齐闪烁频率为300ms;turn3()函数作用是两两灯闪烁;clean()函数熄灭6只LED,6个LED发光二极管会循环执行几种效果,直到Arduino UNO 控制器断电为止。



代码回顾:
(1)for(n=8;n=13;n++) 循环语句
for循环开头有3个部分:(初始化;条件;增量计数){//语句}
“初始化”只在循环开始执行一次。每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。当条件为假时,循环终止。
(2)void turn1()
声明功能函数,声明后,可以在loop()语句中调用。
在程序中的位置如下图所示:

为了方便大家实验,防止在复制代码的时候出现错误,特将代码和电路图
Fritzing源文件上传至网盘供大家下载学习。下载地址:
http://pan.baidu.com/s/1nuSL9Mx,打开链接后,如图所示,点击下载即可

如果经验帮到您,就给我投一票吧!谢谢~
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1239186.html