RFID (радиочастотная идентификация) – недорогая и доступная технология. Ее можно использовать во многих приложениях, таких как контроль доступа, безопасность, отслеживание активов, отслеживание людей и т. д. Вы, возможно, видели систему RFID в умных замках, применяемых в отелях, офисах и многих других местах, где вам просто нужно разместить карту рядом со считывателем RFID. на секунду и дверь откроется.
В этом проекте мы создадим настоящий соленоидный дверной замок и будем управлять им с помощью RFID и Arduino. Здесь датчик эффекта Холла и магнит используются для обнаружения движения двери. Датчик Холла будет размещен на дверной коробке, а магнит – на самой двери. Когда датчик Холла и магнит находятся близко друг к другу, датчик Холла будет в низком логическом состоянии, а дверь останется закрытой, а когда датчик и магнит не замкнуты, это означает, что дверь открыта, а датчик Холла находится в высоком логическом состоянии. Мы будем использовать этот механизм эффекта Холла для автоматической блокировки и разблокировки двери.
Соленоидный замок работает на основе электронно-механического запирающего механизма. У этого типа замка есть штырь со скошенным вырезом и хорошим монтажным кронштейном. При подаче питания постоянный ток создает магнитное поле, которое перемещает штырь внутрь и удерживает дверь в открытом положении. Штырь будет сохранять свое положение до тех пор, пока не будет отключено питание. Когда питание отключено, штырь выходит наружу и закроет дверь. Он не потребляет никакой энергии в заблокированном состоянии. Для привода электромагнитного замка вам понадобится источник питания, который может выдавать 12 В при 500 мА.
Принципиальная схема дверного замка с использованием Arduino приведена далее.
Положительный вывод зуммера подключен к цифровому выводу 4 Arduino, а вывод GND подключен к выводу заземления Arduino. Между выводами VCC и OUT датчика Холла используется резистор 10К. Замок соленоида подключен к Arduino через релейный модуль. Для RFID подключение следующее: SDA – вывод 10, SCK – вывод 13, MOSI – вывод 11, MISO – вывод 12, – вывод 9. После пайки всех компонентов на плате в соответствии с принципиальной схемой, это может выглядеть как на следующем изображении.
Полный код для этого соленоида Arduino приведен далее.
#include <SPI.h>
#include <MFRC522.h>
int hall_sensor = 3;
int state,lockread;
int Buzzer = 4;
const int LockPin = 2;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup()
{
Serial.begin(9600);
pinMode(LockPin, OUTPUT);
pinMode(Buzzer, OUTPUT);
pinMode(hall_sensor, INPUT);
SPI.begin();
mfrc522.PCD_Init();
//Serial.println("Approximate your card to the reader...");
// Serial.println();
digitalWrite(LockPin, LOW);
}
void readsensor()
{
lockread = digitalRead(LockPin);
state = digitalRead(hall_sensor);
//Serial.print(lockread);
//Serial.print(state);
// delay(2000);
}
void loop()
{
readsensor();
sensor();
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
//Serial.println();
//Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "60 4E 07 1E" )
{
digitalWrite(LockPin, HIGH);
Serial.print("Door Unlocked");
digitalWrite(Buzzer, HIGH);
delay(2000);
digitalWrite(Buzzer, LOW);
sensor();
}
else
{
Serial.println("You are not Authorised");
digitalWrite(Buzzer, HIGH);
delay(2000);
digitalWrite(Buzzer, LOW);
}
}
void sensor()
{
readsensor();
if (lockread == HIGH){
readsensor();
if(state==LOW){
digitalWrite(LockPin, LOW);
Serial.print("Door Closed");
digitalWrite(Buzzer, HIGH);
delay(2000);
digitalWrite(Buzzer, LOW);
}
}
}
Когда вы будете готовы с кодом и оборудованием, вы можете начать тестирование проекта. Здесь мы спаяли все компоненты на перфорированной плате, чтобы ее можно было легко установить на дверь. Чтобы проверить устройство, установите перфорированную плату на дверной коробке и магнит на двери, чтобы оно могло обнаружить движение двери. На следующем изображении показано, как магнит и датчики Холла крепятся к двери.
Теперь отсканируйте авторизованную RFID-карту, чтобы открыть дверной замок. Замок на основе соленоида будет оставаться открытым до тех пор, пока выходной сигнал датчика Холла не перейдет в высокий логический уровень. Теперь, когда дверь снова приблизится к датчику Холла при закрытии, состояние датчика Холла изменится на низкий уровень из-за магнитного поля (генерируемого магнитом, прикрепленным к двери), и замок снова закроется. Вместо использования датчика Холла вы можете ввести задержку, чтобы держать дверь открытой в течение определенного времени.
© digitrode.ru