RFID ტეგები ჩვენი ცხოვრების განუყოფელ ნაწილად იქცა, თანამედროვე ავტომატიზაციის სისტემები და ჭკვიანი მოწყობილობები მათ გარეშე წარმოუდგენელია. Arduino გვაძლევს გამოყენების შესანიშნავ შესაძლებლობებს თანამედროვე ტექნოლოგიებისაწყის პროექტებშიც კი. ამ სტატიაში ჩვენ გეტყვით რა არის RFID, განვიხილავთ სტანდარტებს, ბარათების ტიპებს და ვისწავლით თუ როგორ დააკავშიროთ პოპულარული RFID წამკითხველები RC522 და RDM3600 Arduino-სთან.
RFID (რადიო სიხშირის იდენტიფიკაცია) არის რადიოსიგნალების გამოყენებით მონაცემთა გადაცემის, ჩაწერისა და შენახვის საშუალება. თითოეული RFID სისტემა მოიცავს მკითხველს/მკითხველს და RFID ტეგს, რომელიც ინახავს მონაცემებს. ტეგები შედგება ორი ნაწილისგან - ინტეგრირებული წრე და ანტენა. ინტეგრირებული წრე საშუალებას გაძლევთ შეინახოთ და დაამუშავოთ მონაცემები, ანტენა საშუალებას გაძლევთ მიიღოთ და გადაიტანოთ ინფორმაცია.
ყველა RFID სისტემა შეიძლება დაიყოს დიაპაზონის მიხედვით:
სიხშირის თვალსაზრისით, ჩვენ შეგვიძლია განვასხვავოთ:
ყველაზე პოპულარული დიაპაზონი არის საშუალო სიხშირე - ის ფართოდ გამოიყენება სატრანსპორტო აპლიკაციებში და სხვა პროექტებში, სადაც საჭიროა ბარათის გადაწერა. ძირითადი სტანდარტებია ISO 14443, ISO 15693 და EPC. სმარტ ბარათები იწარმოება ISO 14443 სტანდარტის საფუძველზე. ISO 15693 გამოიყენება ეტიკეტის გადაწერისთვის. EPC არის შტრიხკოდების ანალოგი; მას აქვს უფრო მარტივი და გასაგები სტრუქტურა.
HF band ახლახან დაიწყო გამოყენება, ძირითადად გამოიყენება საწყობის აპლიკაციებისთვის. ამ დიაპაზონისთვის გამოიყენება ISO 18000 და EPC სტანდარტები. ISO 18000 სტანდარტები იზიდავს ყველაზე დიდ ინტერესს და გამოიყენება გაფართოებული დიაპაზონის ტეგების აპლიკაციებში. ISO 18000-ისთვის ასევე არსებობს რამდენიმე სტანდარტი, რომლებიც განსხვავდება სიხშირით:
RFID იდენტიფიკაციის გამოყენების სფეროები
RFID ტექნოლოგია ხშირად გამოიყენება საცალო ვაჭრობაში, ბიბლიოთეკებსა და არქივებში, ლოჯისტიკაში, წვდომის კონტროლისა და მართვის სისტემებში (ACS), ადამიანების ინიციალიზაციაში და პროდუქტის ავთენტიფიკაციაში.
პერსონალის იდენტიფიკაციისთვის, ყველაზე პოპულარული ფორმატებია პლასტიკური უკონტაქტო ბარათები და უკონტაქტო გასაღებები. მათი დახმარებით თქვენ შეგიძლიათ დაარეგისტრიროთ ტერიტორიაზე ობიექტების შესვლა/გასვლა მისასვლელი პუნქტებით - ჭიშკარი, საგუშაგოები. წვდომის კონტროლის სისტემის მთავარი ამოცანაა დაშვების კონტროლი - მაგალითად, შეზღუდოს წვდომა ნებისმიერ ტერიტორიაზე, იდენტიფიცირება იმ პირთათვის, ვისაც შეუძლია შევიდეს ტერიტორიაზე. ასევე შეიძლება გადაწყდეს დამატებითი ამოცანები - პერსონალის სამუშაო საათების მონიტორინგი, ვიზიტორთა მონაცემთა ბაზის შენარჩუნება, უსაფრთხოების სისტემებთან მუშაობა და ხელფასების გაანგარიშება.
RFID გასაღებები ასევე გამოიყენება შესასვლელი ინტერკომისთვის. კარების გასახსნელად ყველაზე ხშირად გამოიყენება Proximity გასაღებები, ანუ მოკლე დიაპაზონის გასაღებები, რომლებიც მუშაობენ 10-15 სმ მანძილზე, ასევე იყოფა რამდენიმე ფორმატად - დღეს ყველაზე პოპულარულია EM-Marin, HID უკონტაქტო გასაღებები და MIFARE, რომლებიც მოიცავს უკონტაქტო გასაღებების სმარტ ბარათებს.
RFID მოდული RC522 დაფუძნებულია MFRC522 წრეზე, რომელიც უზრუნველყოფს უკაბელო კომუნიკაციას 13,56 MHz სიხშირით. თქვენ შეგიძლიათ დააკავშიროთ მიკროსქემის გამოყენებით SPI ინტერფეისი, I2c და UART. NFC Reader ISO 14443 პროტოკოლის სტანდარტი.
მოდულის პინოტი ნაჩვენებია ფიგურაში. SDA პინი (SS, CS, NSS) პასუხისმგებელია slave მოწყობილობის არჩევაზე. SCK გამომავალი არის SPI საათის სიგნალი. MOSI - პასუხისმგებელია მონაცემთა გადაცემაზე master-დან slave-ზე, MISO - slave-დან master-ზე. IRQ - ასრულებს შეფერხებას. RST - ასრულებს შეფერხებას.
RDM6300 არის უკონტაქტო წამკითხველი, რომელიც გამოიყენება RFID გასაღების ნომრის დისტანციურად წასაკითხად და UART-ის მეშვეობით ნომრის გადასაცემად მიკროკონტროლერზე, რომელიც აკონტროლებს წვდომის სისტემებში ჩაკეტვას. მოწყობილობას აქვს რამდენიმე უპირატესობა - დაბალი ფასი და ინსტალაციის სიმარტივე. ყველაზე ხშირად გამოიყენება წვდომის კონტროლის სისტემებში სახლებისთვის, ავტოფარეხებისთვის, ოფისებისთვის, ბინების და სხვა შენობებისთვის ელექტრომექანიკური საკეტით. მკითხველი გამოიყენება EM4100/TK4100 ბარათების წასაკითხად. RDM6300 შეიძლება დამონტაჟდეს კედელზე ან კარადაში. Arduino ჩვეულებრივ გამოიყენება როგორც მიკროკონტროლერი.
პინოტი ნაჩვენებია ფიგურაში.
TX პინი პასუხისმგებელია მონაცემთა გადაცემაზე, RX - მიღებაზე. გამომავალი 3 არ გამოიყენება.
P2-სთვის ANT1 და ANT2 გამომავალი გამოიყენება ანტენის დასაკავშირებლად.
დასაკავშირებლად დაგჭირდებათ Arduino დაფა, RC522 მკითხველი, კომპიუტერი, სადენები და უკაბელო RFID ტეგი.
RC522 მოდული უკავშირდება Arduino-ს შემდეგი სქემის მიხედვით:
მიწოდების ძაბვა უზრუნველყოფილია 2,5-დან 3,3 ვ-მდე. RST გამომავალი დაკავშირებულია D9 პინთან Arduino-ზე, SDA - D10-მდე, MOSI - D11, MISO - D12, SCK - D13. ამ შემთხვევაში განვიხილეთ არდუინოს დაფებინანო v3 და არდუინო უნო. როდესაც ყველაფერი დაკავშირებულია, RC522-ის LED შუქი აინთება.
კავშირი Arduino-სთან:
ჯერ უნდა დააინსტალიროთ RFID ბიბლიოთეკა MFRC522-ისთვის.
RC522 RFID მოდულის კონტაქტები უნდა იყოს დაკავშირებული Arduino-სთან. კავშირისთვის მოსახერხებელია მამრობითი-ქალი მავთულის გამოყენება.
RFID მოდულის RC522 კონტაქტების აღწერა:
MFRC522 | არდუინო უნო | არდუინო მეგა | Arduino Nano v3 | არდუინო ლეონარდო/მიკრო | Arduino Pro Micro |
RST | 9 | 5 | D9 | RESET/ICSP-5 | RST |
SDA(SS) | 10 | 53 | D10 | 10 | 10 |
MOSI | 11 (ICSP-4) | 51 | D11 | ICSP-4 | 16 |
MISO | 12 (ICSP-1) | 50 | D12 | ICSP-1 | 14 |
SCK | 13 (ICSP-3) | 52 | D13 | ICSP-3 | 15 |
3.3 ვ | 3.3 ვ | 3.3 ვ | სტაბილიზატორი 3.3 ვ | სტაბილიზატორი 3.3 ვ | სტაბილიზატორი 3.3 ვ |
GND | GND | GND | GND | GND | GND |
RFID-RC522 მოდულს მოყვება ორი ტეგი, ერთი პლასტიკური ბარათის სახით, მეორე კი საკვანძო ბლოკის სახით. საჭიროების შემთხვევაში, მათი შეძენა შესაძლებელია ცალკე.
ყველაფრის დაკავშირების შემდეგ, მოდულის ინდიკატორი ანათებს, ეს მიუთითებს იმაზე, რომ ენერგია მიეწოდება RFID-ს . დადგა დრო გაუშვით ტესტის ესკიზი, რომელიც მდებარეობს ბიბლიოთეკაში, რომელიც ჩვენ დავაინსტალირეთ.
აუცილებელია შეამოწმოთ მითითებული მუდმივების სისწორე:
#define SS_PIN 10 #define RST_PIN 9 // ეს მუდმივები შეესაბამება
ახლა ატვირთეთ ესკიზი Arduino-ზე და ჩართეთ იგი სერიული პორტის მონიტორინგი.
ჩვენ მივაქვთ ტეგი მკითხველთან და მოდული კითხულობს ამ ტეგის ყველა მონაცემს, მაგალითად, ტეგის UID-ის უნიკალურ იდენტიფიკატორს.
RFID-RC522 ოპერაციის ვიდეო:
RFID-RC522 მოდული დაფუძნებულია NXP-ის MFRC522 ჩიპზე. ეს ჩიპი უზრუნველყოფს ორმხრივ უკაბელო (6 სმ-მდე) კომუნიკაციას 13,56 MHz სიხშირით.
MFRC522 ჩიპი მხარს უჭერს შემდეგი კავშირის ვარიანტებს:
ამ მოდულის გამოყენებით შეგიძლიათ ჩაწეროთ და წაიკითხოთ მონაცემები სხვადასხვა RFID ტეგებიდან: გასაღებები ინტერკომისთვის, პლასტიკური საშვის ბარათები და ბილეთები მეტრო და სახმელეთო ტრანსპორტისთვის, ასევე სულ უფრო პოპულარული NFC ტეგები.
RFID არის აბრევიატურა "რადიო სიხშირის იდენტიფიკაცია" და ითარგმნება როგორც "რადიო სიხშირის იდენტიფიკაცია".
NFC ნიშნავს "ახლო საველე კომუნიკაცია", "ახლო საველე კომუნიკაცია" ან "ახლო საველე კომუნიკაცია".
მოდით დავუკავშიროთ RFID-RC522 მოდული Arduino-ს SPI ინტერფეისის მეშვეობით ქვემოთ მოცემული დიაგრამის მიხედვით.
მოდული იკვებება ძაბვით 2,5-დან 3,3 ვ-მდე. დარჩენილ ქინძისთავებს Arduino-ს ასე ვუკავშირებთ:
პინი RC522 | არდუინოს პინი |
---|---|
RST | D9 |
SDA (SS) | D10 |
MOSI | D11 |
MISO | D12 |
SCK | D13 |
არ დაგავიწყდეთ ისიც, რომ Arduino-ს აქვს განსაკუთრებული ICSP კონექტორი SPI ინტერფეისით მუშაობისთვის. მისი პინოტი ასევე ნაჩვენებია ილუსტრაციაში. შეგიძლიათ დააკავშიროთ RC522 მოდულის RST, SCK, MISO, MOSI და GND პინები Arduino-ზე ICSP კონექტორთან.
MFRC522 ჩიპს აქვს საკმაოდ ფართო ფუნქციონირება. თქვენ შეგიძლიათ გაეცნოთ ყველა შესაძლებლობას მისი პასპორტის (მონაცემთა ცხრილის) შესწავლით. ჩვენ აქ ვართ, რათა გავეცნოთ შესაძლებლობებს ამ მოწყობილობისგამოვიყენოთ ერთ-ერთი მზა ბიბლიოთეკა დაწერილი Arduino მუშაობს RC522-ით. ჩამოტვირთეთ და გახსენით იგი დირექტორიაში Arduino IDE\ბიბლიოთეკები\
ამის შემდეგ გაუშვით Arduino IDE.
ახლა გავხსნათ ესკიზის მაგალითი: ფაილის ნიმუშები MFRC522 DumpInfoდა ჩატვირთეთ იგი Arduino მეხსიერებაში.
ეს ჩანახატი ამოიცნობს მკითხველზე მიმაგრებული მოწყობილობის ტიპს და კითხულობს RFID ტეგზე ან ბარათზე დაწერილ მონაცემებს და შემდეგ გამოსცემს მას სერიულ პორტში.
#შეიცავს
ესკიზის ტექსტი საკმაოდ კარგად არის კომენტირებული.
ბიბლიოთეკის უფრო სრულყოფილი გაცნობისთვის, შეისწავლეთ ფაილები MFRC522.hდა MFRC522.cppდირექტორიადან rfid-ოსტატი.
მოდით გავუშვათ სერიული პორტის მონიტორი კლავიშთა კომბინაციით Ctrl+Shift+M მენიუს მეშვეობით ხელსაწყოებიან ღილაკი გამადიდებელი შუშით. ახლა მკითხველს მივამაგროთ მეტროს ბილეთი ან ნებისმიერი სხვა RFID ტეგი. სერიული პორტის მონიტორი აჩვენებს RFID ტეგზე ან ბილეთზე დაფიქსირებულ მონაცემებს.
მაგალითად, ჩემს შემთხვევაში ისინი აქ დაშიფრულია უნიკალური ნომერიბილეთი, შეძენის თარიღი, მოქმედების ვადა, დარჩენილი მოგზაურობების რაოდენობა და საკუთრების ინფორმაცია. ერთ-ერთ მომავალ სტატიაში გადავხედავთ რა წერია მეტროსა და სახმელეთო ტრანსპორტის რუკებზე.
დიახ, RFID-RC522 მოდულის გამოყენებით შეგიძლიათ ჩაწეროთ მონაცემები მეტროს ბილეთზე. ოღონდ არ შეცდეთ, თითოეულ ბარათს აქვს ჩაწერის ციკლის მრიცხველი, რომლის გადაწერა არ შეიძლება, ასე რომ თქვენ ვერ შეძლებთ საკუთარ თავს მეტროს მოგზაურობის „დამატებას“ - ეს დაუყოვნებლივ გამოვლინდება და ბარათს უარყოფს ტურნიკეტი :) მაგრამ გამოიყენეთ შესაძლებელია მეტროს ბილეთები მათზე მცირე რაოდენობის მონაცემების ჩასაწერად - 1-დან 4 კბ-მდე. და ამის გამოყენების გზები შემოიფარგლება მხოლოდ თქვენი ფანტაზიით.
ამჟამად, რადიოსიხშირული იდენტიფიკაციის (RFID) ტექნოლოგიის გამოყენება ძალიან პოპულარული ხდება. მრავალი აპლიკაცია დანერგილია ჩვენი ცხოვრების სხვადასხვა სფეროში და გამოიყენება სხვადასხვა მიზნებისთვის. RFID საშუალებას აძლევს მონაცემთა უსადენო შეგროვებას ელექტრონული ტეგების წამკითხველების გამოყენებით, რომლებიც მიმაგრებულია ან ჩაშენებულია ობიექტებში იდენტიფიკაციისა და სხვა მიზნებისათვის. ეს სტატია განიხილავს, თუ როგორ უნდა შექმნათ მარტივი, DIY RFID წვდომის კონტროლის მოწყობილობა Arduino UNO-ს და RFID წამკითხველის (EM-18) გამოყენებით LED-ისა და რელეს სამართავად. ელექტრული დიაგრამადა არდუინოს ესკიზი ( წყარო კოდი) წარმოდგენილია ქვემოთ.
ჩართვისას მკითხველი გადასცემს რადიოსიხშირის სიგნალს. როდესაც RFID ტეგი მოთავსებულია მკითხველთან ახლოს, ის იღებს რადიოსიხშირულ სიგნალს ტეგის შიგნით არსებული ანტენის მეშვეობით. მიღებული RF სიგნალი გარდაიქმნება ელექტრო ენერგიად, რაც საკმარისია ტეგიდან მონაცემების გადასაცემად RFID მკითხველზე. გარდა ამისა, მკითხველი გადასცემს ტეგის იდენტიფიკატორს გარე მოწყობილობამიერ სერიული პორტიმონაცემთა გადაცემა. ამჟამად ხელმისაწვდომია მკითხველის მოდელების ფართო სპექტრი. ყველაზე გავრცელებული და მოსახერხებელი გამოსაყენებელია EM-18 მოდული. ეს მოდული კითხულობს RFID პასიურ ტეგებს და აგზავნის ტეგის ID-ს Arduino მიკროკონტროლერს.
კითხვაRFID იდენტიფიკატორის ტეგები
დასაწყებად, ჩამოტვირთეთ მარტივი კოდი rfid1.ino Arduino Uno-ში IDE-ის გამოყენებით.
ახლა შეკრიბეთ წრე, როგორც ნაჩვენებია ქვემოთ.
გახსენით სერიული მონიტორი Arduino IDE-ში, დაიჭირეთ RFID ტეგი ძალიან ახლოს RFID წამკითხველის ცენტრთან და ჩანიშნეთ ნაჩვენები ტეგის ID. ეს უნიკალური იდენტიფიკატორი დაგჭირდებათ შემდეგ ჩანახატში! (ჩვენს ტეგს აქვს ID 51005F46642C)
წვდომის კონტროლი
ჩართულია ამ ეტაპზესისტემა კონფიგურირებულია იმისათვის, რომ შეადაროს უნიკალური იდენტიფიკატორი (გამოყენებული ტეგი) ნებისმიერი წასაკითხი ტეგის იდენტიფიკატორთან.
დაშალეთ არსებული კავშირი და ატვირთეთ ახალი ესკიზი rfid2.ino Arduino მიკროკონტროლერამდე
გადააერთეთ აპარატურის კომპონენტები (გარკვეული ცვლილებებით), როგორც ნაჩვენებია ზემოთ სურათზე. აქ Arduino მიკროკონტროლერის პინი D12 გამოიყენება სტანდარტული 5 მმ LED-ის დასაყენებლად. პინი D13 გამოიყენება ელექტრომაგნიტური რელეს გასაკონტროლებლად საკონტროლო ტრანზისტორის მეშვეობით. ყოველ ჯერზე, როდესაც ნიშანი ემთხვევა, მაღალი კონტროლის სიგნალი გამოჩნდება პინ D13-ზე 5 წამის განმავლობაში. რელე შეიძლება გამოყენებულ იქნას გარე დატვირთვის გასაკონტროლებლად, როგორიცაა კარის გაჩერება. თუ ეტიკეტის მნიშვნელობები არ ემთხვევა, მაშინ პინი D13 რჩება დაბალი დონესიგნალი, მაგრამ ამავე დროს მაღალი დონე ჩნდება პინ D12-ზე განგაშის LED-ის გასააქტიურებლად.
ამ გაკვეთილზე ჩვენ ვისწავლით როგორ გავაკეთოთ მარტივი სისტემა, რომელიც განბლოკავს საკეტს ელექტრონული გასაღები(მარკი).
მომავალში, თქვენ შეგიძლიათ დახვეწოთ და გააფართოვოთ ფუნქციონირება. მაგალითად, დაამატეთ ფუნქცია „ახალი კლავიშების დამატება და მეხსიერებიდან მათი ამოღება“. საბაზისო შემთხვევაში, მოდით განვიხილოთ მარტივი მაგალითი, სადაც უნიკალური გასაღების იდენტიფიკატორი წინასწარ არის დაყენებული პროგრამის კოდში.
ამ გაკვეთილზე დაგვჭირდება:
პროექტის განსახორციელებლად ჩვენ უნდა დავაყენოთ ბიბლიოთეკები:
2) ახლა თქვენ უნდა დააკავშიროთ Buzzer, რომელიც გაისმის კლავიშის გაშვებისას და საკეტის გახსნისას, და მეორე სიგნალი საკეტის დახურვისას.
ჩვენ ვაკავშირებთ ზუმერს შემდეგი თანმიმდევრობით:
არდუინო | ზუმერი |
---|---|
5 ვ | VCC |
GND | GND |
პინი 5 | IO |
3) განბლოკვის მექანიზმად გამოყენებული იქნება სერვო დისკი. ნებისმიერი სერვო დისკის არჩევა შესაძლებელია, რაც დამოკიდებულია თქვენთვის საჭირო ზომაზე და ძალაზე, რომელსაც ქმნის სერვო დისკი. სერვოს აქვს 3 კონტაქტი:
თქვენ უფრო ნათლად ხედავთ, თუ როგორ დავაკავშირეთ ყველა მოდული ქვემოთ მოცემულ სურათზე:
ახლა, თუ ყველაფერი დაკავშირებულია, შეგიძლიათ გააგრძელოთ პროგრამირება.
ესკიზი:
#შეიცავს
ტონი (5, 500, 500); // ხმის სიგნალის გაკეთება, დახურვა ) servo.write(0); // დააყენეთ სერვო დახურულ მდგომარეობაში)
მოდით შევხედოთ ესკიზს უფრო დეტალურად:
ბარათის UID-ის (Tag) გასარკვევად, თქვენ უნდა ჩაწეროთ ეს ჩანახატი arduino-ში, ააწყოთ ზემოთ მოყვანილი წრე და გახსნათ კონსოლი (სერიული პორტის მონიტორინგი). როდესაც თქვენ შეეხებით RFID ტეგს, კონსოლში გამოჩნდება ნომერი
მიღებული UID უნდა შეიყვანოთ შემდეგ სტრიქონში:
თუ (uidDec == 3763966293) // შეადარეთ ტეგის Uid, თუ იგი მოცემულის ტოლია, მაშინ სერვო დრაივერი ხსნის სარქველს.
თითოეულ ბარათს აქვს უნიკალური იდენტიფიკატორი და არ მეორდება. ამრიგად, როდესაც წარადგენთ ბარათს, რომლის იდენტიფიკატორიც დააყენეთ პროგრამაში, სისტემა გახსნის წვდომას სერვო დისკის გამოყენებით.