其他分享
首页 > 其他分享> > 基于arduino的流水灯

基于arduino的流水灯

作者:互联网

 

 

 

 

 

 

 

 

Arduino -8LED灯显示电位器位置电路设计实验报告

通过电路设计、编程、硬件连接调试等实现用8位LED灯显示电位器的位置的简单功能

笔记本电脑、单片机、面包板、8个LED灯、电位器、杜邦线、下载线等。

编程软件:arduino

 

图1 共阳极连线图

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

}

将程序保存。连接实物,搭建硬件平台,将程序下载到单片机中,如图2所示。调节电位器到不同的位置,观察LED的量灭情况。

 

 

图2 实物连线图

如图3,本次项目分为3种模式,第一种:依次亮,依次灭;第二种:全亮,全灭;第三种:两两亮,两两灭;

  

      

   

图3 实验效果图

标签:HIGH,基于,arduino,int,digitalWrite,delay,300,流水,LOW
来源: https://blog.csdn.net/y1119365380/article/details/118058965