穷创客教育之Arduino编程第五课:流水灯制作

网友投稿 2019-09-25 12:18

穷创客教育之Arduino编程第五课:流水灯制作

通过上一节课学习,我们知道了怎样让一个led进行闪烁,下面的实验会对6个led进行控制,我们可以将上节课的程序重复6次,但这样太麻烦了我们可以使用循环语句减少程序量,让程序更简洁。

一、实验现象:

6个LED呈现交替闪烁。

二、电子元件:

UNO开发板、LED6个、电阻6个(200欧姆)、面包板和杜邦线若干。

三、实验所用函数及语句:

整形变量:int 变量名;变量名以字母开始。变量就像一个小房子,变量的值就是放进小房子里的东西。

算术运算:自加i++,等同于i=i+1、i+=1,每次在前一次的基础上累加1;自减i—等同于i=i-1、i-=1;

循环:用来明定一段区域代码重复指行的次数。

① for (初始化部分; 条件判断部分; 数据递增部分) {

  //语句块

 }

 https://cdn.china-scratch.com/timg/190927/121UC110-0.jpg

初始化部分被第一个执行,且只执行一次。每次通过这个循环,条件判断部分将被测试;如果为真,语句块和数据递增部分就会被执行,然后条件判断部分就会被再次测试,当条件测试为假时,结束循环。

例如:   for (int i=3; i <= 6; i++){ 

        //整形(int)变量i只能在循环括号内访问。

              digitalWrite(i, HIGH);

               //依次点亮3,4,5,6号端口上的LED。

              delay(10);  //延迟10ms

          }

②while(条件判断部分){

  //语句块

}

while循环将会连续地无限地循环,直到圆括号()中的表达式变为假。被测变量必须要有所变化,否则while循环将一直不会停。

例如:   int i=2;

         While(i<=6){

              digitalWrite(i, HIGH);

              delay(10);

              i++;

            //一定要有变化,否则一直循环,整形变量i自动加1。

      }

四、实验电路

 https://cdn.china-scratch.com/timg/190927/121UB9C-1.jpg

五、编写程序

void setup(){

     for(int i=2;i<8;i++){//端口号为2、3、4、5、6、7

         pinMode(i,OUTPUT);// 变量i只能在循环括号内访问

     }

}

void  loop(){

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

       digitalWrite(i,HIGH);// 变量i只能在循环括号内访问

       delay(100);

       digitalWrite(i,LOW);

       delay(100);

   }

}

大家用改变端口如2、4、6、8、10、12(自增量为2)或用while循环改写一下上面的代码。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com