ელექტრონული საკეტი arduino uno-სთვის. ავტომატური "ჭკვიანი" საკეტი და Arduino

ეს პროექტი მოდულარულია, ე.ი. შეგიძლიათ დააკავშიროთ/გათიშოთ სხვადასხვა ელემენტები და მიიღოთ განსხვავებული ფუნქციონირება. ზემოთ მოყვანილ სურათებში ნაჩვენებია სრული ფუნქციონალური ვარიანტი, კერძოდ:

  • ჩაკეტვის მექანიზმი. გამოიყენება კარის გასაღებად და დასახურავად. ეს პროექტი ითვალისწინებს სამი განსხვავებული მექანიზმის გამოყენებას:
    • სერვო. არის დიდი, არის პატარები. ძალიან კომპაქტური და მძიმე სამაგრთან ერთად - შესანიშნავი ვარიანტია
    • ელექტრო მანქანის კარის საკეტი. დიდი და ძლიერი რამ, მაგრამ ის უბრალოდ ჭამს გიჟურ დინებებს
    • სოლენოიდის ჩამკეტი. კარგი ვარიანტია, რადგან ის თავისთავად იხურება

    პროგრამული უზრუნველყოფის პარამეტრებში შეგიძლიათ აირჩიოთ სამი ტიპიდან რომელიმე (პარამეტრები საკეტის_ტიპი)

  • ღილაკი შიგნით. გამოიყენება კარის შიგნიდან გასაღებად და დასაკეტად. შეიძლება განთავსდეს კარის სახელურზე (ხელის ან თითის გვერდით), თავად კარზე ან სამაგრზე
  • ღილაკი გარეთ. ემსახურება როგორც კარის დახურვას, ასევე ენერგიის დაზოგვისგან გამოღვიძებას. შეიძლება განთავსდეს კარის სახელურზე (ხელის ან თითის გვერდით), თავად კარზე ან სამაგრზე
  • მისაბმელიკარის დახურვისთვის. ემსახურება საკეტის ავტომატურ დახურვას კარის დახურვისას. ისინი შეიძლება იყვნენ:
    • ტაქტის ღილაკი
    • ჰოლის სენსორი + მაგნიტი თავად კარზე
    • რიდის ჩამრთველი + მაგნიტი თავად კარზე
  • საიდუმლო წვდომის გადატვირთვის ღილაკი. გამოიყენება პაროლის გადატვირთვის / ახალი პაროლის შეყვანისთვის / ახალი გასაღების / კომბინაციის დასამახსოვრებლად და ა.შ. შესაძლოა დამალული იყოს სხეულში სადმე
  • სინათლის დიოდიოპერაციის აღსანიშნავად. გამოიყენება RGB LED, წითელი და მწვანე ფერები (შერევისას ისინი ყვითელს ანიჭებენ):
    • მწვანე ჩართულია - საკეტი ღიაა. აანთო, რომ გახსოვდეს კარის დახურვა
    • მყარი ყვითელი - სისტემა გამოფხიზლებულია და ელოდება პაროლს
    • ციმციმებს წითელი - ბატარეის დაბალი დონე

ნებისმიერი ეს ელემენტი შეიძლება გამოირიცხოს სისტემიდან:

  • ჩვენ ვხსნით თრეილერს. პარამეტრებში არსებულ firmware-ში ჩვენ ასევე გამორთეთ (პარამეტრები კუდის_ღილაკი). ახლა საკეტის დახურვისთვის, თქვენ უნდა დააჭიროთ ღილაკს
  • ამოიღეთ გარე ღილაკი. პარამეტრებში არსებულ firmware-ში ჩვენ ასევე გამორთეთ (პარამეტრები wake_ღილაკი). ახლა სისტემას არ სჭირდება გაღვიძება, ის თავისთავად იღვიძებს (ენერგიის მოხმარება ოდნავ მეტია). ასევე, ჩვენ აღარ გვაქვს დახურვის ღილაკი კარის წინა მხარეს და გვჭირდება ლიმიტის შეცვლა. ან ციხე არის ჯანდაბა
  • ჩვენ ვხსნით შიდა ღილაკს. ეს ვარიანტი შესაფერისია კაბინეტებისა და სეიფებისთვის. თქვენ არ გჭირდებათ არაფრის შეცვლა პარამეტრებში.
  • ჩვენ ვხსნით LED- ს. თქვენ არ გჭირდებათ არაფრის შეცვლა პარამეტრებში.
  • წვდომის გადატვირთვის ღილაკი შეიძლება გაიხსნას პირველი გამოყენების შემდეგ, ან შეგიძლიათ გადაწეროთ კოდი თქვენთვის
  • კარი დაკეტილია, დაჭერილია OUTSIDE - გაიღვიძეთ, დაელოდეთ პაროლის შეყვანას/RFID ტეგს/ელექტრონულ გასაღებს/თითის ანაბეჭდს
  • კარი დაკეტილია, სისტემამ გაიღვიძა, ელოდება პაროლის შეყვანას. დროის დაყენება შესაძლებელია (დაყენება ძილის_დრო)
  • კარი დაკეტილია, პაროლი/ტეგი/გასაღები შეყვანილია და ა.შ. - გახსენი
  • კარი დახურულია, დაჭერილი INSIDE - ღია
  • კარი ღია, დაჭერილი გარე - დახურვა
  • კარი ღია, დაჭერით INSIDE - დახურვა
  • კარი ღიაა, LIMIT გადამრთველი დაჭერილია - დახურვა

