Სარჩევი:

Arduino RFID კარის საკეტი: 5 ნაბიჯი (სურათებით)
Arduino RFID კარის საკეტი: 5 ნაბიჯი (სურათებით)

ვიდეო: Arduino RFID კარის საკეტი: 5 ნაბიჯი (სურათებით)

ვიდეო: Arduino RFID კარის საკეტი: 5 ნაბიჯი (სურათებით)
ვიდეო: არდუინო 1 დონე , 27- გაკვეთილი, დავით ფერაძე 2024, ნოემბერი
Anonim
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი
Arduino RFID კარის საკეტი

*** განახლებულია 8/9/2010 *** მინდოდა გამეკეთებინა მარტივი და უსაფრთხო გზა ჩემს ავტოფარეხში შესასვლელად. RFID იყო საუკეთესო საშუალება ჩემი კარის გასაღებად, თუნდაც ხელებით სავსე მე შემიძლია გავაღო კარი და გავაღო ის! მე შევქმენი მარტივი წრე ძირითადი ATMega 168 არდუინოს ჩიპით და ID-20 RFID მკითხველით ელექტრონული კარის საკეტის გასაკონტროლებლად. წრე შედგება 3 ცალკეული ნაწილისგან, მკითხველი RFID ტეგების წასაკითხად, კონტროლერი მკითხველის მონაცემების მისაღებად და RGB LED- ის და ელექტრო კარის საკეტის გამომუშავების გასაკონტროლებლად. კარის საკეტი ჯერ კარზეა დამონტაჟებული და ტესტირებულია 9 ვ ბატარეით სწორი მონტაჟის უზრუნველსაყოფად. უმეტეს შემთხვევაში გსურთ ნორმალურად გახსნილი წრე კარის საკეტზე, ან Fail Secure. ეს ნიშნავს, რომ კარი ჩაკეტილი რჩება, როდესაც მასში დენი არ გადის. როდესაც 12vDC გადის ელექტრომაგნიტში კარის საკეტში, საკეტში ფირფიტა იძლევა გზას და საშუალებას აძლევს კარს თავისუფლად გააღოს. მკითხველი მოთავსებულია კარის გარედან და შიგნით არის ცალკე კონტროლერისგან, ისე რომ ვერავინ შეძლებს უსაფრთხოების გვერდის ავლით მკითხველის გახსნით და მკითხველის მოკლე ჩართვის მცდელობით. კონტროლერი იღებს სერიულ მონაცემებს მკითხველისგან და აკონტროლებს RGB led და კარის საკეტს. ამ შემთხვევაში მე ორივე ცალკე პურის დაფაზე დავდე შესამოწმებლად. აქ არის ვიდეო მიმოხილვა სისტემის მოქმედება ** განახლება ** ყველა კოდი, სქემა და PCB დიზაინი შემოწმებულია და დახვეწილი. ისინი ყველა აქ არის გამოქვეყნებული 8/9/2010 განახლებული ვიდეო ბოლო სისტემის დაინსტალირებული და მუშაობისას.

ნაბიჯი 1: საჭირო ნაწილები

ნაწილები საჭიროა
ნაწილები საჭიროა

აქ მოცემულია ნაწილების სია და ბმულები SparkFun.com– ზე, სადაც მე შევიძინე ისინი. ეს არის ნაწილების ძირითადი ნაკრები, რომელიც თქვენ უნდა შექმნათ და არდუინო და წრე, რომ წაიკითხოთ RFID ტეგები არდუინოში. მე ვვარაუდობ, რომ თქვენ უკვე გაქვთ პურის დაფა, კვების ბლოკი და სადენები.

არდუინოს პერსონალი

ATmega168 Arduino Bootloader– ით 4.95 დოლარი

კრისტალი 16 MHz 1.50 $

კონდენსატორი კერამიკული 22pF $ 0.25 (x2)

რეზისტორი 10k Ohm 1/6th Watt PTH $ 0.25

მინი ღილაკის ღილაკი გადამრთველი $ 0.35

სამმაგი გამომავალი LED RGB - დიფუზიური $ 1.95

RFID პერსონალი

რომელიმე მათგანს, 20 აქვს უკეთესი დიაპაზონი, 12 უფრო მცირეა RFID Reader ID-12 29.95 $ RFID Reader ID-20 34.95 $

RFID Reader Breakout $ 0.95

Break Away Headers - პირდაპირ $ 2.50

RFID წარწერა - 125kHz 1.95 $

სხვა

