Мазмуну:

RFID-RC522 интерфейси Arduino MEGA менен жөнөкөй эскиз: 4 кадам
RFID-RC522 интерфейси Arduino MEGA менен жөнөкөй эскиз: 4 кадам

Video: RFID-RC522 интерфейси Arduino MEGA менен жөнөкөй эскиз: 4 кадам

Video: RFID-RC522 интерфейси Arduino MEGA менен жөнөкөй эскиз: 4 кадам
Video: Знакомство с RFID и подключение модуля RC522 к Arduino 2024, Июнь
Anonim
RFID-RC522 интерфейси Arduino MEGA менен жөнөкөй эскиз
RFID-RC522 интерфейси Arduino MEGA менен жөнөкөй эскиз

Бул жерде, мен сизге үйрөткүчтө RFID-RC522 менен Arduino Mega 2560 менен RFIDди окууга жана маалыматтарды сериялык монитордо көрсөтүүгө жардам берем. Ошентип, аны өз алдынча кеңейте аласыз

Сизге керек:

  1. Arduino Mega же Arduino Uno (Мен Мега колдондум)
  2. RFID-RC522
  3. 7 эркектен аялга секирүүчү зымдар
  4. Кээ бир ID карталар (милдеттүү эмес)
  5. RFID китепканасы (Төмөндөгү шилтеме)

Андан кийин Төмөнкү китепкананы жүктөп алып, аны Arduino IDEге кошуп, Sketch-> Китепкананы кошуу-> Файл менюсунда. Zip Китепкана кошуу баскычын басыңыз.

1 -кадам: Физикалык туташуу деталдары

Физикалык туташуу деталдары
Физикалык туташуу деталдары

жөн гана ардуинону RFID-RC522 менен жогорудагы сүрөттө көрсөтүлгөндөй туташтырыңыз.

Эскертүү: бир гана 3.3V менен камсыз кылуу, антпесе модуль күйүп кетет

Uno/Nano жана Mega үчүн чыкылдатыңыз

RC522 MODULE Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V

2 -кадам: RFID тэгдеринин маанисин окуу жана басып чыгаруу үчүн жөнөкөй код

RFID тэглеринин маанисин окуу жана басып чыгаруу үчүн жөнөкөй код
RFID тэглеринин маанисин окуу жана басып чыгаруу үчүн жөнөкөй код

Төмөнкү кодду көчүрүп, анан Arduinoго жүктөңүз

/*PINOUT: RC522 MODULE Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V*//*стандарттык Arduino SPI китепканасын кошуу */ #include/ *RFID китепканасын кошуу */ #include

/* SDA (SS) жана RST (баштапкы абалга келтирүү) казыктары үчүн колдонулган DIOну аныктаңыз. */

#define SDA_DIO 9 #define RESET_DIO 8 / * RFID китепканасынын экземплярын түзүңүз * / RFID RC522 (SDA_DIO, RESET_DIO);

жараксыз орнотуу ()

{Serial.begin (9600); / * SPI интерфейсин иштетүү */ SPI.begin (); / * RFID окурманын баштоо */ RC522.init (); }

боштук цикл ()

{ /* Карта табылдыбы? */ if (RC522.isCard ()) {/ *Андай болсо, анын сериялык номерин алыңыз */ RC522.readCardSerial (); Serial.println ("Карта табылды:"); for (int i = 0; i <5; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); // Hexa Decimal форматында картанын деталын басып чыгаруу үчүн} Serial.println (); Serial.println (); } кечигүү (1000); }

3 -кадам: RFIDди колдонуп, Супер базарды колдонуу үчүн жөнөкөй код

RFIDди колдонуп, супермаркеттин колдонмосу үчүн жөнөкөй код
RFIDди колдонуп, супермаркеттин колдонмосу үчүн жөнөкөй код

Төмөнкү кодду көчүрүп, анан Arduinoго жүктөңүз. Төмөндө картаны биринчи жолу окуганда, сатып алуунун жалпы наркы жогорулайт, андан кийин экинчи жолу окуп жатканда төмөндөйт …

/*

КАДАП ЧЫГЫП:

RC522 MODULE Uno/Nano MEGA

SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V

*

* Стандарттык Arduino SPI китепканасын кошуңуз */

#include / * RFID китепканасын кошуу * / #include

/* SDA (SS) жана RST (баштапкы абалга келтирүү) казыктары үчүн колдонулган DIOну аныктаңыз. */

#define SDA_DIO 9 #define RESET_DIO 8 int productname [5] = {228, 18, 37, 75, 24}; int продукты [5] = {100, 120, 230, 125, 70}; int токен [5] = {0, 0, 0, 0, 0}; int Total; / * RFID китепканасынын экземплярын түзүңүз */ RFID RC522 (SDA_DIO, RESET_DIO);

жараксыз орнотуу ()

{Serial.begin (9600); / * SPI интерфейсин иштетүү */ SPI.begin (); / * RFID окурманын баштоо */ RC522.init (); }

боштук цикл ()

{ / * Убактылуу цикл эсептегич * / байт i = 0; байт j = 0; байт k = 0; int ID;

/* Карта табылдыбы? */

if (RC522.isCard ()) { / * Андай болсо, анын сериялык номерин алыңыз * / RC522.readCardSerial (); Serial.print (RC522.serNum , DEC);

//Serial.println("Карт табылды: ");

/ * Сериялык номерин UARTка чыгаруу */

ID = RC522.serNum [0]; //Serial.print(ID); Serial.println (""); for (i = 0; i <5; i ++) {if (productname == ID) {Serial.println ("Жалпы сатып алуу"); if (токен == 0) {Total = Total+product ; токен = 1; } else {Total = Total-product ; токен = 0; } Serial.println (Бардыгы); тыныгуу; } else if (i == 5) {Serial.println ("Мүмкүнчүлүк четке кагылган"); тыныгуу; }} Serial.println (); Serial.println (); } кечигүү (1000); }

4 -кадам: Жыйынтык

Окутуу куралымды окуганыңыз үчүн сизге рахмат айткым келет. Эгер сиз муну пайдалуу деп тапсаңыз жана жактырууну (сүйүктүү) калтырсаңыз же менден бир нерсе сурасаңыз, мен ыраазы болом, анткени ал мага бул көрсөтмөлөрдү кылууга түрткү берет. билишиңиз керек болгон суроолорду берүүдөн тартынбаңыз …

Бактылуу коддоо Arduino…

Сунушталууда: