บทความ การอ่านค่า RFID tag ด้วยบอร์ด Arduino
บริษัทรับงานวิจัย R&D/Microcontroller/ชุดควบคุม/เขียนโปรแกรม
โดยงานขนาดใหญ่ กลาง เล็ก และ งานชิ้นเดียว ใช้เวลาทำต้นแบบให้ทดสอบภายใน3-7 วัน ต้นแบบราคาเริ่มต้นที่ 1500฿(ขึ้นอยู่กับงาน) สามารถสอบถามเพิ่มเติมได้ทาง e-mail
ขอความกรุณาอ่านข้อความส่วนนี้อย่างละเอียดให้เข้าใจ
สินค้าจะส่งออกจากร้านในทุกวันพุธและศุกร์ โดยต้องแจ้งโอนเงินให้แล้วเสร็จก่อน 8.00น. ของวันพุธ,ศุกร์ มูลค่าสินค้ารวมต่ำกว่า 5000 บาท ไม่มีบริการรับสินค้าเองที่บริษัทให้สั่งซื้อ online เท่านั้นรายละเอียดดูได้จากเมนู How to buy

  การอ่านค่า RFID tag ด้วยบอร์ด Arduino

สำหรับบทความนี้เป็นการแนะนำการใช้บอร์ด Arduino อ่านค่า RFID tag ซึ่งบอร์ด Arduino จะต่อเข้ากับตัว RFID reader module 125khz ผ่านทาง SortwareSerial ของบอร์ด ส่วนการต่ออุปกรณเข้ากับ RFID reader module 125khz ให้ต่ออย่างระมัดระรังเพราะถ้าต่อผิดอาจทำให้บอร์ดพังได้ โดยค่าที่อ่านได้จาก serial ไบต์แรกจะเป็น header 10 ไบต์ต่อมาจะเป็น Data และ 3 ไบต์ที่เหลือจะเป็นส่วนท้าย รายะเอียดเพิ่มเติมสามารถดูได้จาก http://www.ec.in.th/index.php?route=cms/article&article_id=33

อุปกรณ์ที่จำเป็นต้องใช้มีดังนี้:


1. เชื่อมต่ออุปกรณ์ต่างๆเข้ากับบอร์ดอย่างระมัดระวังดังรูป สังเกตุให้ดีว่าบอร์ด Arduino ต่อเข้ากับ USB เท่านั้น

 

2. เขียนโปรแกรมดังข้อความด้านล่าง (สามารถ copy ไปวางในโปรแกรมได้เลย) และคอมไพล์ให้เรียบร้อย

 

/*
 * Reading RFID value
 * Article from www.EC.in.th
 * http://www.ec.in.th/index.php?route=cms/article&article_id=40
 *
 * Product requirement
 * http://www.ec.in.th/index.php?route=product/product&product_id=993
 */
 
#include <SoftwareSerial.h>

#define rxPin           2
#define txPin           3
#define RFIDresetPin    4

SoftwareSerial EC_soft_serial(rxPin,txPin);// RX, TX

void setup() {
  // initialize serial:
  Serial.begin(9600);
  
  // initialize soft serial
  EC_soft_serial.begin(9600);
  
  // make the pins outputs:
  pinMode(RFIDresetPin, OUTPUT); 
  
  // Clear all buffer
  while (Serial.available() > 0) {
    Serial.read();
  }
  
  // Clear all buffer and display on terminal
  EC_soft_serial.listen();
  while (EC_soft_serial.available() > 0) {
    Serial.print((char)EC_soft_serial.read());
  }
  
  Serial.print("\n\rPlease move RFID tag to antenna");
}

void loop() {
  char count;
  if (EC_soft_serial.available() >= 14) {
    Serial.print("\n\r*****************");
    Serial.print("\n\rStart Header     :");
    Serial.print(EC_soft_serial.read(),HEX);
    
    Serial.print("\n\rManufacturing ID :");
    Serial.print((char)EC_soft_serial.read());
    Serial.print((char)EC_soft_serial.read());
    
    Serial.print("\n\rData             :");
    for(count=0;count<8;count++){
      Serial.print((char)EC_soft_serial.read());
    }
    Serial.print("\n\rCRLF             :");
    Serial.print(EC_soft_serial.read(),HEX);
    Serial.print(EC_soft_serial.read(),HEX);
    
    Serial.print("\n\rEND              :");
    Serial.print(EC_soft_serial.read(),HEX);
    
    Serial.print("\n\r*****************");
    
    while (EC_soft_serial.available() >0) {
      EC_soft_serial.read();
    }
  }  
}
//

3. โหลดโปรแกรมลงบอร์ด Arduino และดูค่า RFID tag ผ่านทาง Serial Terminal ด้วยการนำ RFID tagเข้าไปใกล้ antenna

 

Please visit to webboard topic=323 for ask more infomation

  Related

สามารถสอบถามข้อมูล และ ถาม/ตอบ ปัญหาได้ที่นี่
โดยเนื้อหาของบทความจะอยู่ที่
http://www.ec.in.th/index.php?route=cms/article&article_id=40
พอจะแนะนำการเขียนโค๊ด ให้อ่านเฉพาะข้อมูลในส่วนของ Data ได้ใหมครับ

จะนำมาใช้ในลักษณะของการเก็บข้อมูล Data ใส่ในตัวแปร Char แล้วนำไปใช้งานต่อครับ

###edit
ไปลองคิดดูมาแล้วครับ ถ้าผมใช้วิธีการเลือกเอาข้อมูลจาก Buffer Array ในตำแหน่งที่เก็บ Data มาใส่ในอีก Array หนึ่ง แบบนี้จะเวิร์คใหมครับ มีเทคนิคที่ทำให้ง่ายขึ้นบ้างใหมครับ
ถูกต้องแล้วครับ
สร้าง array เพื่อเก็บค่าแล้วนำข้อมูลมาใช้งาน
ข้อมูล Data จะอยู่ที่ byte 1-10 (เริ่มนับจาก 0)
ผมขอสอบถามเกี่ยวกับสินค้าตัว  RFID reader module 125Khz (UART TTL)
ว่าสิ้นค้าตัวนี้มีกำลังส่งและรับกี่วัต
ระยะสูงสุดได้ไม่เกิน 3-4 cm ถ้ามีสัญญาณรบกวนมากจะน้อยกว่านี้
สิ้นค้าตัวนี้ใช้ไฟเลี้ยงกี่ v คับ
ผมลองๆ เขียนโดยใช้แนวทางตามนี้แล้วนะครับ  ผมได้Dataมาแล้ว  นำไปใช้งานให้แสดงชื่อได้แล้ว  แต่ผมอยากให้แสดงวันที่และเวลาที่Tagถูกอ่านค่าอ่ะครับมันทำได้รึเปล่าครับ ขอบคุณครับ
ผมลองๆ เขียนโดยใช้แนวทางตามนี้แล้วนะครับ  ผมได้Dataมาแล้ว  นำไปใช้งานให้แสดงชื่อได้แล้ว  แต่ผมอยากให้แสดงวันที่และเวลาที่Tagถูกอ่านค่าอ่ะครับมันทำได้รึเปล่าครับ ขอบคุณครับ

คงต้องใช้ IC Realtime Clock มาช่วยครับ ....  ;D
อยากจะสอบถามเพิ่มเติมครับ คือว่าผมมีปัญหาในการใช้งานคือ ผมต่อตามวงจรและเมื่อเปิด power ใช้งานมันไม่สามารถอ่านได้ครับ แต่พอปิดPower มันจะมีบางครั้งข้อมูลสามารถอ่านได้ โดยผมทำการทดสอบการต่อใช้งานแบบใน วีดิโอ ที่ทางเว็บแสดงตัวอย่าง จึงขอสอบถามเกี่ยวกับสาเหตุและทางแก้ ขอบคุณครับ


http://sdrv.ms/1aXQIxt

https://skydrive.live.com/redir?resid=F6AEC860A9445411!396&authkey=!AKSHEyiDa1Yq9Rc&v=3&ithint=photo%2c.jpg
ข้อมูลที่แจ้งน้อยเกินไปไม่สามารถตอบได้ กรุณาแนบเป็นไฟล์ video ครับ
อัพ VDO แล้วครับ ด้านบน ขอบคุณครับ

  Categories

  CMS Categories

 Login


 

  Information

  Live Chat