首页 > 电脑

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

更新时间2018-11-13 09:12:34

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

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

}

}


相关标签:控制

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

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