Mundarija:

Arduino MEGA bilan RFID-RC522 interfeysi oddiy eskiz: 4 qadam
Arduino MEGA bilan RFID-RC522 interfeysi oddiy eskiz: 4 qadam

Video: Arduino MEGA bilan RFID-RC522 interfeysi oddiy eskiz: 4 qadam

Video: Arduino MEGA bilan RFID-RC522 interfeysi oddiy eskiz: 4 qadam
Video: RFID RC522 Подключение к Ардуино 2024, Iyun
Anonim
Arduino MEGA bilan RFID-RC522 interfeysi oddiy eskiz
Arduino MEGA bilan RFID-RC522 interfeysi oddiy eskiz

Salom, bu darslikda men sizga RFID-RC522-ni Arduino Mega 2560 bilan RFID-ni o'qish va ma'lumotlarni ketma-ket monitorda ko'rsatish uchun yordam beraman. shuning uchun siz uni mustaqil ravishda uzaytira olasiz

Senga kerak:

  1. Arduino Mega yoki Arduino Uno (men Mega ishlatganman)
  2. RFID-RC522
  3. Erkak -ayol 7 ta o'tish simlari
  4. Ba'zi shaxsiy guvohnomalar (ixtiyoriy)
  5. RFID kutubxonasi (majburiy, havola quyida)

Keyin quyidagi kutubxonani yuklab oling va fayl menyusidagi Sketch-> Kutubxonani qo'shish-> Zip kutubxonasini qo'shish-ni bosib Arduino IDE-ga qo'shing.

1 -qadam: Jismoniy ulanish tafsilotlari

Jismoniy ulanish tafsilotlari
Jismoniy ulanish tafsilotlari

arduino-ni yuqoridagi rasmda ko'rsatilgandek RFID-RC522 bilan ulang.

Ogohlantirish: faqat 3.3V quvvatlang, aks holda modul yonib ketadi

Uno/Nano va Mega uchun ajratib oling

RC522 MODULI 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 -qadam: RFID teglari qiymatini o'qish va chop etish uchun oddiy kod

RFID teglari qiymatini o'qish va chop etish uchun oddiy kod
RFID teglari qiymatini o'qish va chop etish uchun oddiy kod

Quyidagi kodni nusxa ko'chiring va Arduino -ga yuklang

/*PINOUT: RC522 MODULI 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 standart kutubxonasini o'z ichiga oladi. */ #include/ *RFID kutubxonasini qo'shing */ #include

/* SDA (SS) va RST (qayta o'rnatish) pinlari uchun ishlatiladigan DIO ni aniqlang. */

#define SDA_DIO 9 #define RESET_DIO 8 / * RFID kutubxonasi namunasini yaratish * / RFID RC522 (SDA_DIO, RESET_DIO);

bo'sh o'rnatish ()

{Serial.begin (9600); / * SPI interfeysini yoqish */ SPI.begin (); / * RFID o'quvchisini ishga tushirish */ RC522.init (); }

bo'sh halqa ()

{ /* Karta aniqlanganmi? */ if (RC522.isCard ()) {/ *Agar shunday bo'lsa, uning seriya raqamini oling */ RC522.readCardSerial (); Serial.println ("Karta aniqlandi:"); uchun (int i = 0; i <5; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum , HEX); // karta tafsilotlarini o'n oltilik o'nlik formatida chop etish uchun} Serial.println (); Serial.println (); } kechikish (1000); }

3 -qadam: RFID yordamida super bozor ilovasi uchun oddiy kod

RFID yordamida Super Market ilovasi uchun oddiy kod
RFID yordamida Super Market ilovasi uchun oddiy kod

Quyidagi kodni nusxa ko'chiring va Arduino -ga yuklang. Quyida kartani birinchi marta o'qiganingizda, sotib olishning umumiy qiymati oshadi, keyin ikkinchi marta o'qiganingizda esa kamayadi

/*

PIN -kod:

RC522 MODULI Uno/Nano MEGA

SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ Yo'q GND GND GND RST D9 D8 3.3V 3.3V 3.3V

*

* Arduino SPI standart kutubxonasini qo'shing */

#include / * RFID kutubxonasini qo'shing * / #include

/* SDA (SS) va RST (qayta o'rnatish) pinlari uchun ishlatiladigan DIO ni aniqlang. */

#define SDA_DIO 9 #define RESET_DIO 8 int mahsulot nomi [5] = {228, 18, 37, 75, 24}; int mahsulot [5] = {100, 120, 230, 125, 70}; int token [5] = {0, 0, 0, 0, 0}; int Jami; / * RFID kutubxonasining namunasini yaratish */ RFID RC522 (SDA_DIO, RESET_DIO);

bo'sh o'rnatish ()

{Serial.begin (9600); / * SPI interfeysini yoqish */ SPI.begin (); / * RFID o'quvchisini ishga tushirish */ RC522.init (); }

bo'sh halqa ()

{ / * Vaqtinchalik pastadir hisoblagichi * / bayt i = 0; bayt j = 0; bayt k = 0; int identifikatori;

/* Karta aniqlanganmi? */

if (RC522.isCard ()) { / * Agar shunday bo'lsa, uning seriya raqamini oling * / RC522.readCardSerial (); Serial.print (RC522.serNum , DEC);

//Serial.println("Card aniqlandi: ");

/ * UARTga seriya raqamini kiriting */

ID = RC522.serNum [0]; //Serial.print (ID); Serial.println (""); uchun (i = 0; i <5; i ++) {if (mahsulot nomi == ID) {Serial.println ("Umumiy xarid"); if (token == 0) {Jami = Jami+mahsulot ; token = 1; } boshqa {Jami = Jami-mahsulot ; token = 0; } Serial.println (Jami); tanaffus; } if if (i == 5) {Serial.println ("Kirish taqiqlangan"); tanaffus; }} Serial.println (); Serial.println (); } kechikish (1000); }

4 -qadam: Xulosa

Qo'llanmani o'qiganingiz uchun sizga rahmat aytmoqchiman. Agar siz buni foydali deb topsangiz va yoqtirishni yoqtirsangiz yoki menga biror narsa so'rasangiz, minnatdor bo'lardim, chunki bu menga ko'rsatmalarni bajarishga turtki beradi. bilishingiz kerak bo'lgan har qanday savolni berishingiz mumkin …

Baxtli kodlash Arduino …

Tavsiya: