Amaliy qism Mazkur ishda oddiy foydalanishni boshqarish tizimi ishlab chiqiladi. Bunda foydalanuvchilarni aniqlash elektron kalit (Metka) orqali amalga oshiriladi. Kontrol, server motor, RFID, nuqtalarni tutashtiruvchi plata, nuqtalarni tutashtiruvchi sim, diod, signalni faollashtiruvchi, USB kabel, magnit kartalar asosida RFID yig‘ish amalga oshiriladi. Quyidagi rasmda ushbu detallar yig‘indisi asosida tashkil etilgan, holat keltirilgan.
Signalni ulashingiz uchun, kalit ishlagan bo‘lsa va qulf ochilsa, ikkinchi signal esa qulf yopilganda signal beradi, signalni quyidagi ketma-ketlikda ulanadi.
3.2-jadval
Signalni ovozni eshitish uchun “Arduino__Зуммер'>Arduino va Зуммер”ni sozlash
Arduino
Зуммер
5V
VCC
GND
GND
pin 5
IO
Qulfni ochish mexanizmi sifatida servo haydovchi ishlatiladi. Talab qiladigan o‘lchamlarga va servo yaratadigan kuchlarga qarab har qanday servo tanlanishi mumkin.
3.3-jadval
Servoni uchta pinga ulanish
Arduino
Servolar
5V *
Qizil sim(markazga) ulash
GND
Qora yoki jigarang sim(chapga)ulash
pin 6
Oq yoki olmataqonrang(o‘ngga) ulash
Barcha sozlamalar amalga oshirilgandan keyin Arduinoga quyidagi kodllar kiritiladi.
#include #include #include // библиотека "RFID".
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
unsigned long uidDec, uidDecTemp; // для храниения номера метки в десятичном формате
Servo servo;
void setup() {
Serial.begin(9600);
Serial.println("Waiting for card...");
SPI.begin(); // инициализация SPI / Init SPI bus.
mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card.
servo.attach(6);
servo.write(0); // устанавливаем серву в закрытое сосотояние
}
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 метки в консоль.
if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает.
{
tone(5, 200, 500); // Делаем звуковой сигнал, Открытие
servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.)
delay(3000); // пауза 3 сек и механизм запирается.
tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие
}
servo.write(0); // устанавливаем серву в закрытое сосотояние
}
3.3-rasm. Arduinoga kiriltilgan kodlar oynasi
Kartaning UID (yorliqlar)ni bilish magnit kartani arduinoga yozishingiz, yuqorida tavsiflangan sxemani yig‘ishingiz va konsolni ochishingiz mumkin. Tegni RFID-ga keltirganingizda, konsolda raqam ko‘rsatiladi, ushbu raqamni o‘zgartirishingiz yoki qo‘shimcha yana qo‘shingiz mumkin.
3.4-rasm. UID raqami
Har bir karta uchun bu identifikator noyobdir va takrorlanmaydi. Shunday qilib, dasturda identifikatorini o‘rnatgan kartani taqdim etganingizda, tizim servo yordamida kirishni ochadi.
Topshiriq Berilgan variant asosida NFS karta yoki NFS button raqamlari keltirilgan bo‘lib, shu asosida RFID sozlash?><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<, ishlatish.