Make , Creative and Let 's fun
โปรเจคแรกกับ arduino – RFID access control doorlock with Arduino
กระแส arduino ช่วงนี้กำลังฮิต ผมหาโปรเจค arduino ง่ายมาลองใช้งานบ้างดีกว่า ในตอนนี้ผมทดลองประยุกต์ใช้งานง่ายๆ กับ RFID มาใช้งาน เผื่อเพื่อนสมาชิกจะมีไอเดีย ไปประยุกต์ต่อบ้าง

มารู้จัก RFID กันก่อน
RFID คืออุปกรณ์ประเภท Tag ID ที่สามารถอ่านผ่านสัญญาณวิทยุ คือป้ายชื่อนี้ล่ะครับ แต่อ่านออกมาเป็นไอดี ซึ่งเทคโนโลยีที่คล้ายกัน เช่น magnetic card, barcode และ smart card ส่วนมากจำเป็นต้องเอาตัว Tag ไปสัมผัสตรงๆกับตัวอ่าน เพื่อให้อ่าน ID ได้
แต่ใน RFID จะอ่าน ID ผ่านสัญญาณวิทยุ จึงไม่จำเป็นต้องเอา ตัว tag ไปสัมผัสกับตัวอ่าน(Reader) แค่ผ่านก้อพอ อย่างในสถานี รถไฟฟ้า จะเห็นชัดๆ ว่าแค่มีบัตรแปะแล้ววิ่งเข้าไปได้เลย ซึ่งอยากรู้รายละเอียดทางเทคนิคมากๆ ลองหาข้อมูล ใน google ดูครับ มีเยอะ
ทดลองใช้ RFID เพื่อควบคุมการเปิดปิดประตู
ตอนนี้คงจะรู้จัก RFID กันแล้วนะครับที่ผมมาประยุกต์ทำในครั้งนี้ เป็นการใช้ RFID ในการควบคุมการเข้าออกประตูครับ โดยระบบที่ทำยังไม่สมบูรณ์ครับ แต่มันพอใช้งานได้ ยังไม่ได้ลงลึกมากครับ ใครมีไอเดียอะไรก้อลองทำต่อดูนะครับ
อุปกรณ์ที่ใช้งาน
- ID-12 RFID Reader module ตัวอ่านค่า RFID tag สนใจหาซื้อจาก thaieasyelec.com
- Arduino board ทำเอง หรือ จาก ayarafun product
- RFID-tag หาซื้อขากบ้านหม้อครับ ได้ราคา โอเคสุด
- Char LCD Display 16×2 หาได้ทั่วไปครับ
- สายไฟเล็กน้อย
- บอร์ด Relay ใช้ เปิด-ปิด ไฟเข้า magnetic doorlock

บอร์ด arduino

ตัวอย่างการแสดงผล หน้าจอ lcd16x2
รวมๆ แล้วราคาน่าจะประมาณ เกือบ สองพัน แพงกว่า RFID ที่ขายตามหอสักอีก
แต่เหตุผลในการทำ เราสามารถเพิ่มเติมฟังก์ชั่น ต่อเองได้ครับ เช่น อยากได้มากกว่าเปิด-ปิดประตู เป็นบันทึกเวลาเข้าออก ด้วย หรือ ใช้งานด้านอื่น คุม stock

การทำงานของ ayarafun access system
โปรเจคนี้หัวใจหลักอยู่ที่ตัวอ่าน RFID กับ ส่วนสมอง Arduino โดย
- RFID Module จะอ่านข้อมูลจาก Tag ส่งเป็น serial ไปยัง Arduino board
- ส่วนตัว Arduino จะรับ packet ข้อมูลทาง Software Serial มาตรวจสอบ(checksum) ส่ง report ออก serial เข้าไปยังคอมพิวเตอร์ และ ตรวจสอบกับฐานข้อมูล ถ้ามีตรงกันเอาชื่อ ออกมาแสดงผลผ่าน LCD และเปิดประตู
นี้เป็นขั้นตอนการทำงานของระบบที่ออกแบบนะครับ จะต้องแสดงคนใช้งานล่าสุด(last access) ของระบบด้วย เผื่อว่า ใครทำอะไรไปจะได้ เรียกตัวถูก พอดีจอที่ใช้ 2 บรรทัด ถ้าจอ 4 บรรทัด อาจจะเพิ่มเป็นแสดง คนใช้งานล่าสุดเพิ่มอีก 2 บรรทัด
ถ้าเจอ id เปิดประตู update ชื่อคนที่ acesss คนสุดท้ายที่หน้าจอ
ดังรูป
|
Welcome |
|
insert key |
|
error!! |
และกลับไปยังหน้าจอ
|
insert key |
โดยโปรแกรมยังไม่ได้ มีวิธีการบันทึก ID จากภายนอก
ผมใช้วิธี hardcode เข้าไปในส่วน source code เลย โดยผมโกงเอาให้ Arduino จะ report code RFID ผ่าน serial แล้วท่านอยากเก็บ ID นี้ ก้อทำการก๊อบปี้ใส่ไว้ใน firmware
Structure ที่ใช้เก็บ ชื่อสมาชิก และ ID Card เอาไว้ เป็นดังนี้
struct member {
const char* name;
const char code[5];
};
อยากให้มี Filed อื่นเพิ่มได้ครับ ชื่อเล่น เบอร์โทร
ก้อเพิ่มเข้าไปในส่วนนี้ล่ะครับ
วิธีการบันทึก id กรอกข้อมูลลงใน struct ที่ Header ของโปรแกรมดังตัวอย่าง
member electoday[] = {
{ “nooknick”, {54, 0, 157, 107, 114} },
{ “wlasoi”, {54, 0, 157, 0, 191} },
{ “chang”, {54, 0, 157, 74, 142} }
}
ขั้นตอนการสร้าง
ประกอบวงจรต้อง diagram นี้ครับ
| LCD4bit | Arduino |
| rs | pin 12 |
| rw | pin 11 |
| enable | pin 10 |
| d0 | pin 5 |
| d1 | pin 4 |
| d2 | pin 3 |
| d3 | pin 2 |
| RFID Module | Arduino |
| VCC | VCC |
| D0 | pin 8 |
| GND | GND |
compile และ upload sketch นี้นะครับ เป็น code ตัวอย่างยังไม่ได้ จัดฟอร์ม ให้พร้ิอมพัฒนาต่อไป
มาดูการทำงานของระบบ prototype กันบ้าง อย่างที่ย้ำยังไม่สมบูรณ์ครับ แต่พอเพียงกับการใช้งาน ตอนนี้ ผมใส่กล่องไปทดสอบ มาเป็นเดือน ยังไม่ hang เลย
ต่อไป ท่านสามารถประยุกต์ใช้งานได้ เช่น เป็นบัตรเข้าชมงาน หรือ เอาไปต่อกับระบบคอมพิวเตอร์ แล้วทำสัญญาณเตือนว่าเจ้านาย หรือ แฟน เรากำลังมาแล้ว (ฮ่าๆ รีบไปสร้างภาพต่อ)
หวังว่าท่านได้ ไอเดีย เอาไปทำอะไร สร้างสรรค์ใหม่ กับ RFID กันบ้างนะครับ
ตัวอย่าง Sourcecode ใช้งาน download -> rfid_doorlock
บทความที่เกี่ยวข้อง
| Print article |
-
http://orangejasmin.multiply.com Orange Jasmin
-
Anonymous
-
ra
-
http://www.ayarafun.com chang
-
http://www.ayarafun.com chang
-
salit
-
salit
-
http://www.ayarafun.com chang
-
dek cs
-
http://www.ayarafun.com chang
-
JANE
-
http://www.ayarafun.com chang
-
Ice Iiice
-
http://www.ayarafun.com ChANg