საკეტი შექმნილია იმისთვის, რომ იმუშაოს ბატარეის ენერგიაზე დაბალი ენერგიის დაზოგვის რეჟიმში (ჩართეთ გამორთვა: პარამეტრი ძილის_ჩართვა), კერძოდ:

  • გაიღვიძეთ ყოველ რამდენიმე წამში, მიჰყევით EVENT-ს (სურვილისამებრ, თუ გარეთ ღილაკი არ არის. შეგიძლიათ ჩართოთ პარამეტრებში wake_ღილაკი)
  • აკონტროლეთ ბატარეის ძაბვა ყოველ რამდენიმე წუთში (ჩართვა/გამორთვის პარამეტრი ბატარეის_მონიტორი)
  • თუ ბატარეა დაცლილია (ძაბვა დაყენებულია პარამეტრში bat_low):
    • გახსენით კარი (სურვილისამებრ, შეიძლება კონფიგურირებული იყოს firmware-ში open_bat_low)
    • აკრძალოს შემდგომი გახსნა და დახურვა
    • ციმციმებს წითელი LED ღილაკზე დაჭერისას
    • შეაჩერე EVENT-ის თვალყურის დევნება (მაგ. პაროლის შეყვანა/ლეიბლი და ა.შ.)

როდესაც სისტემა გამოფხიზლებულია, დააჭირეთ პაროლის შეცვლას (დამალული ღილაკი). ჩავვარდებით პაროლის შეცვლის რეჟიმი:
შეიყვანეთ პაროლი ნომრებიდან ( მაქსიმუმ 10 ნომერი!!!)

  • როდესაც დააჭირეთ *, პაროლი იწერება მეხსიერებაში და სისტემა გამოდის პაროლის შეცვლაზე
  • როდესაც დააჭირეთ #-ს, პაროლი აღდგება (შეგიძლიათ ხელახლა შეიყვანოთ)
  • თუ 10 წამის განმავლობაში არაფერს დააჭერთ, ჩვენ ავტომატურად გამოვალთ პაროლის შეცვლის რეჟიმიდან, პაროლი ძველად დარჩება.

როდესაც სისტემა არ სძინავს (გაიღვიძეთ ღილაკით ან ძილის რეჟიმი გამორთულია), პაროლის შეყვანის რეჟიმში შესასვლელად დააჭირეთ ღილაკს *
თუ სისტემა იძინებს და პერიოდულად იღვიძებს EVENT-ის შესამოწმებლად, დააჭირეთ ღილაკს * და გააჩერეთ სანამ წითელი LED არ აანთებს
პაროლის შეყვანის რეჟიმი:

  • პაროლის დამუშავება ხდება ისე, რომ სწორი პაროლი ითვლება მხოლოდ რიცხვების სწორი თანმიმდევრობის შეყვანისას, ანუ თუ პაროლი არის 345, მაშინ შეგიძლიათ შეიყვანოთ ნებისმიერი რიცხვი მანამ, სანამ არ გამოჩნდება რიგითი 345, ე.ი. 30984570345 გახსნის საკეტს, რადგან ის მთავრდება 345-ში.
  • თუ პაროლი სწორია, კარი გაიხსნება
  • თუ არაფერს დააჭერთ, 10 წამის შემდეგ სისტემა უბრუნდება ნორმალურ (ლოდინის) რეჟიმში
  • თუ დააჭერთ #-ს, მაშინვე გამოვალთ პაროლის შეყვანის რეჟიმიდან
  • თუ პაროლის შეყვანის რეჟიმში პაროლის შესაცვლელად დააჭერთ საიდუმლო ღილაკს, მაშინ ჩვენც გამოვალთ

კოტეჯი ჩემთვის, ისევე როგორც მათი უმეტესობის მქონეთა, ასოცირდება სიტყვებთან: დასვენება, მწვადი, კომფორტი და სხვა მოძრაობები, რომლებიც სასიამოვნოა სულისა და სხეულისთვის, მაგრამ ასევე არის უარყოფითი მხარე: ბაღი, გათხრა, შეკეთება, მშენებლობა. და ა.შ.

