Բովանդակություն:

Arduino RFID կողպեքի ձեռնարկ. 6 քայլ (նկարներով)
Arduino RFID կողպեքի ձեռնարկ. 6 քայլ (նկարներով)

Video: Arduino RFID կողպեքի ձեռնարկ. 6 քայլ (նկարներով)

Video: Arduino RFID կողպեքի ձեռնարկ. 6 քայլ (նկարներով)
Video: Электронный замок с RFID на Arduino 2024, Նոյեմբեր
Anonim
Image
Image
Arduino RFID կողպեքի ձեռնարկ
Arduino RFID կողպեքի ձեռնարկ
Arduino RFID կողպեքի ձեռնարկ
Arduino RFID կողպեքի ձեռնարկ

Հարգելի ընկերներ, բարի գալուստ մեկ այլ Ուսուցիչ: Սա Նիկն է Educ8s.tv- ից, և այսօր մենք սովորելու ենք, թե ինչպես օգտագործել այս RFID ընթերցողը Arduino- ի հետ `պարզ կողպեքի համակարգ կառուցելու համար:

Առաջին անգամ մենք պատրաստվում ենք օգտագործել RFID պիտակներ Arduino- ի հետ: Ես կառուցել եմ մի պարզ նախագիծ, որը կարդում է յուրաքանչյուր RFID պիտակի Եզակի ID- ն (UID), որը մենք տեղադրում ենք ընթերցողին մոտ և ցուցադրում այն այս OLED էկրանին: Եթե պիտակի UID- ը հավասար է կանխորոշված արժեքին, որը պահվում է Arduino- ի հիշողության մեջ, ապա էկրանին մենք կտեսնենք «Unlocked» հաղորդագրությունը: Եթե քարտի Եզակի ID- ն հավասար չէ կանխորոշված արժեքին, Բացման հաղորդագրությունը չի երևա: Թույն է, չէ՞

Շատ բան կա ծածկելու, ուստի եկեք սկսենք:

Քայլ 1: Ստացեք բոլոր մասերը

Ստացեք բոլոր մասերը
Ստացեք բոլոր մասերը

Այս նախագծի կառուցման համար անհրաժեշտ մասերն են.

  • An Arduino Uno ▶
  • RFID ընթերցող ▶
  • OLED էկրան ▶
  • Մի փոքրիկ տախտակ ▶
  • Որոշ լարեր ▶

Ընտրովի մասեր.

Powerbank ▶

Րագրի ընդհանուր արժեքը մոտ $ 15 է:

Քայլ 2. RC522 RFID ընթերցող

RC522 RFID ընթերցող
RC522 RFID ընթերցող
RC522 RFID ընթերցող
RC522 RFID ընթերցող
RC522 RFID ընթերցող
RC522 RFID ընթերցող
RC522 RFID ընթերցող
RC522 RFID ընթերցող

Յուրաքանչյուր RFID պիտակի ներսում կա փոքր չիպ: Եթե ես տեղադրեմ լապտեր այս RFID քարտի տակ, կարող եք տեսնել փոքր չիպը և այն շրջապատող կծիկը: Այս չիպը չունի մարտկոց ՝ էներգիա ստանալու համար: Այն ուժ է ստանում ընթերցողից, այս սարքից ՝ անլար օգտագործելով այս մեծ կծիկը: Ընթերցողը կարող է կարդալ այսպիսի RFID քարտ `մինչև 20 մմ հեռավորությունից:

Նույն չիպը կա նաև keychain RFID պիտակների մեջ:

Յուրաքանչյուր RFID պիտակ ունի եզակի համար, որը նույնականացնում է այն: Դա այն UID- ն է, որը մենք ցուցադրում ենք OLED էկրանին: Բացառությամբ այս UID- ի, յուրաքանչյուր պիտակ կարող է պահել տվյալներ: Այս տեսակի քարտերում մենք կարող ենք պահել մինչև 1K տվյալ: Տպավորիչ է, չէ՞ Մենք այսօր չենք օգտագործի այս ֆունկցիոնալությունը, բայց դա կանենք ապագա հրահանգի դեպքում: Այսօր մեզ հետաքրքրում է միայն կոնկրետ քարտի նույնականացումը UID- ի միջոցով: RFID ընթերցողի և այս երկու RFID քարտերի արժեքը մոտ $ 4 է:

Քայլ 3: OLED էկրան

Image
Image
Միացրեք բոլոր մասերը
Միացրեք բոլոր մասերը

Սա շատ գեղեցիկ ցուցադրում է Arduino- ի հետ օգտագործելու համար: Դա OLED էկրան է, և դա նշանակում է, որ այն ունի ցածր էներգիայի սպառում: Այս դիսփլեյի էներգիայի սպառումը մոտ 10-20 մԱ է և կախված է նրանից, թե քանի պիքսել է լուսավորված:

Էկրանի թույլատրելիությունը 128 × 64 պիքսել է և այն փոքր չափերով է: Էկրանի երկու տատանում կա: Նրանցից մեկը մոնոխրոմ է, իսկ մյուսը, ինչպես ես եմ, կարող է ցուցադրել երկու գույն ՝ դեղին և կապույտ: Էկրանի վերին հատվածը կարող է ցուցադրել միայն դեղին գույն, ներքևինը ՝ միայն կապույտ:

Այս OLED էկրանը շատ պայծառ է, և այն ունի գրադարանային մեծ աջակցություն: Այս ցուցադրման համար Adafruit- ը շատ գեղեցիկ գրադարան է մշակել: Բացի այդ, էկրանն օգտագործում է I2C ինտերֆեյսը, ուստի Arduino- ի հետ կապն աներևակայելի հեշտ է: Միայն անհրաժեշտ է միացնել երկու լար, բացառությամբ Vcc- ի և GND- ի: Եթե դուք նորեկ եք Arduino- ում և ցանկանում եք էժան և հեշտ օգտագործման էկրան օգտագործել ձեր նախագծում, սկսեք ցուցադրումից: Դա ձեր Arduino նախագծին ցուցադրում ավելացնելու ամենահեշտ ձևն է: Ես պատրաստել եմ մանրամասն ձեռնարկ, թե ինչպես օգտագործել այս ցուցադրումը, որը կցել եմ սույն Հրահանգին:

Քայլ 4: Միացրեք բոլոր մասերը

Միացրեք բոլոր մասերը
Միացրեք բոլոր մասերը
Միացրեք բոլոր մասերը
Միացրեք բոլոր մասերը
Միացրեք բոլոր մասերը
Միացրեք բոլոր մասերը

Arduino Uno տախտակի հետ կապը շատ պարզ է: Սկզբում եկեք միացնենք ինչպես ընթերցողի, այնպես էլ ցուցադրման հզորությունը:

Beգույշ եղեք, RFID ընթերցողը պետք է միացված լինի Arduino Uno- ի 3.3 Վ ելքին, հակառակ դեպքում այն կկործանվի: Քանի որ դիսփլեյը կարող է աշխատել նաև 3.3 Վ լարման դեպքում, մենք Vcc- ն երկու մոդուլից միացնում ենք գրատախտակի դրական երկաթուղուն: Այս երկաթուղին այնուհետև միացված է Arduino Uno- ի 3.3 Վ ելքին: Հաջորդը, մենք երկու GND- ները միացնում ենք տախտակի GND երկաթուղուն: Հետո մենք միացնում ենք տախտակի GND երկաթուղին Arduino GND- ին:

OLED էկրան - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Անալոգային քորոց 5

SDA ▶ Անալոգային կապ 4

RFID Reader - Arduino

RST ▶ Թվային կապ 9

IRQ ▶ Կապ չկա

MISO ▶ Թվային փին 12

MOSI ▶ Թվային կապիչ 11

SCK ▶ Թվային կապ 13

SDA ▶ Թվային PIN 10