TIP31A ტრანზისტორი (რადიო შაკი/ელექტრონიკის მაღაზია $ 1.50)

კარის საკეტი არის ebay– დან. კარის ჩავარდნა უსაფრთხო წვდომის კონტროლი Electric Strike v5 17,50 აშშ დოლარი (კავამოლი, ყურე)

ნაბიჯი 2: შექმენით Arduino კონტროლერი

შექმენით Arduino კონტროლერი
შექმენით Arduino კონტროლერი
შექმენით Arduino კონტროლერი
შექმენით Arduino კონტროლერი
შექმენით Arduino კონტროლერი
შექმენით Arduino კონტროლერი

პირველი ნაბიჯი RFID კარის საკეტის შესაქმნელად ძირითადი Arduino– ით არის ძირითადი სამუშაო არდუინოს პურის დაფა. Arduino– ს უმეტესად წინასწარ აციმციმებული ATMega 168 ჩიპები მოყვება ნაგულისხმევი ციმციმის პროგრამა წინასწარ დაინსტალირებული. შეაერთეთ LED ციფრული გამომავალი 13 და დარწმუნდით, რომ ყველაფერი მუშაობს.

ამ RFID მკითხველის აპარატურის ნაწილი ძალიან მარტივი იქნება, თუ ჩვენ გამოვიყენებთ ჩვეულებრივ arduino- ს ჩაშენებული USB პროგრამისტით. ვინაიდან მე ვგეგმავ ამის ჩადებას კედელში და აღარ შევეხები მას, არ მინდა გამოვიყენო დიდი $ 30 არდუინოს დაფა, როდესაც შემიძლია ვიყიდო 5 დოლარიანი ATMega 168 და გავაკეთო ბევრად უფრო პატარა პერსონალური PCB.

იმის გამო, რომ მე თვითონ შევარჩიე ძირითადი Arduino მიკროსქემის გაკეთება, მჭირდება გარე USB-> სერიული FDIT პროგრამისტი. მე შევიტანე კონტროლერის არწივის სქემები 7805 ძაბვის რეგულატორის დენის წყაროსთან. ტესტირებისას გამოვიყენე პურის დაფის კვების ბლოკი.

არდუინოს გასაშვებად ყველაფერი რაც თქვენ გჭირდებათ არის ATMega168, რომელზეც განათებულია arduino პროგრამული უზრუნველყოფა, 2x 22pF კონდენსატორები, 16 მჰც ბროლი, 10 კმ ოჰ რეზისტორი, ღილაკი და პურის დაფა. ამის დაკავშირება კარგად არის ცნობილი, მაგრამ მე ჩავრთე სქემის მთელი სქემა.

არდუინო აპირებს 4 გამოშვებას, თითოეული წითელი/მწვანე/ლურჯი LED- ებისთვის და 1 გამოიწვევს TIP31A კარის საკეტში 12vDC გასაგზავნად. არდუინო იღებს სერიულ მონაცემებს მის Rx ხაზზე ID-20 RFID წამკითხველიდან.

ნაბიჯი 3: შექმენით RFID მკითხველი

შექმენით RFID მკითხველი
შექმენით RFID მკითხველი
შექმენით RFID მკითხველი
შექმენით RFID მკითხველი
შექმენით RFID მკითხველი
შექმენით RFID მკითხველი

ახლა, როდესაც არდუინოს პური ჩაჯექით და მუშაობთ, შეგიძლიათ შეაერთოთ წრედის RFID მკითხველი, რომელიც შეიცავს ID-10 ან ID-20 და RGB LED- ს, რათა მიუთითოს მიკროსქემის სტატუსი. დაიმახსოვრე, რომ მკითხველი იქნება გარეთ და ცალკე იქნება კონტროლერისგან ისე, რომ ვინმე ადვილად ვერ შეაღწიოს.

ამის ასაშენებლად, ჩვენ ვაპირებთ გავაგზავნოთ 5 ვ/გრუნტი პირველადი პურის დაფიდან მეორად პურის დაფაზე, რომელზეც ვამონტაჟებთ მკითხველს. ასევე გააგზავნეთ 3 მავთული არდუინოს გამომავალი 3 ქინძისთავებიდან RGB LED- ის გასაკონტროლებლად, თითო თითოეული ფერისთვის. კიდევ ერთი მავთული, ყავისფერი სურათებში, იქნება სერიული კავშირი ID-20– თან არდუინოს Rx სერიული შეყვანისათვის. ეს არის ძალიან მარტივი წრე დასაკავშირებლად. LED- ები იღებენ რეზისტორებს და ID-20– ზე რამდენიმე ქულა მიბმულია მიწაზე/5v სწორი სტატუსის დასადგენად.

