你经常会遇到要遍历一系列引脚并且使用每一个引脚。例如,这个例子通过使用for()循环来使连接在arduino上的2-7号数字引脚的6个LED闪烁, 使用digitalWrite() 和delay() 使这些LED连续的亮灭。
我们也叫它霹雳游侠,是为了纪念80年代系列电视剧霹雳游侠David Hasselhoff 的智能汽车 KITT ,这部车装了很多型号的LED能展示酷炫的效果。尤其是,它有一个来回滚动字幕的显示屏,就是在KITT 和 KARR对战里看到的那样。这个例子重现了KITT的效果。
这个例程显示了多个LED闪烁的效果。
下面的代码使用for循环来分配2-12号引脚给10个LED作为输出使用。
在主循环中,使用了两个for()循环,一个个分配led从2-12号。12号分配好以后,程序继续反过来分配每一个LED。
/* For Loop Iteration */ int timer = 100; // 数值越大 计时器越慢 void setup() { // 初始化引脚为输出: for (int thisPin = 2; thisPin < 13; thisPin++) { pinMode(thisPin, OUTPUT); } } void loop() { // 从最小号的引脚循环到最大号的引脚 for (int thisPin = 2; thisPin < 13; thisPin++) { // 点亮LED: digitalWrite(thisPin, HIGH); delay(timer); // 熄灭LED: digitalWrite(thisPin, LOW); } // 从从最大号的引脚循环到最小号的引脚: for (int thisPin = 13; thisPin >= 2; thisPin--) { // 点亮LED: digitalWrite(thisPin, HIGH); delay(timer); // 熄灭LED: digitalWrite(thisPin, LOW); } }