10 წელია მე და ჩემი ოჯახი ვცდილობთ გავაკეთილშობილოოთ და შეგვექმნა მაქსიმალური კომფორტი ჩვენს აგარაკზე. ვაშენებთ, ვაკეთებთ და ა.შ. სახლი, ბეღელი, აბაზანა... და ბოლოს მივიდა ქუჩის გალავანთან, ჭიშკართან და ჭიშკართან. გააკეთეთ ეს სინდისით, ბიუჯეტით და მოხერხებულობით.

ზოგიერთი დეტალის განხილვის შემდეგ, გადაწყდა, რომ კარიბჭე უნდა იყოს ავტომატური და კარიბჭეს უნდა ჰქონდეს გარკვეული ACS თვისებები. ჭიშკართან საკითხი მოგვარდა ავტომატიზაციის ნაკრების შეძენით (ამძრავი, სარკინიგზო, დისტანციური მართვა და ა.შ.), ხოლო ჭიშკართან საჭირო იყო გარკვეული პრობლემების გადაჭრა, მათ შესახებ ქვემოთ.

დავალებები იყო შემდეგი:

  1. საკეტს უნდა ემუშავა ადრე დაყენებულ ვიდეო ინტერკომთან ერთად (გააღე კარი სახლიდან გაუსვლელად)
  2. შეეძლოს კარის გაღება ჩვეულებრივი გასაღებით და გასაღების გარეშე ქუჩიდან და ეზოდან.
  3. შეინახეთ დარჩენილი ბიუჯეტის ფარგლებში 5000 რ-მდე.

Runet-ში ძიებამ წარმოადგინა შემდეგი ფასების დიაპაზონი 7000-დან უსასრულობამდე. მზა ხსნარის შეძენა გაქრა და ფართო შესაძლებლობების მქონე ალტერნატივა მოიფიქრა, კერძოდ, კარი თავად გაჭრა!

გარკვეული გათვლებისა და გამოთვლების შემდეგ, გადაწყდა ელექტრომექანიკური საკეტის ყიდვა დაახლოებით 2000 რუბლამდე, წყალგაუმტარი კლავიატურა 350 რუბლამდე და MK, რომელიც აქ იმართება. მას შემდეგ, რაც იყო რამდენიმე არდუინოს ნანო დაფა, რელე და ფხვიერი ნაწილი და რამდენიმე მავთული, მზა ნაკრების ღირებულებას შორის სხვაობა იყო 4000 ტრზე მეტი. ჩემთვის დიდი ბონუსი საფულისა და თვითგანვითარებისთვის.

კარგი, ახლა სიტყვებიდან მოქმედებამდე:

ყველა საჭირო კომპონენტის შეძენის შემდეგ დავიწყე დანახვა.

კლავიატურის კავშირის დიაგრამა

პანელის LED-ების (თეთრი, მწვანე, წითელი) დამატებითი მითითება კლავიატურის სიგნალებით (შეყვანა, სწორი პაროლი კარის გასაღებად, უარყოფილია).

  • pin 9 ყვითელი
  • pin 10 მწვანე
  • pin 11 წითელი

პლექსიგლასის პანელი (გრილი), დაჭრილი შოკოლადის კოლოფში და გაიღიმეთ ოფისის მეზობლებს. მაგრამ ყველაზე პატარა საჭრელი ცოტა მსუქანი აღმოჩნდა, ნემსის ფაილით მომიწია მუშაობა.

აბა, ეს შაბათ-კვირაა, წავედი ქვეყანაში.

ელექტრომექანიკური საკეტის გასახსნელად საჭიროა 12 ვოლტი. MK-ის მიმწოდებელი ელექტრომომარაგება იყო 5 ვოლტი, გადაწყვეტილება იყო საკეტისთვის ზეციდან dc-dc გამაძლიერებელი გადამყვანის დაყენება. შევაერთე ყველაფერი და დავიწყე შემოწმება, მუშაობს, მაგრამ როცა ძაბვა დადგა საკეტის სოლენოიდზე, დუნია გადაიტვირთა, მოკლე დენის წყაროსთან. უფრო მეტიც, ზარის პანელის ვიდეო ინტერკომიდან საკეტთან დაკავშირების შემდეგ, როდესაც დააჭერთ ღილაკს კარის გასაღებად, არაფერი მომხდარა, მცირე დენი საკეტს. ახალი მავთულის გაყვანა არ არის გამოსავალი, სახლიდან გასასვლელში უკვე დაბეტონებული იყო. გადავწყვიტე პანელისთვის კიდევ ერთი რელე დამემატებინა და დამატებითი 12 ვ დენის მიწოდება. ციხისთვის. ანალიზის / შეგროვების შემდეგ, ყველაფერი მუშაობდა, MK-მ შეწყვიტა გადატვირთვა. მე მთლიანად დავმალე წყალგაუმტარი შეერთების ყუთში, დავმალე მავთულები, წებო, სილიკონი და დამთავრდა!