ID-10/ID-20 Sparkfun ყიდის Breakout დაფას, რომლითაც თქვენ შეგიძლიათ დაურთოთ უფრო გრძელი სათაურები, რომლებიც დაშორებულია პურის დაფაზე. ეს ნაწილი და პინჰედერები და ჩამოთვლილია ნაწილების სიაში.

სქემატური უნდა იყოს მჭიდროდ წინ და ადვილად დაიცვას.

ნაბიჯი 4: პროგრამა

დროა დაგეგმოთ თქვენი არდუინო. ეს შეიძლება იყოს ცოტა სახიფათო ძირითადი arduino– ს გამოყენებით, შეიძლება დაგჭირდეთ რამდენჯერმე დააჭიროთ გადატვირთვის ღილაკს ატვირთვის პირველ ნაწილამდე და მის განმავლობაში. ძალიან მნიშვნელოვანია გახსოვდეთ, თქვენ მიიღებთ შეცდომის გადმოტვირთვას, თუ დროებით არ გათიშავთ ID-20 სერიულ ხაზს arduino– ს Rx ხაზთან. ATMega168– ს აქვს მხოლოდ 1 Rx შეყვანა და ის მას იყენებს პროგრამისტთან სასაუბროდ კოდის ასატვირთად. პროგრამირების დროს გათიშეთ ID-20, შემდეგ კი შეაერთეთ, როდესაც დაასრულებთ. მე გამოვიყენე FTDI პროგრამისტი, რომელიც საშუალებას გაძლევთ დაპროგრამოთ arduino USB– ით მხოლოდ 4 მავთულის საშუალებით. კონტროლერის სქემა გვიჩვენებს pin სათაურის კავშირს, რომელიც საშუალებას მოგცემთ პირდაპირ ჩართოთ იგი. Sparkfun ასევე ყიდის ამ ნაწილს, მაგრამ ბევრს შეიძლება უკვე ჰქონდეს.

თქვენ შეგიძლიათ მარტივად ატვირთოთ ჩემი კოდი თქვენს არდუინოში და არასოდეს მოიხედოთ უკან, მაგრამ რა არის ამაში სახალისო? ნება მომეცით აგიხსნათ ძირითადი იდეა, თუ როგორ მუშაობს იგი.

უპირველეს ყოვლისა, მე არ მინდოდა რაიმე გარე ღილაკი/გადამრთველი/და ა.შ. და არ მინდოდა არდუინოს გადაპროგრამება ყოველ ჯერზე, როდესაც მინდოდა ახალი ბარათის დამატება. ამიტომ მინდოდა გამომეყენებინა მხოლოდ RFID წრედის მუშაობის კონტროლი, ასევე კარის საკეტის კონტროლი.

პროგრამა ჩართავს ცისფერ შუქს იმის მანიშნებლად, რომ ის მზად არის ახალი ბარათის წასაკითხად. როდესაც ბარათი იკითხება, ის წყვეტს, არის თუ არა მოქმედი ბარათი თუ არა მისი წაკითხულის შედარება მოქმედი ბარათების ჩამონათვალთან. თუ მომხმარებელი მართალია, arduino გამორთავს ცისფერ LED- ს და 5 წამის განმავლობაში ანათებს მწვანე LED- ს. ის ასევე ჩართავს კიდევ ერთ გამოსავალს მაღალი 5 წამის განმავლობაში. ეს გამომავალი დაკავშირებულია TIP31A ტრანზისტორთან და საშუალებას აძლევს პაწაწინა არდუინოს გააკონტროლოს გაცილებით დიდი 12v 300mA კარის საკეტი დაზიანების გარეშე. 5 წამის შემდეგ კარის დაბლოკვა ხელახლა იკეტება და LED ანათებს ლურჯს და დაელოდება სხვა ბარათის წაკითხვას. თუ ბარათი არასწორია, LED იცვლება RED– ით რამდენიმე წამით და ისევ ცისფერზე დაელოდება სხვა ბარათს.

