TA的每日心情 | 难过 2021-2-27 22:16 |
---|
签到天数: 1568 天 连续签到: 1 天 [LV.Master]伴坛终老
|
在这个实验中,需要一个LED模块,LED模块相当于8个LED灯组合在一起,一面针脚为阳极,一面针脚为阴极。一般印有文字的一面为阳极。当然也可以用8只LED灯连接出来。
1.LED模块一只;
2.面包板线8条,最好有不同颜色进行区分;红色长面包板线一条,用于接出5v电源口;
3.电阻8只
4.连接图如下,定义口2至口9为输出信号口,与LED模块阴极针脚连接,再接入电阻,最后由红线接入5V电源口。
让LED模块8只灯一起闪烁 代码如下:
------------------------------------------------
#include
#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5
#define LED5 6
#define LED6 7
#define LED7 8
#define LED8 9
void setup() {
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);
pinMode(LED7,OUTPUT);
pinMode(LED8,OUTPUT); //设置口2至口9为输出信号
}
void loop(){
Blink(); //调用闪烁函数
}
void Blink(){
unsigned char i;// 定义变量
for(i=2;i<9;i++)
digitalWrite(i,LOW); //口2至口9低平信号,点亮所有灯
delay(500);
for(i=2;i<9;i++)
digitalWrite(i,HIGH);
delay(500);
}
------------------------------------------------
增加LED模块灯的流水灯效果:
1.依次点亮所有LED,然后依次熄灭所有LED。编写void style1(),并由void loop()引用,代码如下。
---------------------------------
void style1(){
unsigned char i;
for(i=2;i<=9;i++)
{ digitalWrite(i,LOW);
delay(300);
} //从口2至口9依次点亮LED,每只延时300毫秒
for(i=2;i<=9;i++)
{ digitalWrite(i,HIGH);
delay(300);
} //从口2至口9依次熄灭LED,每只延时300毫秒
}
---------------------------------
2.流水灯效果第二种,从口2至口9依次熄灭LED,再从口9至口2依次点亮LED。从视觉上形成灯从左至右灭,再回亮的效果。只要修改void style1()中的循环变量执行的顺序。
void style2(){
unsigned char i;
for(i=2;i<=9;i++)
{ digitalWrite(i,LOW);
delay(300);
} //从口2至口9依次熄灭LED,每只延时300毫秒
for(i=9;i>=2;i--)
{ digitalWrite(i,HIGH);
delay(300);
} //从口9至口2依次点亮LED,每只延时300毫秒
}
---------------------------------
3.让LED模块显示单个灯轮流在口2至口9之间输出点亮。即8个灯中每次只有一个亮,其余7只熄灭状态。void style3()代码如下;
---------------------------------
void style3(){
unsigned char i;
for(i=2;i<=9;i++)
{digitalWrite(i,LOW);//置口2至口9为灯灭
if(i!=2){
digitalWrite(i-2,HIGH);
} //口2不算在内,从口3开始依次设置一个灯亮
delay(300);
}
delay(300);
digitalWrite(9,HIGH);//口9的灯需要特别设置,它不在循环内;
}
---------------------------------
4.style4()与style3反向流水灯效果,修改循环方向即可。
本次实验中,LED亮灭由Arduino Uno 板的口2至口9输出低电平,采用IO控制阴极模式。与前面的输出高电平并接GND后点亮LED有区别。不论用什么样的方式点高LED灯,都让我们看到了Arduino的魔力,试想圣诞平安夜时,把这只流水灯放在精致的小盒子里并露出LED灯,挂在圣诞树上该多有趣。
|
评分
-
查看全部评分
|