Trong hướng dẫn này, chúng tôi thiết kế một hệ thống để đọc thẻ RFID bằng MSP430 và RFID Reader. RFID là viết tắt của Radio Frequency Identification. Mỗi thẻ có một ID duy nhất và điều này làm cho nó trở thành lựa chọn hoàn hảo cho nhiều ứng dụng xác thực, như trong văn phòng, trung tâm mua sắm và ở nhiều nơi khác, nơi chỉ người có thẻ ủy quyền mới được phép vào bên trong. RFID được sử dụng trong các trung tâm mua sắm để ngăn chặn hành vi trộm cắp xảy ra, nơi sản phẩm sẽ được gắn thẻ chip RFID và nếu bất kỳ ai rời khỏi tòa nhà với chip RFID, báo động sẽ tự động được nâng lên và do đó hành vi trộm cắp sẽ được dừng lại. Thẻ RFID được thiết kế nhỏ như hạt cát. Hệ thống xác thực RFID dễ thiết kế và chi phí rẻ. Một số trường học và cao đẳng ngày nay sử dụng RFID làm sổ đăng ký tham dự.
Vật liệu thiết yếu
1. Bàn di chuột MSP430
2. EM-18 (mô-đun đọc RFID)
3. LCD 16 * 2
4. Chiết áp
5. Breadboard
6. Dây nhảy
Phần mềm: Energia IDE
Đầu đọc RFID EM-18
Mỗi thẻ RFID có một ID duy nhất được nhúng trong đó và một đầu đọc RFID được sử dụng để đọc số thẻ RFID. Đầu đọc RFID EM-18 hoạt động ở 125 KHz và nó đi kèm với một ăng-ten trên chip và nó có thể được cấp nguồn với nguồn điện 5V. Nó cung cấp đầu ra nối tiếp cùng với đầu ra cân và đầu ra. Phạm vi là khoảng 8-12cm. thông số giao tiếp nối tiếp là 9600bps, 8 bit dữ liệu, 1 bit dừng. Nhận dạng RF không dây này được sử dụng trong nhiều hệ thống như
Hệ thống chấm công dựa trên RFID,
Hệ thống an ninh,
Máy bỏ phiếu, Giá đường thu phí điện tử
Kiểm tra tất cả các Dự án RFID tại đây.
Đầu ra được cung cấp bởi đầu đọc RFID EM-18 ở định dạng ASCII 12 chữ số. Trong số 12 chữ số, 10 chữ số đầu tiên là số thẻ và hai chữ số cuối là kết quả XOR của số thẻ. Hai chữ số cuối cùng được sử dụng để kiểm tra lỗi.
Ví dụ số thẻ là 0200107D0D62 đọc từ đầu đọc thì mã số thẻ trên thẻ sẽ như bên dưới.
02 - lời mở đầu
00107D0D = 1080589 ở dạng thập phân.
62 là giá trị XOR cho (02 XOR 00 XOR 10 XOR 7D XOR 0D).
Do đó, số trên thẻ là 0001080589.
Sơ đồ mạch đọc MSP430 RFID và hoạt động
Chúng tôi sẽ sử dụng Hardware UART của MSP430, vì vậy, hãy đảm bảo jumper RXD và TXD trên bo mạch đang ở chế độ HW UART. Sau đó kết nối Tx của EM-18 với RXD (P1.1) của MSP430.
Trước khi đi sâu hơn, chúng ta cần hiểu về giao tiếp nối tiếp. Mô-đun RFID ở đây gửi dữ liệu nối tiếp đến bộ điều khiển. Nó có phương thức giao tiếp khác nhưng để giao tiếp dễ dàng, chúng tôi chọn RS232. Chân RS232 của mô-đun được kết nối với chân RXD của MSP430.
Dữ liệu do mô-đun RFID gửi đi như sau:
Bây giờ để thiết lập kết nối giữa đầu đọc RFID và MSP430, chúng ta cần kích hoạt giao tiếp nối tiếp trong MSP430. Việc kích hoạt giao tiếp nối tiếp trong MSP430 có thể được thực hiện bằng cách sử dụng một lệnh duy nhất.
Serial.begin (9600); data = Serial.read ();
Như thể hiện trong hình trên, giao tiếp của RFID được thực hiện bởi tốc độ BAUD là 9600 bit mỗi giây. Vì vậy, để MSP430 thiết lập tốc độ truyền như vậy và bắt đầu giao tiếp nối tiếp, chúng tôi sử dụng lệnh "Serial.begin (9600);". Ở đây 9600 là tốc độ truyền và có thể thay đổi được.
Bây giờ khi tốc độ truyền được đặt, MSP đã sẵn sàng nhận dữ liệu nối tiếp. Dữ liệu này được chọn bằng lệnh “data = Serial.read ();”. Bằng lệnh này, dữ liệu nối tiếp được lấy trong ' dữ liệu ' có tên là số nguyên.
Khi thẻ được đưa đến gần đầu đọc, đầu đọc đọc dữ liệu nối tiếp và gửi đến MSP, MSP sẽ được lập trình để hiển thị giá trị đó trên màn hình LCD, do đó chúng ta sẽ có ID của thẻ trên màn hình LCD.
Mã và giải thích
Chúng tôi sẽ viết mã của chúng tôi trong Energia IDE. Nó giống như Arduino IDE và dễ sử dụng. Mã hoàn chỉnh được đưa ra ở cuối dự án này, ở đây chúng tôi sẽ giải thích một số phần của nó.
Đầu tiên, bao gồm thư viện cho màn hình LCD và khai báo mảng char để lưu trữ số RFID.
#include
Trong chức năng cài đặt , bật LCD và giao tiếp nối tiếp bằng cách xác định tốc độ truyền là 9600.
void setup () { lcd.begin (16, 2); Serial.begin (9600); ... ..
Trong chức năng vòng lặp , chúng tôi sẽ kiểm tra dữ liệu nối tiếp có sẵn hay không. Nếu có sẵn, lưu trữ dữ liệu trong đầu vào mảng từ Serial.read () và hiển thị nó trên một màn hình LCD bởi một sử dụng trong khi vòng lặp.
while (Serial.available () && count <12) // Đọc 12 ký tự và lưu trữ chúng trong mảng đầu vào { input = Serial.read (); // lưu 12 ký tự lần lượt Serial.print (input); lcd.print (đầu vào); chậm trễ (300); tính ++; if (count == 12) { lcd .print (""); đếm = 0; // một lần 12 ký tự được đọc get để bắt đầu và chờ cho ID thứ hai ... ...
Đây là cách chúng ta có thể đọc và hiển thị số RFID trên màn hình LCD bằng MSP430 Launchpad. Giờ đây, bạn có thể mở rộng thêm dự án này và có thể xây dựng hệ thống Chấm công, hệ thống bỏ phiếu, hệ thống bảo mật, v.v.