តើអ្វីជា RFID?
RFID ជាប្រព័ន្ធសម្រាប់កត់សម្គាល់អត្តសញ្ញាណ(ID system)ដែលមានន័យពេញថា radio frequency identification devices ។ ប្រព័ន្ធនេះប្រើប្រាស់ដែនម៉ាញ៉េទិចទាក់ទងនូវទិន្ន័យដើម្បីដឹងថាអត្តសញ្ញាណមួយណា (ដូចរូបខាងក្រោម)។ ដោយនៅលើកាតមានរបុំសម្រាប់បញ្ចូនទិន្ន័យលេខសម្គាល់កាតតាមរយៈដែនម៉ាញេទិចដែលទាក់ទងទៅអត់តែនខ្លីនៃឧបករណ៍ស្កេន។
ដំណើរការរបស់ RFID Image credit: howtomechatronics.com |
យើងអាចជួបប្រព័ន្ធ RFID នៅលើជណ្តើរយន្តដែលប្រើប្រាស់ការដើម្បីអាចដំណើរការជណ្តើរយន្តបាន។ ហើយក៏មាននៅតាមទ្វាមួយចំនួនដែលអនុញ្ញាត្តឲ្យតែអ្នកដែលមានកាតទើបអាចបើកបានជាដើម ដែលប្រព័ន្ធទាំងអស់នេះប្រើប្រាស់ RFID ដើម្បីកំណត់អត្តសញ្ញាណអ្នកដែលចង់ដំណើរការជណ្តើរយន្ត ឫបើកទ្វានៅពេលដែលយើងដាក់កាត ឫបន្តោងសោរទៅជិតកន្លែងស្កេន។
ការប្រើប្រាស់ RFID ជាមួយ Arduino
យើងលើកយក RFID មួយក្នុងចំណោមប្រភេទជាច្រើនទៀតមានលក់នៅលើទីផ្សារ ហើយអាចប្រើប្រាស់បានជាមួយ Arduino។
MFRC522 RIFD transmitter-receiver ប្រើប្រភព 3.3V |
ដោយភ្ជាប់សៀគ្វីដូចខាងក្រោម ជាមួយ Arduino UNO៖
SDA------------------------Digital 10
SCK------------------------Digital 13
MOSI----------------------Digital 11
MISO----------------------Digital 12
IRQ------------------------unconnected
GND-----------------------GND
RST------------------------Digital 9
3.3V------------------------3.3V (DO NOT CONNECT TO 5V)
សៀគ្វីគម្រូ |
Upload កូដខាងក្រោមដើម្បីធ្វើការសាកល្បង៖
- /*
- *
- * All the resources for this project: https://www.hackster.io/Aritro
- * Modified by Aritro Mukherjee
- *
- *
- */
- #include <SPI.h>
- #include <MFRC522.h>
- #define SS_PIN 10
- #define RST_PIN 9
- MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
- void setup()
- {
- Serial.begin(9600); // Initiate a serial communication
- SPI.begin(); // Initiate SPI bus
- mfrc522.PCD_Init(); // Initiate MFRC522
- Serial.println("Approximate your card to the reader...");
- Serial.println();
- }
- void loop()
- {
- // Look for new cards
- if ( ! mfrc522.PICC_IsNewCardPresent())
- {
- return;
- }
- // Select one of the cards
- if ( ! mfrc522.PICC_ReadCardSerial())
- {
- return;
- }
- //Show UID on serial monitor
- Serial.print("UID tag :");
- String content= "";
- byte letter;
- for (byte i = 0; i < mfrc522.uid.size; i++)
- {
- Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
- Serial.print(mfrc522.uid.uidByte[i], HEX);
- 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) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access
- {
- Serial.println("Authorized access");
- Serial.println();
- delay(3000);
- }
- else {
- Serial.println(" Access denied");
- delay(3000);
- }
- }
បើក Serial Monitor ហើយដាក់កាតជិត Scanner យើងនឹងឃើញទិន្ន័យរបស់កាត ដែលកាតមានទិន្ន័យផ្សេងៗគ្នា៖
UID: BD 31 15 2B |
រួចកត់ចំណាំ ID របស់កាតដើម្បីធ្វើការកំណត់ចំណាំឲ្យចូលបាន ឫអត់?
យើងឲ្យកាតដែលមាន ID: BD 31 15 2B ចូលបាន |
កាតដែលមាន ID ខុស មិនអនុញ្ញាត្ត |
អត្ថបទដើម៖ create.arduino.cc