闪烁
每秒开关LED一次
此示例展示了使用 Arduino 可以执行的最简单的操作来查看物理输出:它使板载 LED 闪烁。
硬件要求
- Arduino板卡
可选
- LED
- 220欧姆电阻
电路
此示例使用大多数 Arduino 板都具有的内置 LED。 该 LED 连接到数字引脚,其数量可能因板类型而异。 以下是板卡和数字引脚之间的对应关系。
- D13 - 101
- D13 - Due
- D1 - Gemma
- D13 - Intel Edison
- D13 - Intel Galileo Gen2
- D13 - Leonardo and Micro
- D13 - LilyPad
- D13 - LilyPad USB
- D13 - MEGA2560
- D13 - Mini
- D6 - MKR1000
- D13 - Nano
- D13 - Pro
- D13 - Pro Mini
- D13 - UNO
- D13 - Yún
- D13 - Zero 如果您想用此草图点亮外部 LED,则需要构建此电路,将电阻器的一端连接到非内置LED对应的数字引脚。 将 LED 的长腿(正极腿,称为阳极)连接到电阻器的另一端。 将 LED 的短脚(负脚,称为阴极)连接到 GND。 与 LED 串联的电阻值可以是与 220 欧姆不同的值; 当电阻值高达 1K 欧姆时,LED 也会亮起。
代码
获取led引脚并设置为数据输出
let mut led = pins.d13.into_output();
切换led状态:
led.toggle();
编译并运行示例
cargo build
cargo run
您希望有足够的时间让人们看到更改,因此,delay_ms() 命令告诉主板在 1000 毫秒(即一秒)内不执行任何操作。 当您使用delay_ms()命令时,在这段时间内不会发生任何其他事情。 了解基本示例后,请查看 无延迟闪烁 示例以了解如何在执行其他操作时创建延迟。
了解此示例后,请查看 读取串口数字信号示例以了解如何读取连接到电路板的开关。
完整代码如下: src/main.js
/*!
* Toggle an LED on and off every second.
*
* This example shows you how toggle LED on and off every second.
*/
#![no_std]
#![no_main]
use panic_halt as _;
#[arduino_hal::entry]
fn main() -> ! {
let dp = arduino_hal::Peripherals::take().unwrap();
let pins = arduino_hal::pins!(dp);
let mut led = pins.d13.into_output();
loop {
led.toggle();
arduino_hal::delay_ms(1000);
}
}