Проблема с uid и EEPROM
- Войдите на сайт для отправки комментариев
Сб, 29/04/2017 - 20:26
#include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); unsigned long uidDec, uidDecTemp; //переменые для хранения uid карты unsigned long h0 = 0; //ячейка для записи int my_timer = 0; //таймер boolean allow; //флаг void setup() { Serial.begin(9600);//Соединение с ПК Serial.println(" Waiting for card..."); SPI.begin(); mfrc522.PCD_Init(); } void loop() { //Ожидание карты if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } //Попытка чтения if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. if (uidDec == h0) // если "UID" номер совпал. { Serial.println("Hi!"); } else{ Serial.println("unknown card"); } if (uidDec == 3558486142) { //Если поднесена карта записи, то активируется флаг my_timer = millis(); allow = true; } if (uidDec != 0 && allow == true && h0 == 0 && uidDec != h0 && uidDec !=3558486142) { //запись только если есть карта, флаг активирован, ячейка пуста и ноиер карты не совпадает с номером карты в ячейке delay(4000); h0 = uidDec; Serial.println("Writed! Cell-1"); Serial.println(h0); } if (millis() - my_timer > 15000 && allow == true) { //Закрытие флага по истечении 15 секунд allow = false; } Serial.println("====================================="); delay(5000); // пауза }
Не получается подружить запись uid и EEPROM. Нужно так, чтобы номер uid записывался в EEPROM и при включении работал так же, как до выключения. Тобишь без потери данных. Как и куда копать?
Не получается подружить запись uid и EEPROM.
Не получается или "не пробовал"? Если прбовоал, то в каком месте кода и что не так.
Как и куда копать?
Если делаете сами, показывайте как делаете. Если хотите, чтобы Вам выдали готовое решение - копайте в сторону раздела "Ищу исполнителя".
Копать здесь:
http://bigbarrel.ru/eeprom/
http://arduino.ru/forum/programmirovanie/zapis-i-chtenie-eeprom-peremenn...