დღევანდელი გაკვეთილი არის იმის შესახებ, თუ როგორ გამოვიყენოთ RFID წამკითხველი Arduino-სთან ერთად მარტივი საკეტის სისტემის შესაქმნელად, მარტივი სიტყვებით - RFID საკეტი.

RFID (ინგლისური რადიო სიხშირის იდენტიფიკაცია, რადიოსიხშირული იდენტიფიკაცია) არის ობიექტების ავტომატური იდენტიფიკაციის მეთოდი, რომლის დროსაც ეგრეთ წოდებულ ტრანსპონდერებში ან RFID ტეგებში შენახული მონაცემები იკითხება ან იწერება რადიოსიგნალების გამოყენებით. ნებისმიერი RFID სისტემა შედგება წამკითხველისგან (მკითხველი, მკითხველი ან გამომძიებელი) და ტრანსპონდერი (aka RFID tag, ზოგჯერ გამოიყენება ტერმინი RFID tag).

გაკვეთილი გამოიყენებს RFID ტეგს Arduino-სთან ერთად. მოწყობილობა კითხულობს თითოეული RFID ტეგის უნიკალურ იდენტიფიკატორს (UID), რომელსაც ჩვენ ვდებთ მკითხველის გვერდით და აჩვენებს მას OLED ეკრანზე. თუ ტეგის UID უდრის წინასწარ განსაზღვრულ მნიშვნელობას, რომელიც ინახება Arduino-ს მეხსიერებაში, მაშინ ჩვენ ეკრანზე დავინახავთ შეტყობინებას „განბლოკილია“. თუ უნიკალური იდენტიფიკატორი არ არის წინასწარ განსაზღვრული მნიშვნელობის ტოლი, შეტყობინება "განბლოკილია" არ გამოჩნდება - იხილეთ სურათი ქვემოთ.

ციხე დაკეტილია

ციხე ღიაა

ამ პროექტის შესაქმნელად საჭირო დეტალები:

  • RFID მკითხველი RC522
  • OLED დისპლეი
  • პურის დაფა
  • მავთულები

Დამატებითი დეტალები:

  • ბატარეა (Power Bank)

პროექტის კომპონენტების ჯამური ღირებულება იყო დაახლოებით $15.

ნაბიჯი 2: RFID Reader RC522

თითოეულ RFID ტეგს აქვს პატარა ჩიპი (თეთრი ბარათი ფოტოზე). თუ ფანარს მიმართავთ ამ RFID ბარათს, შეგიძლიათ იხილოთ პატარა ჩიპი და ხვეული, რომელიც მას გარს აკრავს. ამ ჩიპს არ აქვს ბატარეა ენერგიის გამომუშავებისთვის. იგი იღებს ენერგიას მკითხველისგან უსადენოდ ამ დიდი ხვეულის გამოყენებით. ასეთი RFID ბარათის წაკითხვა შესაძლებელია 20 მმ-მდე.

იგივე ჩიპი არსებობს RFID key fob ტეგებში.

თითოეულ RFID ტეგს აქვს უნიკალური ნომერი, რომელიც განსაზღვრავს მას. ეს არის UID, რომელიც ნაჩვენებია OLED ეკრანზე. ამ UID-ის გარდა, თითოეულ ტეგს შეუძლია მონაცემების შენახვა. ამ ტიპის ბარათს შეუძლია 1000-მდე მონაცემების შენახვა. შთამბეჭდავია, არა? ეს ფუნქცია დღეს არ იქნება გამოყენებული. დღეს მხოლოდ საინტერესოა კონკრეტული ბარათის იდენტიფიკაცია მისი UID-ით. RFID მკითხველი და ეს ორი RFID ბარათი დაახლოებით $4 ღირს.

ნაბიჯი 3OLED ეკრანი

სახელმძღვანელო იყენებს 0.96" 128x64 I2C OLED მონიტორს.

ეს არის ძალიან კარგი დისპლეი Arduino-სთან გამოსაყენებლად. ეს არის OLED დისპლეი და ეს ნიშნავს, რომ მას აქვს დაბალი ენერგიის მოხმარება. ამ დისპლეის ენერგიის მოხმარება არის დაახლოებით 10-20 mA და ეს დამოკიდებულია პიქსელების რაოდენობაზე.

ეკრანს აქვს გარჩევადობა 128 x 64 პიქსელი და არის პატარა ზომის. ჩვენების ორი ვარიანტია. ერთი მათგანი მონოქრომულია, ხოლო მეორე, ისევე როგორც სახელმძღვანელოში გამოყენებული, შეუძლია აჩვენოს ორი ფერი: ყვითელი და ლურჯი. ეკრანის ზედა ნაწილი შეიძლება იყოს მხოლოდ ყვითელი და ქვედა ლურჯი.

