【小组成员】
五组:王韵淇 冯怡 吴瑶 褚冉 王澍 宋格格
实验目的
通过使用Arduino控制四个发光二极管(LED)轮流闪烁,掌握基本的Arduino编程和电路连接技能。在此基础上,探索更多有趣的LED闪烁模式。
实验器材
Arduino Uno控制板
发光二极管(LED)4个
1000欧姆电阻4个
面包板
面包板跳线若干
USB数据连接线
实验原理
LED是一种半导体发光元件,需要串联一个限流电阻以防止电流过大导致损坏。在Arduino中,通过设置数字引脚为输出模式,并使用digitalWrite()函数控制引脚的高电平和低电平,从而实现LED的点亮和熄灭。通过循环和延时函数,可以实现LED的闪烁效果。
实验步骤
1.硬件连接
1.将四个LED的长脚(正极)分别连接到Arduino的数字引脚8、9、10、11。
2.将四个1000欧姆电阻的一端分别连接到LED的长脚,另一端连接到Arduino的GND(地)。
3.使用面包板和跳线完成上述连接。
2.编写代码
根据题目要求,编写以下代码:
const byte startPin = 8;
const byte endPin = 11;
byte lightPin = startPin;
void setup() {
for (byte i = startPin; i <= endPin; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
for (byte i = startPin; i <= endPin; i++) {
digitalWrite(i, LOW);
}
digitalWrite(lightPin, HIGH);
if (lightPin < endPin) {
lightPin++;
} else {
lightPin = startPin;
}
delay(100);
}
3.上传代码
将编写好的代码上传到Arduino Uno控制板中。
4.观察现象
观察四个LED是否按照预期轮流闪烁。每个LED点亮100毫秒后熄灭,然后下一个LED点亮,如此循环。
进一步探索
1.四个LED同时闪烁
修改代码,使四个LED同时闪烁:
const byte startPin = 8;
const byte endPin = 11;
void setup() {
for (byte i = startPin; i <= endPin; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
for (byte i = startPin; i <= endPin; i++) {
digitalWrite(i, HIGH);
}
delay(500);
for (byte i = startPin; i <= endPin; i++) {
digitalWrite(i, LOW);
}
delay(500);
}

2.四个LED交替闪烁
修改代码,使四个LED交替闪烁:
const byte startPin = 8;
const byte endPin = 11;
void setup() {
for (byte i = startPin; i <= endPin; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
for (byte i = startPin; i <= endPin; i++) {
digitalWrite(i, HIGH);
delay(100);
digitalWrite(i, LOW);
}
for (byte i = endPin; i >= startPin; i--) {
digitalWrite(i, HIGH);
delay(100);
digitalWrite(i, LOW);
}
}
3.四个LED随机闪烁
使用随机函数,使四个LED随机闪烁:
const byte startPin = 8;
const byte endPin = 11;
void setup() {
for (byte i = startPin; i <= endPin; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
byte randomPin = random(startPin, endPin + 1);
digitalWrite(randomPin, HIGH);
delay(random(100, 500));
digitalWrite(randomPin, LOW);
}

实验总结
通过本次实验,我们掌握了如何使用Arduino控制多个LED进行各种闪烁模式。这不仅加深了对Arduino编程的理解,还提高了动手实践能力。未来可以尝试更多复杂的电路和编程技巧,进一步提升自己的技能水平。