Кто хочет берите 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 мс - и ни миллисекундой меньше или больше, иначе серва будет работать вечно.
С таким уровнем программирования я бы не советовал "делиться" своим кодом с сообществом.