ეს OLED დისპლეი ძალიან კაშკაშაა და აქვს შესანიშნავი და ძალიან ლამაზი ბიბლიოთეკა, რომელიც Adafruit-მა შექმნა ამ ეკრანისთვის. გარდა ამისა, ეკრანი იყენებს I2C ინტერფეისს, ამიტომ Arduino-სთან დაკავშირება წარმოუდგენლად მარტივია.

თქვენ მხოლოდ უნდა დააკავშიროთ ორი მავთული, გარდა Vcc და GND. თუ თქვენ ახალი ხართ Arduino-ში და გსურთ გამოიყენოთ იაფი და მარტივი ეკრანი თქვენს პროექტში, დაიწყეთ აქედან.

ნაბიჯი 4: ყველა ნაწილის შეთავსება

Arduino Uno დაფასთან კომუნიკაცია ძალიან მარტივია. პირველ რიგში, შეაერთეთ დენი როგორც მკითხველს, ასევე ეკრანს.

ფრთხილად იყავით, RFID მკითხველი უნდა იყოს დაკავშირებული Arduino Uno-ს 3.3 ვ გამომავალზე, წინააღმდეგ შემთხვევაში ის დაზიანდება.

ვინაიდან დისპლეი ასევე შეიძლება იმუშაოს 3.3 ვ-ზე, ჩვენ ვუკავშირდებით VCC-ს ორივე მოდულიდან პოზიტიურ პურის დაფის ლიანდაგზე. ეს ლიანდაგი შემდეგ უკავშირდება 3.3 ვ გამომავალს Arduino Uno-დან. შემდეგ ჩვენ ვუკავშირდებით ორივე საფუძველი (GND) breadboard ადგილზე ავტობუსს. შემდეგ ჩვენ ვუერთებთ პურის დაფის GND ავტობუსს Arduino GND-ს.

OLED ეკრანი → Arduino

SCL → ანალოგური პინი 5

SDA → ანალოგური პინი 4

RFID Reader → Arduino

RST → ციფრული პინი 9

IRQ → არ არის დაკავშირებული

MISO → ციფრული პინი 12

MOSI → ციფრული პინი 11

SCK → ციფრული პინი 13

SDA → ციფრული პინი 10

RFID მკითხველის მოდული იყენებს SPI ინტერფეისს Arduino-სთან კომუნიკაციისთვის. ასე რომ, ჩვენ ვაპირებთ გამოვიყენოთ Arduino UNO ტექნიკის SPI ქინძისთავები.

RST პინი მიდის ციფრულ პინზე 9. IRQ პინი რჩება გათიშული. MISO პინი მიდის ციფრულ პინ 12-ზე. MOSI პინი მიდის ციფრულ პინზე 11. SCK პინი მიდის ციფრულ პინ 13-ზე და ბოლოს SDA პინი მიდის ციფრულ პინ 10-ზე. ეს არის ის.

დაკავშირებულია RFID მკითხველი. ახლა ჩვენ უნდა დავუკავშიროთ OLED დისპლეი Arduino-ს I2C ინტერფეისის გამოყენებით. ასე რომ, ეკრანზე SCL პინი გადადის ანალოგურ პინ 5-ზე და SDA ეკრანზე ანალოგურ პინ 4-ზე. თუ ახლა ჩავრთავთ პროექტს და მოვათავსებთ RFID ბარათს მკითხველის გვერდით, დავინახავთ, რომ პროექტი კარგად მუშაობს.

ნაბიჯი 5: პროექტის კოდი

იმისთვის, რომ პროექტის კოდი შედგენილი იყოს, უნდა ჩავრთოთ რამდენიმე ბიბლიოთეკა. უპირველეს ყოვლისა, ჩვენ გვჭირდება MFRC522 Rfid ბიბლიოთეკა.

მის დასაყენებლად გადადით ჩანახატი -> ბიბლიოთეკების ჩართვა -> ბიბლიოთეკების მართვა(ბიბლიოთეკების მართვა). იპოვეთ MFRC522 და დააინსტალირეთ.

ჩვენ ასევე გვჭირდება Adafruit SSD1306 ბიბლიოთეკა და Adafruit GFX ბიბლიოთეკა ჩვენებისთვის.

დააინსტალირეთ ორივე ბიბლიოთეკა. Adafruit SSD1306 ბიბლიოთეკას მცირე მოდიფიკაცია სჭირდება. გადადით საქაღალდეში Arduino -> ბიბლიოთეკებიგახსენით Adafruit SSD1306 საქაღალდე და შეცვალეთ ბიბლიოთეკა Adafruit_SSD1306.h. დაწერეთ კომენტარი 70-ე სტრიქონზე და გააუქმეთ კომენტარი 69-ე სტრიქონზე, რადგან ეკრანის გარჩევადობაა 128x64.

