Я пытаюсь заставить мой встроенный светодиод на моем arduino мигать каждую 1 секунду во время записи моих данных и помещения их в EEPROM, но я не уверен, как это сделать.Я должен печатать данные в EEPROM каждую минуту до тех пор, пока EEPROM не заполнится, и пока это происходит, мой встроенный светодиод должен мигать в течение приблизительно 1 секунды.Кажется, моя проблема заключается в том, что я устанавливаю задержку для отсрочки того, как долго данные хранятся в EEPROM, но это также влияет на время, необходимое для того, чтобы мой светодиод мигал, ожидая мигания при сохранении данных.Любая помощь будет оценена, код ниже:
#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);
}
}