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灯就会以每秒闪烁两次的频率闪烁。
视频讲解:
领取专属 10元无门槛券
私享最新 技术干货