პირველ რიგში, ჩვენ ვაცხადებთ RFID ტეგის მნიშვნელობას, რომელიც არდუინომ უნდა აღიაროს. ეს არის მთელი რიცხვების მასივი:

int კოდი = (69,141,8,136); // UID

შემდეგ ჩვენ ვაწარმოებთ RFID წამკითხველს და ვაჩვენებთ:

Rfid.PCD_Init(); display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

ამის შემდეგ, მარყუჟის ფუნქციაში, ჩვენ ვამოწმებთ ტეგს მკითხველზე ყოველ 100 ms.

თუ მკითხველს აქვს ტეგი, ჩვენ ვკითხულობთ მის UID-ს და ვბეჭდავთ მას ეკრანზე. შემდეგ ჩვენ შევადარებთ იმ ტეგის UID-ს, რომელიც ახლახან წავიკითხეთ, კოდის ცვლადში შენახულ მნიშვნელობას. თუ მნიშვნელობები იგივეა, ჩვენ ვაჩვენებთ UNLOCK შეტყობინებას, წინააღმდეგ შემთხვევაში ჩვენ არ გამოვაჩენთ ამ შეტყობინებას.

If(match) ( Serial.println("\nმე ვიცი ეს ბარათი!"); printUnlockMessage(); )else ( Serial.println("\nუცნობი ბარათი"); )

რა თქმა უნდა, თქვენ შეგიძლიათ შეცვალოთ ეს კოდი 1-ზე მეტი UID მნიშვნელობის შესანახად, რათა პროექტმა ამოიცნოს მეტი RFID ტეგი. ეს მხოლოდ მაგალითია.

პროექტის კოდი:

#შეიცავს #შეიცავს #შეიცავს #შეიცავს #define OLED_RESET 4 Adafruit_SSD1306 დისპლეი(OLED_RESET); #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); // კლასის MFRC522::MIFARE_Key გასაღები; int კოდი = (69,141,8,136); //ეს არის შენახული UID int codeRead = 0; სიმებიანი uidString; void setup() ( Serial.begin(9600); SPI.begin(); // Init SPI bus rfid.PCD_Init(); // Init MFRC522 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // ინიციალიზაცია I2C დამამატებლით 0x3D (128x64-ისთვის) // ბუფერის გასუფთავება display.setTextSize(2); display.setCursor(10,0); display.print ("RFID Lock"); display.display(); ) void loop() ( if(rfid.PICC_IsNewCardPresent()) ( readRFID(); ) delay(100); ) void readRFID() (rfid.PICC_ReadCardSerial(); Serial.print(F("\nPICC ტიპი: ") ); MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.println(rfid.PICC_GetTypeName(piccType)); // შეამოწმეთ არის კლასიკური MIFARC ტიპის PICC, თუ (piccTY5:MIN_PEIFPE! && piccType != MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K) ( Serial.println(F("თქვენი ტეგი არ არის ტიპის MIFARE Classic.")); დაბრუნება; ) clearUIDl(); სკანირებული PICC-ის UID:"); printDec(rfid.uid.uidByte, rfid.uid.size); uidString = String(rfid.uid.uidByte)+" "+String(rfid.uid.uidByte)+" "+ String(rfid.uid.uidByte)+ " "+String(rfid.uid.uidByte); printUID(); int i = 0; ლოგიკური შესატყვისი = true; while(i

ნაბიჯი 6: საბოლოო შედეგი

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

youtube არხის "AlexGyver"-ის წამყვანს სთხოვეს ელექტრონული საკეტის დამზადება საკუთარი ხელით. კეთილი იყოს თქვენი მობრძანება ვიდეო ციკლში ელექტრონული საკეტების შესახებ arduino-ზე. ზოგადად, ოსტატი განმარტავს იდეას.

ელექტრონული საკეტის სისტემის შექმნის რამდენიმე ვარიანტი არსებობს. ყველაზე ხშირად გამოიყენება კარების და უჯრების, კარადების ჩაკეტვა. ასევე სამალავი ადგილების და საიდუმლო სეიფების შექმნა. ამიტომ, თქვენ უნდა გააკეთოთ განლაგება, რომლითაც მოსახერხებელია მუშაობა და შეგიძლიათ ნათლად და დეტალურად აჩვენოთ სისტემის სტრუქტურა შიგნიდან და გარედან. ამიტომ, გადავწყვიტე კარებით ჩარჩოს გაკეთება. ამისათვის საჭიროა კვადრატული ბარი 30 x 30. პლაივუდი 10 მმ. კარის საკინძები. თავიდან პლაივუდის ყუთის გაკეთება მინდოდა, მაგრამ გამახსენდა, რომ ოთახში ყველაფერი სათადარიგო ნაწილებით იყო სავსე. ასეთი ყუთი არსად არის. ამიტომ, განლაგება მოხდება. თუ ვინმეს სურს დააყენოს საკუთარი თავის ელექტრონული საკეტი, შემდეგ კი განლაგების დათვალიერებისას, შეგიძლიათ მარტივად გაიმეოროთ ყველაფერი.

ამ ჩინურ მაღაზიაში შეგიძლიათ იპოვოთ ყველაფერი, რაც გჭირდებათ ციხესიმაგრისთვის.

მიზანი არის ელექტრონული საკეტებისთვის ყველაზე ეფექტური სქემებისა და პროგრამული უზრუნველყოფის შემუშავება. თქვენ შეძლებთ ამ შედეგების გამოყენებას, რომ დააინსტალიროთ ეს სისტემები თქვენს კარებზე, უჯრებზე, კარადებსა და სამალავებზე.

კარი მზად არის. ახლა თქვენ უნდა გაერკვნენ, თუ როგორ უნდა გახსნათ და დახუროთ ელექტრონულად. ამ მიზნებისათვის შესაფერისია ალიექსპრესის ძლიერი სოლენოიდის ჩამკეტი (ზემოთ მაღაზიის ბმული). თუ ტერმინალებზე ძაბვას მიმართავთ, ის გაიხსნება. კოჭის წინააღმდეგობა თითქმის 12 ohms-ია, რაც ნიშნავს, რომ 12 ვოლტის ძაბვისას კოჭა შეჭამს დაახლოებით 1 ამპერს. ლითიუმის ბატარეა და გამაძლიერებელი მოდული გაუმკლავდება ამ ამოცანას. ვარეგულირებთ შესაბამის ძაბვას. თუმცა შესაძლოა ცოტა მეტიც. ჩამკეტი მიმაგრებულია კარის შიგნიდან მანძილზე ისე, რომ მან არ დაიჭიროს კიდე და შეძლოს დაკეტვა. Heck უნდა იყოს კოლეგა სახით ლითონის ყუთი. მის გარეშე გამოყენება არასასიამოვნო და არასწორია. ჩვენ მოგვიწევს ნაბიჯის გადადგმა, ყოველ შემთხვევაში შევქმნათ ნორმალური მუშაობის სახე.

უსაქმურ რეჟიმში ჩამკეტი ნორმალურად იხსნება, ანუ თუ კარზე სახელურია, იმპულსს ვაძლევთ, კარს სახელურით ვაღებთ. მაგრამ თუ თქვენ მას გაზაფხულზე, ეს მეთოდი აღარ არის შესაფერისი. გამაძლიერებელი გადამყვანი ვერ უმკლავდება დატვირთვას. ზამბარით დატვირთული კარის გასაღებად მოგიწევთ უფრო დიდი ბატარეების და უფრო ძლიერი გადამყვანის გამოყენება. ან ელექტროენერგიის მიწოდება და სისტემის ავტონომიის ნიშანი. ჩინურ მაღაზიებში არის დიდი ზომის ჯიშები. ისინი ჯდება ყუთებში. ელექტროენერგიის მიწოდება შესაძლებელია რელეს ან მოსფეტის ტრანზისტორის ან იმავე ტრანზისტორის დენის ჩამრთველის გამოყენებით. უფრო საინტერესო და ნაკლებად ძვირი ვარიანტია სერვო, რომელიც დაკავშირებულია დამაკავშირებელ ღეროსთან ნებისმიერი საკეტის ელემენტით - ჩამკეტი ან უფრო სერიოზული სარქველი. მას ასევე შეიძლება დასჭირდეს ფოლადის ქსოვის ნემსი, რომელიც მოქმედებს როგორც დამაკავშირებელი ღერო. ასეთ სისტემას დიდი დენი არ სჭირდება. მაგრამ ის მეტ ადგილს იკავებს და უფრო მზაკვრულ კონტროლის ლოგიკას.

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

მეორე ნაწილი

წარმოგიდგენთ კარის საკეტს, რომელსაც აკონტროლებს RF გასაღები.

საკეტი მუშაობს ასე: Bring OUR გასაღები (RFID tag) - საკეტი დახურულია, გასაღები ისევ მოიტანეთ - საკეტი იხსნება. საკეტის მუშაობის ვიზუალიზაციისთვის გამოყენებული იქნა ექვსი ორი ფერის LED (ხაზი). დახურვისას - გადის წითელ შუქზე, გახსნისას - მწვანე. თუ თქვენ მოიტანეთ ALIEN-ის გასაღები, წითელი LED-ები აანთებენ.

როგორც აქტივატორი, გადავწყვიტე გამომეყენებინა მანქანის ცენტრალური საკეტი. ახლის ყიდვა შეგიძლია, ისარგებლო, ფასში სხვაობა დიდი არ არის, ამიტომ ახალი გამოვიყენე, უფრო სანდოა. ჩამკეტთან დაკავშირებული წამყვანი ღერო. ჩამკეტი ჯერ კიდევ საბჭოთა, ძლიერია. და არც მჭირდება ძლიერი „ანტივანდალიზმი“.

"მანქანა" კონტროლდება ორი მავთულით. ერთი პოლარობა აგრძელებს ღეროს, საპირისპირო პოლარობა აბრუნებს ღეროს. 12 ვოლტის ძაბვის დროს, დენი არის 6 ამპერი, ბევრი ...
"მანქანას" არ აქვს ლიმიტის გადამრთველები.

გამომდინარე იქიდან, რომ საკეტის წრედს (როგორც დაგეგმილია) აქვს გარანტირებული კვების წყარო, 12 ვოლტიანი ბატარეა, საკეტის მუშაობის უზრუნველსაყოფად, ~ 220-ის დაკარგვის შემთხვევაში. შეიმუშავა ხიდის მართვის სქემა „მანქანისთვის“. მიკროსქემის განსაკუთრებული თვისებაა მისი არაწრფივიობა, რაც უზრუნველყოფს საკეტის მექანიზმის საიმედო მუშაობას და ამავე დროს - "მანქანის" და გასაღების ტრანზისტორების ეკონომიურ მუშაობას.

დიაგრამაზე (ზემოთ) წითლად არის მონიშნული "დახურვა", ხოლო მწვანეში მონიშნულია "ღია". იარაღები იკვებება ცალკე, რეზისტორების მეშვეობით (მდებარეობს ელექტრომომარაგებაში). ხიდის მხრების ელექტრომომარაგების გამოყოფა, დანერგილი ცრუ პოზიტივის აღმოსაფხვრელად.

ახსნა: 33 ომიანი რეზისტორების მეშვეობით (ელექტრომომარაგების წრეზე) 12 ვოლტის ძაბვა მუხტავს კონდენსატორებს (2000 მიკროფარადი, თითოეულ მკლავში). როდესაც საკონტროლო ძაბვა მიიღება Arduino_ProMini-დან 168 "დახურვის" შეყვანამდე (ან "გახსნის" მსგავსად), PVT322 ოპტოკუპლერის მეშვეობით - იხსნება შესაბამისი გასაღების მკლავი. ამ შემთხვევაში ხდება შემდეგი: გასაღებების გახსნის მომენტში, კონდენსატორებიდან მიღებული ენერგია მძლავრად „იზიდავს“ „მანქანის“ ძრავას. კონდენსატორების გამორთვისას (ეს ხდება სწრაფად), "მანქანის" ძრავა იკვებება რეზისტორებით შეზღუდული დენით (33 ohms). ამის გამო საკეტის „დახურვის“ - „გახსნის“ პროცესის ბოლოს ღერო საკმაოდ ნელა მოძრაობს.

ძრავის მართვის ეს გზა ოპტიმალურია.

ტრანსფორმატორის ელექტრომომარაგების წრე. ზოგადად, საკეტის წრე იკვებება 12 ვოლტიანი, 2.8-A/H ბატარეით. და ელექტრომომარაგების წრე ინარჩუნებს ბატარეას ნომინალურ დონეზე. "ქსელის" LED მიუთითებს ელექტრომომარაგების ნორმალურ მუშაობაზე.

ყველა დიოდი არის 1N4007 (დამავიწყდა დიაგრამაზე მითითება, მაგრამ პირმა დაისვა კითხვა - რომელი?).

(1) აწყობილია მაქსიმალური დენის შემზღუდველი. რეზისტორი R 1 ზედა დენის ბარიერი დაყენებულია 300 mA-ზე.
ინტეგრალურ სტაბილიზატორზე LM317 (2) აწყობილი ძაბვის რეგულატორი. სტაბილიზაციის ძაბვა რეგულირდება რეზისტორით2 . ბატარეის ძაბვა უნდა იყოს 13.7 ვოლტი.

ბატარეიდან ძაბვა მიეწოდება სამ წერტილს.
რეზისტორების მეშვეობით (თითოეული 33 ohms) (X), (Y) - ელექტრომომარაგება "მანქანის" ძრავის "მძღოლის" კლავიშების მხრებზე.

ჩემი მოწყობილობების უმეტესობას ვაგროვებ, რაც ხელთ მომივიდა. ეს პროექტი არ არის გამონაკლისი. როგორც შემთხვევა მე ვიყენებ ქეისს :) ელექტრონული ბალასტიდან:

LED-ები No-2 ... No.-7 - ორფერი. რიგში არიან. გამოიყენება საკეტის "გახსნის" და "დახურვის" პროცესების ვიზუალიზაციისთვის. გაფორმება.