Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <MFRC522.h>
- #include <SoftwareSerial.h>
- #define RST_PIN 9
- #define SS 10
- #define rx 2
- #define tx 3
- MFRC522 rfid(SS, RST_PIN); // Объект rfid модуля
- MFRC522::MIFARE_Key key; // Объект ключа
- MFRC522::StatusCode status; // Объект статуса
- int read_uid[4];
- int uid_RuCat[4] = {109,90,165,33};
- int sarfdata = 0;
- int sarfdata2 = 0;
- int data = 2;
- void setup() {
- Serial.begin(9600); // Инициализация Serial
- SPI.begin(); // Инициализация SPI
- rfid.PCD_Init(); // Инициализация модуля
- rfid.PCD_SetAntennaGain(rfid.RxGain_max); // Установка усиления антенны
- rfid.PCD_AntennaOff(); // Перезагружаем антенну
- rfid.PCD_AntennaOn(); // Включаем антенну
- for (byte i = 0; i < 6; i++) { // Наполняем ключ
- key.keyByte[i] = 0xFF; // Ключ по умолчанию 0xFFFFFFFFFFFF
- }
- }
- void loop() {
- static uint32_t rebootTimer = millis(); // Важный костыль против зависания модуля!
- if (millis() - rebootTimer >= 1000) { // Таймер с периодом 1000 мс
- rebootTimer = millis(); // Обновляем таймер
- digitalWrite(RST_PIN, HIGH); // Сбрасываем модуль
- delayMicroseconds(2); // Ждем 2 мкс
- digitalWrite(RST_PIN, LOW); // Отпускаем сброс
- rfid.PCD_Init(); // Инициализируем заного
- }
- if (!rfid.PICC_IsNewCardPresent()) return; // Если новая метка не поднесена - вернуться в начало loop
- if (!rfid.PICC_ReadCardSerial()) return; // Если метка не читается - вернуться в начало loop
- for (uint8_t i = 0; i < 4; i++) { // Цикл на 4 итерации // В формате HEX
- //Serial.print(rfid.uid.uidByte[i], DEC); // Выводим UID по байтам
- //Serial.print(", ");
- read_uid[i] = rfid.uid.uidByte[i];
- }
- sarfdata = uid_RuCat[0] + uid_RuCat[1] + uid_RuCat[2] + uid_RuCat[3];
- //Serial.print("data1 ");
- //Serial.println(sarfdata);
- sarfdata2 = read_uid[0] + read_uid[1] + read_uid[2] + read_uid[3];
- //Serial.print("data2 ");
- //Serial.println(sarfdata2);
- if (sarfdata == sarfdata2){
- //Serial.println("Welcome, Mahov Mihail");
- Serial.println(data);
- delay(3000);
- }
- else{
- //Serial.println("ERROR: Identification error, try again");
- delay(3000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement