Blink LED眨眼

这段代码是Arduino编程语言的一个经典示例,用于控制一个连接在数字引脚13上的LED灯,使其以每秒闪烁一次的频率持续闪烁。

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

代码功能

控制LED闪烁:代码通过控制数字引脚13(大多数Arduino板上连接了一个内置LED)的电平高低,使LED灯以1秒亮、1秒灭的频率不断闪烁。

代码逐行解释

1. 注释部分

功能:让一个LED灯每秒闪烁一次,即亮1秒,灭1秒,不断重复。

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

2. 变量定义

定义了一个变量led,并将其赋值为13。这表示代码将操作数字引脚13,大多数Arduino板上,数字引脚13连接了一个内置的LED灯。

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

3. setup() 函数

void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}
  • setup() 函数在Arduino板复位后只运行一次。

  • pinMode(led, OUTPUT); 设置数字引脚13(led变量所代表的引脚)为输出模式。这意味着该引脚可以输出高电平(HIGH)或低电平(LOW)。

4. loop() 函数

void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}
  • loop() 函数会不断重复运行。

  • digitalWrite(led, HIGH); 将数字引脚13的电平设置为高电平(HIGH),这会使连接在该引脚上的LED灯点亮。

  • delay(1000); 延迟1000毫秒(即1秒),保持LED灯点亮状态。

  • digitalWrite(led, LOW); 将数字引脚13的电平设置为低电平(LOW),这会使LED灯熄灭。

  • delay(1000); 再次延迟1000毫秒(1秒),保持LED灯熄灭状态。

硬件连接

  • LED灯:大多数Arduino板(如Arduino Uno)在数字引脚13上已经内置了一个LED灯,因此无需额外连接硬件。

  • 如果需要连接外部LED灯,可以将LED的长脚(正极)连接到数字引脚13,短脚(负极)通过一个限流电阻(如220Ω)连接到GND。

运行结果

  • 当代码上传到Arduino板并运行后,连接在数字引脚13上的LED灯会以每秒闪烁一次的频率不断闪烁:

  • 亮1秒 → 灭1秒 → 亮1秒 → 灭1秒……

  • 这是Arduino入门教程中非常经典的“闪烁LED”示例,用于帮助初学者理解数字引脚的控制和延时函数的使用。

修改建议

  • 如果想改变LED闪烁的频率,可以调整delay()函数中的参数。例如,将delay(1000)改为delay(500),LED灯就会以每秒闪烁两次的频率闪烁。

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)