ITPub博客

首页 > 应用开发 > IT综合 > Arduino例子----Blink Without Delay

Arduino例子----Blink Without Delay

原创 IT综合 作者:lixinli 时间:2014-08-20 10:08:39 0 删除 编辑

1. 功能描述

有时候你需要同时执行两件事。例如,你可能想要不断闪烁一个LED,同时读取一个按钮是否被按下或者其他输入。在这种情况下,你不能使用delay()函数,或者在LED闪烁的时候停止其它的所有事情。如果在延迟期间按钮被按下了,程序可能会错过它。本程序演示了如何不使用delay()函数来使一个LED闪烁。本程序持续跟踪Arduino开或者关LED的最后时间。然后,每次通过loop()时,程序检查是否已经经过足够长的间隔。如果已经够长,则打开或者关闭LED。

 

2. 需要硬件

ü  Arduino 板子

ü  LED

ü  面包板

 

3. 电路连接图

为了建立本电路,拿一个LED,把它的正极、长的针脚连接到13号针脚。把短的、阴极针脚连接到地。然后把Arduino板子和电脑连接,打开Arduino程序,并录入下面的代码。

 

 

4. 原理图

5. 程序

 

/*

 

 */

 

int ledPin = 2;

int ledState = LOW;

unsigned long previousMillis = 0;

long interval = 2000;   // 2000 milliseconds

 

void setup()

{

  pinMode(ledPin, OUTPUT);

}

 

void loop()

{

  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis > interval)

  {

    previousMillis = currentMillis;

    if(ledState == HIGH)

      ledState = LOW;

    else

      ledState = HIGH;

    digitalWrite(ledPin, ledState);

  }

}

 

6. 实验照片

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/263104/viewspace-1254431/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-05-11

  • 博文量
    11
  • 访问量
    61374