首页 > 解决方案 > 如何使内置 LED 系统闪烁?

问题描述

我试图让我的 arduino 上的内置 LED 在记录我的数据并将其放入 EEPROM 时每 1 秒闪烁一次,但我不知道该怎么做。我应该每分钟将数据打印到 EEPROM,直到 EEPROM 已满,而在此过程中,我的内置 LED 应该闪烁大约 1 秒。我的问题似乎是我设置了延迟以延迟数据在 EEPROM 上存储的时间,但它也影响了我的 LED 闪烁所需的时间,因为它在存储数据时等待闪烁。任何帮助将不胜感激,代码如下:

#include<EEPROM.h>
const int SWITCH = 4;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(SWITCH, INPUT_PULLUP);

}

void loop() {
  // put your main code here, to run repeatedly:
  int addr = 0;
  float v;
  float c;
  int t = 0;
  int r = analogRead(0);

  if (digitalRead(SWITCH) == LOW) {
    Serial.println("----Recording----");
    while (addr <= 1024) {
      Serial.println(r);
      EEPROM.put(addr, r);
      addr = addr + 2;
      delay(600);
    }
    while (true);

  }
  else {
    Serial.println("----Replaying----");
    Serial.println("Time(s), Temp(C)");
    while (addr <= 1024) {
      t = t + 1;
      EEPROM.get(addr, r);
      addr = addr + 2;
      v = r * 5.0 / 1024.0;
      c = 100 * (v - 0.5);
      Serial.print(t * 60);
      Serial.print("\t");
      Serial.println(c);
      delay(1000);
    }
    while (true);
  }
}

标签: arduino

解决方案


推荐阅读