Arduino 小灯实验

【小组成员】

五组:王韵淇 冯怡 吴瑶 褚冉 王澍 宋格格



实验目的

通过使用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编程的理解,还提高了动手实践能力。未来可以尝试更多复杂的电路和编程技巧,进一步提升自己的技能水平。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容