每个程序员学习的第一个程序就是编写足够的代码以使他们的代码显示句子“ Hello World!”。在嵌入式编程中,闪烁的LED就是“ Hello World!”。

过程分析

发光二极管LED是一种较小的灯(它代表“发光二极管”),它以相对较小的功率工作。Arduino开发板在数字引脚13上内置了一个。
LED闪烁仅需几行代码。

  • 我们要做的第一件事是定义一个变量,该变量将保存与LED连接的引脚的编号。
    int ledPin = 13;
  • 我们需要做的第二件事是将连接到LED的引脚配置为输出。我们通过在setup()函数内部调用pinMode()函数来完成此操作:
    void setup()
    {
    pinMode(ledPin, OUTPUT);
    }
  • 最后,我们必须使用loop()函数打开和关闭LED 。我们通过两次调用digitalWrite()函数来完成此操作,一次调用HIGH来打开LED,另一次调用LOW来关闭LED。如果我们简单地交替调用这两个函数,则LED会太快地打开和关闭,以至于我们看不到,因此我们将两个调用添加到delay()以减慢速度。延迟功能以毫秒为单位,因此我们将其传递1000暂停一秒钟。
    void loop()
    {
    digitalWrite(ledPin, HIGH);
    delay(1000);
    digitalWrite(ledPin, LOW);
    delay(1000);
    }

将上述代码下载到板上,应该看到板载LED开始闪烁:点亮一秒钟,然后熄灭下一秒钟。

LED连接

LED具有极性,这意味着仅在正确调整腿部时它们才会点亮。长脚通常是正极,应连接到Arduino板上的数字引脚。短脚连接到GND。LED的灯泡通常在这一侧也具有平坦的边缘。
为了保护LED,您还需要使用与LED“串联”的电阻。
如果LED指示灯不亮,请尝试倒转腿(如果短时间向后插入LED指示灯,则不会受伤)。
在这里插入图片描述

代码

const int LED_BUILTIN = 2;
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

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

RGB三色灯

在这里插入图片描述
硬件接线图如下所示
在这里插入图片描述
代码

const int greenPin = 5;
const int redPin = 6;
const int bluedPin = 7;

void setup() {
    // put your setup code here, to run once:
    pinMode(redPin, OUTPUT);
    pinMode(greenPin, OUTPUT);
    pinMode(bluedPin, OUTPUT);
}

void loop() {
    // put your main code here, to run repeatedly:
    digitalWrite(redPin, HIGH); //点亮
    digitalWrite(greenPin, LOW); //点亮
    digitalWrite(bluedPin, LOW); //点亮
    delay(500); //延时500ms
    digitalWrite(redPin, LOW); //熄灭
    digitalWrite(greenPin, LOW); //熄灭
    digitalWrite(bluedPin, LOW); //熄灭
    delay(500); //延时500ms

    digitalWrite(redPin, LOW); //点亮
    digitalWrite(greenPin, HIGH); //点亮
    digitalWrite(bluedPin, LOW); //点亮
    delay(500); //延时500ms
    digitalWrite(redPin, LOW); //熄灭
    digitalWrite(greenPin, LOW); //熄灭
    digitalWrite(bluedPin, LOW); //熄灭
    delay(500); //延时500ms

    digitalWrite(redPin, LOW); //点亮
    digitalWrite(greenPin, LOW); //点亮
    digitalWrite(bluedPin, HIGH); //点亮
    delay(500); //延时500ms
    digitalWrite(redPin, LOW); //熄灭
    digitalWrite(greenPin, LOW); //熄灭
    digitalWrite(bluedPin, LOW); //熄灭
    delay(500); //延时500ms
}

效果图
在这里插入图片描述
你也可以按照自己的兴趣制作LED图。
例如:
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