#include <EEPROM.h>
const int ledPinG = 11;
const int ledPinR = 7;
const int eepromAddr = 0;
const char writePassword[] = "write";
const char readPassword[] = "read";
void setup() {
Serial.begin(9600);
pinMode(ledPinG, OUTPUT);
pinMode(ledPinR, OUTPUT);
digitalWrite(ledPinR, HIGH);
Serial.println("Введіть пароль та дані для запису: ");
Serial.println("Наприклад, password/data?");
}
void loop() {
if (Serial.available() > 0) {
String input = Serial.readStringUntil('?');
String password = input.substring(0, input.indexOf('/'));
String command = input.substring(input.indexOf('/') + 1);
if (password == writePassword) {
Serial.print("Введений пароль: ");
Serial.println(password);
Serial.print("Введена команда: ");
Serial.println(command);
digitalWrite(ledPinR, LOW);
digitalWrite(ledPinG, HIGH);
delay(random(500, 1500));
digitalWrite(ledPinG, LOW);
int value = command.toInt();
EEPROM.write(eepromAddr, value);
Serial.print("Дані, що були успішно записані в EEPROM: ");
int data = EEPROM.read(eepromAddr);
Serial.println(data);
} else if (password == readPassword) {
Serial.print("Введений пароль: ");
Serial.println(password);
digitalWrite(ledPinR, LOW);
digitalWrite(ledPinG, HIGH);
delay(random(500, 1500));
digitalWrite(ledPinG, LOW);
int data = EEPROM.read(eepromAddr);
Serial.print("Дані, зчитані з EEPROM: ");
Serial.println(data);
} else {
Serial.println("Неправильний пароль!");
RedLED(3);
}
while (Serial.available() > 0) {
Serial.read();
}
}
}
void RedLED(int count) {
for (int i = 0; i < count; i++) {
digitalWrite(ledPinR, HIGH);
delay(500);
digitalWrite(ledPinR, LOW);
delay(500);
}
}