สร้างเว็บEngine by iGetWeb.com
Cart รายการสินค้า (0)

arduino with RFID RC522A แสนง่าย

arduino with RFID RC522A แสนง่าย

arduino with RFID RC522A แสนง่าย

สวัสดีครับวันนี้ เรามาทดลองการเขียนโปรแกรม arduino กับเจ้าตัว RFID Module รุ่น RC522A

ที่ง่ายดาย  ความถี่ของตัวอ่าน RFID อยู่ที่ 13.56 KHZ

ต่อมาเรามาดูวิธีการต่อใช้งานกันครับ

1 .IRQ (ไม่ใช้งาน)
2 .NSS เชื่อมต่อกับขา 10 ของ Arduino
3 .SCK เชื่อมต่อกับขา 13
4 .MOSI เชื่อมต่อกับขา 11
5 .MISO เชื่อมต่อกับขา 12
6 .GND เชื่อมต่อกับ Ground 0V
7 .RST เชื่อมต่อกับขา 9
8 .VCC เชื่อมต่อกับไฟ 3.3 V


เมื่อต่อวงจรเสร็จ ก็อย่าลืม load library ด้วยนะครับ

https://github.com/miguelbalboa/rfid

เมื่อลง library เสร็จ ก็มาดูที่ code ตัวอย่างครับ

/**

* MOSI: Pin 11 / ICSP-4
* MISO: Pin 12 / ICSP-1
* SCK: Pin 13 / ISCP-3
* SS: Pin 10
* RST: Pin 9

*/

#include <SPI.h>
#include <RFID.h>

#define SS_PIN 10
#define RST_PIN 9

RFID rfid(SS_PIN, RST_PIN);

// Setup variables:
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;

void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.init();

}

void loop()
{

if (rfid.isCard()) {
if (rfid.readCardSerial()) {
if (rfid.serNum[0] != serNum0
&& rfid.serNum[1] != serNum1
&& rfid.serNum[2] != serNum2
&& rfid.serNum[3] != serNum3
&& rfid.serNum[4] != serNum4
) {
/* With a new cardnumber, show it. */
Serial.println(" ");
Serial.println("Card found");
serNum0 = rfid.serNum[0];
serNum1 = rfid.serNum[1];
serNum2 = rfid.serNum[2];
serNum3 = rfid.serNum[3];
serNum4 = rfid.serNum[4];

//Serial.println(" ");
Serial.println("Cardnumber:");
Serial.print("Dec: ");
Serial.print(rfid.serNum[0],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");

Serial.print("Hex: ");
Serial.print(rfid.serNum[0],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[1],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[2],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[3],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[4],HEX);
Serial.println(" ");
} else {
/* If we have the same ID, just write a dot. */
Serial.print(".");
}
}
}

rfid.halt();
}



เมื่อ Up load code เสร็จ ก็ให้ดู output ทาง serialmonitor ครับ

ทดสอบลองนำบัตรทาบดูครับ จะมีรหัส RFID ขึ้นแสดงของแต่ละบัตรครับ


ขอให้สนุกกับการเขียนโปรแกรม


ตัวอย่างการต่อใช้งาน





view