首页 理论教育 编写控制LED的示例Arduino程序

编写控制LED的示例Arduino程序

时间:2023-06-24 理论教育 版权反馈
【摘要】:首先,把控制发光LED的示例程序写入Arduino IDE中。//初始化代码,此处代码只执行一遍void setup() {pinMode;//设置引脚为输出模式digitalWrite;//设置LED高电平,熄灭LED}//主程序,循环执行void loop() {digitalWrite;//设置引脚为低电平delay;//延时1秒digitalWrite;//设置引脚为高电平delay;//延时1秒}接下来,点击Arduino IDE工具栏中的上传按钮,将程序上传至Arduino内运行。下一步,要对程序进行改写。

编写控制LED的示例Arduino程序

首先,把控制发光LED的示例程序写入Arduino IDE中。

//初始化代码,此处代码只执行一遍

void setup() {

 pinMode(8,OUTPUT); //设置引脚为输出模式

 digitalWrite(8,HIGH); //设置LED高电平,熄灭LED

}

//主程序,循环执行

void loop() {

 digitalWrite(8,LOW); //设置引脚为低电平(点亮LED)

 delay(1000);     //延时1秒

 digitalWrite(8,HIGH);//设置引脚为高电平(熄灭LED)

 delay(1000);    //延时1秒

}

接下来,点击Arduino IDE工具栏中的上传按钮,将程序上传至Arduino内运行。如果程序编写无误的话,可以看到全彩LED发出红光并且闪烁,闪烁方式为1秒亮、1秒暗。

下一步,要对程序进行改写。在使用引脚前,需要先用pinMode()函数配置引脚的输入输出模式,即

           pinMode(pin,mode);

pin:引脚编号。

mode:配置模式。INPUT:输入模式;OUTPUT:输出模式。

例如,配置13号引脚为输出模式:

           pinMode(13,OUTPUT);

如果需要将3个端口都进行定义的话就将这3个端口定义的命令按照顺序都写一遍:

pinMode(8,OUTPUT);  //设置引脚模式为输出

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);

然后,熄灭LED的程序也参照定义端口的模式按照顺序都写一遍:

digitalWrite(8,HIGH);  //设置LED高电平,熄灭LED(www.xing528.com)

digitalWrite(9,HIGH);

digitalWrite(10,HIGH);

这样,设定程序就写好了。接着要改写亮灯操作中的代码,这里主要改写两个部分:一个部分是某种颜色的点亮和熄灭,另外一个部分是点亮和熄灭的时间。

先来学习一下单一颜色点亮、熄灭的写法:digitalWrite(x,LOW);是对x号端口进行赋值,x后面可填的是LOW或者HIGH。当赋值为LOW的时候,x端口颜色的灯变亮,注意x是已设定的端口编号,也就是前面定义的8、9、10中的一个。digitalWrite(x,HIGH);就是将对应x号端口颜色的LED灯熄灭。

如果想要多个LED灯同时点亮,就可以将多个颜色的LED灯点亮程序按照顺序写在一起,如想要8号端口和9号端口所代表的颜色一起变亮,其程序写法如下:

digitalWrite(8,LOW);

digitalWrite(9,LOW);

两个LED灯同时熄灭的程序类似,只要将括号内的LOW改成HIGH即可:

digitalWrite(8,HIGH);

digitalWrite(9,HIGH);

亮灭时间的控制用delay语句实现。之前已经学过delay后面括号内的数字1000代表1秒钟,如果想要让LED灯亮2秒钟,那么需要将亮灯后面的delay语句中括号内的数字改为2000:

digitalWrite(8,LOW);  //设置引脚为低电平(点亮LED)

delay(2000);  //延时2秒

熄灭的延时也是这样的写法。需要注意的是,你的程序中需要有几个暂停的过程就需要写几个delay语句,如想要红灯先亮2秒、熄灭1秒、再亮1秒、再熄灭1秒这样循环的话就需要写4个delay语句。示例如下:

void loop(){

 digitalWrite(8,LOW);   //设置引脚为低电平(点亮LED)

 delay(2000);       //第一个状态暂停2秒

 digitalWrite(8,HIGH);  //设置引脚为高电平(熄灭LED)

 delay(1000);      //第二个状态暂停1秒

 digitalWrite(8,LOW); //设置引脚为低电平(点亮LED)

 delay(1000);     //第三个状态暂停1秒

 digitalWrite(8,HIGH);//设置引脚为高电平(熄灭LED)

 delay(1000);    //第四个状态暂停1秒

}

同学们,你们的实验成功了吗,小曼是不是已经在向你眨眼睛了呢?运用上述所学知识,对参数进行适当更改,可以让小曼的眼睛更加灵动哦!

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