企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## **For循环迭代(霹雳游侠)** > 你可能经常需要对一系列引脚进行**迭代**,来实现对这些引脚逐个进行操作。例如:本例中使用for循环来让连接到Arduino/Genuino板2-7号引脚的6个LED逐个、来回地点亮、熄灭(开始由2-7,后来由7-2)。LED的开关通过使**digitalWrite()**和**delay()**来实现。 本例的另一个名字叫做 “**霹雳游侠**“(Knight Rider)。霹雳游侠是80年代的一个电视剧,在剧中,David Hasselhoff 拥有一套人工智能系统 KITT 来驾驶他的Pontiac跑车。片方在他的Pontiac跑车上装配了很多不同形状和尺寸的LED来打造一种科幻效果。更值得一提的是:跑车有一个炫酷的显示屏,显示屏上有一组线性排列的LED灯来回闪烁。感兴趣朋友可以看看这一条视频:[KITT与KARR的战斗](https://www.youtube.com/watch?v=PO5E5mQIy_Q)。本例的创作灵感就源于KITT的显示屏。  ![图片来自维基百科](http://img.blog.csdn.net/20160524090446233)![图片来自维基百科](http://img.blog.csdn.net/20160524090504734) ### **所需硬件** * Arduino板或Genuino板 * 6个220Ω电阻 * 6个LED * 跳线 * 面包板 * 连接线 ### **电路** ![图片来自官网](http://img.blog.csdn.net/20160524131339049)  将六个LED分别串接一个220Ω电阻,连接到Arduino板上的2-7引脚。 ### **原理图** ![图片来自官网](http://img.blog.csdn.net/20160524131350549) ### **代码** 下列代码最开头就是用了一个**for()**循环来设置2-7引脚为输出模式。 在**loop**中,有两个for循环。我们使用for循环来对LED进行迭代,从2-7一个接一个的点亮、熄灭。当最后一个LED亮起时,就反向开始迭代,从7-2。 ~~~ /* For循环迭代(霹雳游侠) 本例展示for循环的使用。 将LED逐个点亮熄灭、然后反向 电路搭建: * LED连接2-7引脚与GND 代码公开。 */ int timer = 100; // 延迟时间 void setup() { // 用for循环迭代初始化LED的引脚为输出模式: for (int thisPin = 2; thisPin < 8; thisPin++) { pinMode(thisPin, OUTPUT); } } void loop() { // 从最低引脚迭代到最高引脚: for (int thisPin = 2; thisPin < 8; thisPin++) { // 将LED打开: digitalWrite(thisPin, HIGH); delay(timer); // 将LED关闭: digitalWrite(thisPin, LOW); } // 从7-2: for (int thisPin = 7; thisPin >= 2; thisPin--) { // 将LED打开: digitalWrite(thisPin, HIGH); delay(timer); // 将LED关闭: digitalWrite(thisPin, LOW); } } ~~~ ### **相关资料** [for()](https://www.arduino.cc/en/Reference/For)  [digitalWrite()](https://www.arduino.cc/en/Reference/DigitalWrite)  [delay()](https://www.arduino.cc/en/Reference/Delay)