Кто хочет берите RFID управление реле
- Войдите на сайт для отправки комментариев
Вс, 23/07/2017 - 23:11
Вот рабочий скетч так скажем доступа по RFID метки
СКЕТЧ ОПБЕГЧЁННЫЙ!
#include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); int mode = 0; unsigned long uidDec, uidDecTemp; void setup() { Serial.begin(9600); pinMode(7, OUTPUT); SPI.begin(); mfrc522.PCD_Init(); digitalWrite(7, HIGH); Serial.println("Created DeaDPlayeRDDPR"); Serial.println("DON'T HOLD RFID >1sec. IT'S CAN ERROR!"); } void loop() { if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { uint32_t uidDec, uidDecTemp; for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println(uidDec); if (uidDec == 3506418763) // Сравниваем Uid метки, если он равен заданому то серва открывает. { Serial.println("MNP0H0B"); mode==mode++; if (mode==1){ digitalWrite(7, LOW); } if (mode==2){ digitalWrite(7, HIGH); mode=0; } delay(1000); }} }
Во-первых, в коде есть явные ошибки, например в строке 29.
Во-вторых, логика программы отвратительна. Карту надо держать на считывателе ровно 1000 мс - и ни миллисекундой меньше или больше, иначе серва будет работать вечно.
С таким уровнем программирования я бы не советовал "делиться" своим кодом с сообществом.