RFID ընթերցողի մոդուլը օգտագործում է SPI ինտերֆեյսը Arduino- ի հետ հաղորդակցվելու համար: Այսպիսով, մենք պատրաստվում ենք օգտագործել Arduino UNO- ի ապարատային SPI կապում: RST կապը անցնում է թվային կապին: IRQ կապը մնում է անկապ: MISO կապը անցնում է թվային կապի 12. MOSI կապը անցնում է թվային կապի 11. SCK- ի քորոցը անցնում է թվային կապի 13 -ի վրա և վերջապես, SDA- ի քորոցը անցնում է թվային քորոցի: Դա այն է: RFID ընթերցողը միացված է: Այժմ մենք պետք է OLED էկրանը միացնենք Arduino- ի հետ ՝ օգտագործելով I2C ինտերֆեյսը: Այսպիսով, ցուցադրման SCL կապն անցնում է Analog Pin 5 -ին, իսկ ցուցադրման SDA- ն ՝ Անալոգային Pin 4 -ին: Եթե մենք այժմ միացնենք նախագիծը և RFID քարտը տեղադրենք ընթերցողին մոտ, ապա կտեսնենք, որ նախագիծը լավ է աշխատում: Այժմ ժամանակն է դիտել նախագծի ծածկագիրը:

Քայլ 5. Նախագծի ծածկագիրը

Րագրի ծածկագիրը
Րագրի ծածկագիրը

Նախագծի ծածկագիրը կազմելու համար մենք պետք է ներառենք որոշ գրադարաններ: Առաջին հերթին մեզ պետք է MFRC522 Rfid գրադարանը: Այն տեղադրելու համար անցեք Sketch -> Include Libraries -> Կառավարեք գրադարանները: Որոնեք MFRC522 և տեղադրեք այն: Մեզ պետք են նաև Adafruit SSD1306 գրադարանը և Adafruit GFX գրադարանը ցուցադրման համար: Տեղադրեք երկու գրադարանները նույն ընթացակարգով: Adafruit SSD1306 գրադարանը փոքր փոփոխության կարիք ունի: Գնացեք Arduino -> Գրադարանների թղթապանակ, բացեք Adafruit SSD1306 պանակը և խմբագրեք Adafruit_SSD1306.h գրադարանը: Մեկնաբանություն տող 70 և մեկնաբանություն տող 69. Մեր էկրանն ունի 128x64 թույլատրելիություն, սա այն է, ինչ մենք այստեղ սահմանում ենք: Այժմ մենք պատրաստ ենք արագ նայել ծածկագրին:

Սկզբում մենք հայտարարում ենք RFID պիտակի արժեքը, որը մենք ցանկանում ենք, որ Arduino- ն ճանաչի: Այն ամբողջ թվերի զանգված է:

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 պիտակներ:

Սա ընդամենը օրինակ է: Ինչպես միշտ, այս հրահանգին կից կարող եք գտնել ծրագրի ծածկագիրը:

Քայլ 6: Վերջնական մտքեր և բարելավումներ

Վերջնական մտքեր և բարելավումներ
Վերջնական մտքեր և բարելավումներ

Ինչպես տեսնում եք շատ ցածր գնով, մենք կարող ենք RFID ընթերցող ավելացնել մեր նախագծերին: Մենք կարող ենք հեշտությամբ կառուցել անվտանգության համակարգ այսպիսի ընթերցողի հետ կամ կառուցել ավելի զվարճալի նախագծեր:

Իմ հիմնական մտադրությունն է երեխաների համար կառուցել որոշ ինտերակտիվ խաղեր ՝ օգտագործելով այս RFID ընթերցողը և բազմաթիվ RFID պիտակներ: Ապագա տեսանյութում մենք կփորձենք նաև գրել և կարդալ տվյալներ RFID պիտակից: Այս պահին ես կցանկանայի լսել ձեր կարծիքը այս RFID քարտի ընթերցողի մասին: Նախատեսու՞մ եք այն օգտագործել ձեր նախագծերից որևէ մեկում: Խնդրում ենք ցանկացած մեկնաբանություն կամ գաղափար տեղադրել ստորև նշված մեկնաբանությունների բաժնում, շնորհակալություն:

Խորհուրդ ենք տալիս: