关于Arduino控制流水灯的程序。 - 爱问答

(爱问答)

关于Arduino控制流水灯的程序。

我现在这个程序请大师指点,有高额悬赏,谢谢

#define LED1 2

#define LED2 3

#define LED3 4

#define LED4 5

#define LED5 6

#define KEY 9

int KEY_NUM=0;

void setup() 

{

pinMode(LED5,OUTPUT);

pinMode(LED4,OUTPUT);

pinMode(LED3,OUTPUT);

pinMode(LED2,OUTPUT);

pinMode(LED1,OUTPUT);

pinMode(KEY,INPUT_PULLUP);

digitalWrite(LED5,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED1,LOW);

}

 

void loop() {

  ScanKey();

if(KEY_NUM==1){

  K1();

}

else

{

  K2();

}

 

}

 

void ScanKey(){

  KEY_NUM = 0;

  if(digitalRead(KEY)==LOW){

    delay(20);

    if(digitalRead(KEY)==LOW){

     KEY_NUM = 1;     

      while(digitalRead(KEY)==LOW);

    }

  }

}

 

void K1(){

digitalWrite(LED1,HIGH);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,LOW);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

delay(1000);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

delay(1000);

}

void K2(){

digitalWrite(LED1,HIGH);

delay(500);

digitalWrite(LED1,LOW);

digitalWrite(LED2,HIGH);

delay(500);

digitalWrite(LED2,LOW);

digitalWrite(LED3,HIGH);

delay(500);

digitalWrite(LED3,LOW);

digitalWrite(LED4,HIGH);

delay(500);

digitalWrite(LED4,LOW);

digitalWrite(LED5,HIGH);

delay(500);

digitalWrite(LED1,HIGH);

digitalWrite(LED2,HIGH);

digitalWrite(LED3,HIGH);

digitalWrite(LED4,HIGH);

digitalWrite(LED5,HIGH);

delay(1000);

digitalWrite(LED1,LOW);

digitalWrite(LED2,LOW);

digitalWrite(LED3,LOW);

digitalWrite(LED4,LOW);

digitalWrite(LED5,LOW);

delay(1000);

}


从2号引脚开始,每个引脚通过串联一个470欧的电阻到LED再统一接回GND。

程序大概像这样。

void setup() {

for (int i = 2; i < 13; i++) {

pinMode(i, OUTPUT);

}

}

void loop() {

for (int i = 2; i < 13; i++) {

digitalWrite(i, HIGH);

delay(1000);

digitalWrite(i, LOW);

delay(1000);

}

}


相关标签:控制

下一篇:cyuyan的double和float有什么区别(在输入输出上的区别和要是进行四则运算的时候加不加.0的问题。​)

上一篇:java如图:点击浏览按钮把文本框的内容保存到指定文件夹,完整的代码该怎么写啊,谢各位大神

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?