მნიშვნელოვანია, რომ კარის საკეტი მაინც იმუშაოს მაშინაც კი, თუ არდუინო დაკარგავს ძალას ღამით ან გადატვირთულია. ამიტომ ყველა მოქმედი ბარათის ID ინახება EEPROM მეხსიერებაში. ATMega168– ს აქვს 512 ბიტი EEPROM მეხსიერება. თითოეულ RFID ბარათს აქვს 5 Hex Byte სერიული ნომერი და 1 Hex Byte Check თანხა, რომელიც ჩვენ შეგვიძლია გამოვიყენოთ იმის დასადასტურებლად, რომ ID-20- სა და arduino- ს შორის გადაცემაში შეცდომები არ ყოფილა.

მოქმედი ბარათები ინახება EEPROM– ში პირველი ბაიტის მრიცხველის გამოყენებით. მაგალითად, თუ ინახება 3 მოქმედი ბარათი, EEPROM– ში პირველი ბაიტი იქნება 3. EEPROM.read (0); = 3. ამის ცოდნა და ის ფაქტი, რომ თითოეული ID არის 5 ბაიტი სიგრძის ჩვენ ვიცით, რომ 1-5 არის ბარათი ერთი, 6-10 არის ბარათი 2 და 11-15 არის ბარათი 3. ჩვენ შეგვიძლია გავაკეთოთ მარყუჟი, რომელიც გამოიყურება EEPROM- ში 5 ბაიტი ერთდროულად და ცდილობს იპოვოს ბარათი, რომელიც მკითხველმა წაიკითხა.

მაგრამ როგორ შეგვიძლია დავამატოთ ახალი ბარათები EEPROM– ს წრის დამონტაჟების შემდეგ? მე წავიკითხე ერთ – ერთი RFID ბარათი, რომელიც მაქვს და მყარად კოდირებული უნდა იყოს Master RFID ბარათი. მაშინაც კი, თუ მთელი EEPROM წაიშლება, სამაგისტრო ბარათი კვლავ იმუშავებს. როდესაც ბარათი იკითხება, ის ამოწმებს პირველ რიგში, არის თუ არა სამაგისტრო ბარათი, თუ არა, შემდეგ აგრძელებს იმის გარკვევას, არის თუ არა მოქმედი ბარათი. თუ ბარათი არის სამაგისტრო ბარათი, ჩვენ გვყავს arduino გადადის "პროგრამირების რეჟიმში", სადაც ის ციმციმებს RGB და ელოდება სხვა მოქმედი ტეგის წაკითხვას. შემდეგი წაკითხული ეტიკეტი ემატება EEPROM– ის მომდევნო უფასო ადგილს და მრიცხველი იზრდება 1 – ით, თუ ბარათი უკვე არ არსებობს EEPROM მეხსიერებაში. მკითხველი ბრუნდება ნორმალურ რეჟიმში და ელოდება ახალი ბარათის წაკითხვას.

ამჟამად მე არ მაქვს დაპროგრამებული გზა ბარათის წაშლისთვის, რადგან ბარათის წაშლის მიზეზები სავარაუდოდ ის იქნება დაკარგული ან მოპარული. რადგან ეს სავარაუდოდ გამოყენებული იქნება 1-10 ადამიანთან ერთად, ყველაზე ადვილი გასაკეთებელი იქნება Master Erase ბარათის რთული პროგრამირება, რომელიც წაშლის ყველა ბარათს EEPROM– დან, შემდეგ ხელახლა დაამატებს მათ ყველაფერს, რასაც სულ რამდენიმე წამი სჭირდება. მე დავამატე კოდი EEPROM– ის გასაწმენდად, მაგრამ ეს ფუნქცია ჯერ არ განმიხორციელებია. რა

კოდი თან ერთვის ტექსტურ ფაილს ნაწილების სიის ასლთან ერთად.

ნაბიჯი 5: გაფართოება

ეს არის მხოლოდ რამდენიმე მაგარი რამ, რისი გაკეთებაც შეგიძლიათ RFID– ით. თქვენ შეგიძლიათ გააფართოვოთ ეს კიდევ უფრო მეტი LCD გამომავალი საშუალებით, ვინ შემოდის და როდის, ქსელი/ტვიტერი და ა.შ. მე არასოდეს გამიკეთებია PCB მანამდე, ასე რომ მე ჯერ კიდევ ვმუშაობ ნაწილების დიზაინზე და განლაგებაზე. როგორც კი დავასრულებ, მეც გამოვაქვეყნებ. მე მოვუწოდებ ვინმეს მიიღოს ჩემი დაწერილი კოდი და შეცვალოს იგი კიდევ უფრო მაგარი საქმეების გასაკეთებლად!

ფინალისტი არდუინოს კონკურსში

გირჩევთ: