ARDUINO UNO RFID WINDOWS 10 გახსნა: 5 ნაბიჯი
ARDUINO UNO RFID WINDOWS 10 გახსნა: 5 ნაბიჯი
Anonim
Image
Image

Windows 10 -ის განბლოკვა პასით ან პინით დაცული არდუინოს და RFID ბარათის დახმარებით.

ამ წვრილმანი პროექტის იდეა მარტივია. ჩვენ გვჭირდება HID- ის მქონე მოწყობილობა, RFID ბარათი და მკითხველი. როდესაც arduino კითხულობს RFID ბარათს და ID იგივეა რაც ჩვენ შევიყვანეთ, ის აჭერს ღილაკების (პაროლის) სწორ კომბინაციას და შემდეგ აჭერს enter- ს.

მარაგები

UNO R3 ATMEGA328P

RFID RC522

40PC 10CM DUPONT მამაკაცი მამაკაცის გადასასვლელად

ნაბიჯი 1: პროგრამული უზრუნველყოფა

ARDUINO IDE

FLIP 3.4.7

RFID_MODIFY_CODE. INO

USB კლავიატურის სამაგისტრო

ნაბიჯი 2: კოდი

ატვირთეთ კოდი

კოდის კრედიტი გადადის AKASH124- ზე

#მოიცავს #მოიცავს #განსაზღვრა SS_PIN 10 #განსაზღვრეთ RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // შექმენით MFRC522 მაგალითი.

uint8_t buf [8] = {0}; / * კლავიატურის ანგარიშის ბუფერი */

int cardCount = 0; void setup () {Serial.begin (9600); randomSeed (analogRead (0)); დაგვიანება (200); SPI. დასაწყისი (); // დაიწყოს SPI ავტობუსი mfrc522. PCD_Init (); // ინიცირება MFRC522

} void loop () {// მოძებნეთ ახალი ბარათები, თუ (! mfrc522. PICC_IsNewCardPresent ()) {დაბრუნდება; } // აირჩიეთ ერთი ბარათი, თუ (! Mfrc522. PICC_ReadCardSerial ()) {დაბრუნდება; } // სერიული მონიტორის UID ჩვენება სიმებიანი შინაარსი = ""; ბაიტის წერილი; for (byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (სიმებიანი (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (სიმებიანი (mfrc522.uid.uidByte , HEX)); } content.toUpperCase (); if (content.substring (1) == "10 4B 58 7E", "30 F1 CA 80") // აქ შეცვალეთ ბარათი/ბარათების UID, რომელზეც გსურთ წვდომა {დაგვიანება (50);

დაგვიანება (100);

buf [0] = 0; buf [2] = 0x26; // წერილი 9 Serial.write (buf, 8); releaseKey ();

დაგვიანება (200);

buf [0] = 0; buf [2] = 0x28; // წერილი შეიყვანეთ Serial.write (buf, 8); releaseKey ();

დაგვიანება (900);

cardCount ++; } სხვა {დაბრუნება; }

if (cardCount = 1) {დაგვიანებით (50);

buf [0] = 0; // Win buf [2] = 0x28; // წერილი შეიყვანეთ Serial.write (buf, 8); releaseKey ();

დაგვიანება (50);

buf [0] = 0; buf [2] = 0x52; // წერილი Up Serial.write (buf, 8); releaseKey ();

დაგვიანება (50);

buf [0] = 0; buf [2] = 0x52; // წერილი Up Serial.write (buf, 8); releaseKey ();

დაგვიანება (50);

buf [0] = 0; buf [2] = 0x28; // წერილი შეიყვანეთ Serial.write (buf, 8); releaseKey ();

დაგვიანება (50);

buf [0] = 0; buf [2] = 0x28; // წერილი შეიყვანეთ Serial.write (buf, 8); releaseKey ();

cardCount--; }}

void releaseKey () {buf [0] = 0; buf [2] = 0; Serial.write (buf, 8); // გამოშვების გასაღები}

ნაბიჯი 3: (დეტალები)

შეცვალეთ კოდის ეს ნაწილი იმ გასაღებებზე, რომელთა დაჭერაც გსურთ.

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

buf [0] = 0; buf [2] = 0x26; // წერილი 9 Serial.write (buf, 8); releaseKey ();

დაგვიანება (200);

შეცვალეთ პირადობის მოწმობა ბარათის, ბეჭდის ან საგნის ID- ზე, რომლის გამოყენებაც გსურთ

content.toUpperCase (); if (content.substring (1) == "10 4B 58 7E", "30 F1 CA 80") // აქ შეცვალეთ ბარათი/ბარათების UID, რომელზეც გსურთ წვდომა {დაგვიანება (50);

ნაბიჯი 4: ფარული სერია კლავიატურაზე

შეაერთეთ 2 ქინძისთავი, როგორც სურათზე ჩანს 1 წამის განმავლობაში

გაუშვით Flip 3.4.7 ფაილი -> გახსენით USBKeyboard -master / firmware / Arduino -keyboard -0.3.hexDevice -> აირჩიეთ -> Atmega16u2 (ან თქვენი ჩიპი) პარამეტრები -> კომუნიკაცია -> usbRun

ნაბიჯი 5: შესრულებულია

გადატვირთეთ და გამოცადეთ

გათიშეთ და შეაერთეთ Arduino usbTest txt ფაილზე ან ჩაკეტეთ კომპიუტერი (win key + l) ისიამოვნეთ

პროექტი შეგიძლიათ იხილოთ აქ

გირჩევთ: