ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công tiung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,ung dung cong nghe rfid vao quan ly nhan su , đếm số người ra bào công ti,
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CNKT ĐIỆN TỬ - VIỄN THÔNG THIẾT KẾ ỨNG DỤNG CÔNG NGHỆ RFID VÀO HỆ THỐNG QUẢN LÝ NHÂN SỰ CBHD : Th.S Sinh viên : Vũ Thị Yến Oanh Mã sinh viên : 2017602974 Hà Nội - 2020 MỤC LỤC Contents MỤC LỤC i DANH MỤC CÁC TỪ VIẾT TẮT iv DANH MỤC HÌNH VẼ v DANH MỤC BẢNG BIỂU vi MỞ ĐẦU Chương - TỔNG QUAN ĐỀ TÀI 1.1 Lý chọn dề tài 1.2 Phân loại hệ thống RFID 1.2.1 Phân loại theo tần số 1.2.2 Phân loại theo tiêu chuẩn 12 1.3 RFID hệ thống nhận dạng .13 1.3.1 Ưu nhược điểm hệ thống RFID .13 1.4 Một số ứng dụng RFID 15 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 17 2.1 loại thẻ từ 17 2.1.1 Thẻ (tag) 17 2.1.2 Thẻ thụ động 17 2.1.3 Thẻ tích cực .18 2.1.4 Thẻ bán thụ động .19 2.1.5 Mã hóa liệu thẻ .19 2.1.7 Máy phát 22 2.1.8 Máy thu .22 2.1.9 Vi mạch .22 2.1.10 Bộ nhớ 22 2.1.11 Các kênh nhập – xuất cảm biến, cấu chấp hành bảng tín hiệu 23 2.1.12 Mạch điều khiển 23 2.1.13 Giao diện truyền thông 23 2.1.14 Nguồn lượng 23 2.1.15 Các thành phần logic 24 2.1.16 Cơ chế truyền liệu thẻ reader .25 2.1.17 Điều chế tán xạ ngược 25 2.1.18 Kiểu máy phát 26 2.2 Giới thiệu vi điều khiển Arduino 26 2.2.1 Cấu tạo arduino 27 2.2.2 Nguồn (USB / Đầu cắm nguồn cái) 27 2.2.3 Chân (5V, 3.3V, GND, Analog, Kỹ thuật số, PWM, AREF) 27 2.2.4 Nút reset 28 2.2.5 Đèn LED báo nguồn 29 2.2.6 Đèn LED RX TX 29 2.2.7 Mạch tích hợp - IC 29 2.2.8 Điều chỉnh điện áp 29 2.2.9 Các loại arduino 30 2.2.10 Arduino Uno (R3) 30 2.2.12 Lilypad Arduino 30 2.2.13 RedBoard 31 2.2.14 Arduino Mega (R3) 32 2.2.15 Arduino Leonardo 32 2.2.16 Ứng dụng arduino 33 2.3 Màn hình TFT 1.8 .34 2.4 Còi chip 5v 35 2.5 Real Time Clock DS1307(RTC) 36 CHƯƠNG 3: Thiết kế hệ thống 38 2.1 Yêu cầu hệ thống 38 2.2 Sơ đồ khối hệ thống 39 2.3 Lưu đồ thuật toán giải thuật 40 2.4.Thiết kế phần cứng 42 3.5 Thiết kế phần mềm .43 DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC HÌNH VẼ Hình 1: Then gỗ Hình 2: Khóa cửa đồng .3 Hình 3: Khóa cửa đại Hình 4: Sơ đồ hệ thống RFID .5 Hình 5: Cấu trúc hệ thống RFID Hình 6: Những ứng dụng thực tế RFID Hình 7: Ứng dụng hệ thống đếm hàng DANH MỤC BẢNG BIỂU MỞ ĐẦU Chương - TỔNG QUAN ĐỀ TÀI 1.1 Lý chọn dề tài Công nghệ RFID (Radio Frequency Identification – nhận dạng đối tượng sóng radio) cho phép thiết bị đọc thông tin chứa chip không tiếp xúc trực tiếp khoảng cách xa, không thực giao tiếp vật lý hai vật khơng nhìn thấy Công nghệ cho ta phương pháp truyền nhận liệu từ điểm đến điểm khác Kỹ thuật RFID sử dụng truyền thông không dây dải tần sóng vơ tuyến để truyền liệu từ tag (thẻ) đến reader (bộ đọc) Tag đính kèm gắn vào đối tượng nhận dạng chẳng hạn sản phẩm, hộp giá kệ (pallet) Reader quét liệu tag gửi thông tin đến sở liệu có lưu trữ liệu tag Chẳng hạn tag đặt kính chắn gió xe để hệ thống thu phí đường nhanh chóng nhận dạng thu tiền tuyến đường Hình 1: hệ thống rfid thực tế Dạng đơn giản sử dụng hệ thống RFID bị động làm việc sau: reader truyền tín hiệu tần số vơ tuyến điện từ qua anten đến chip Reader nhận thông tin trở lại từ chip gửi đến máy tính điều khiển đầu đọc xử lý thông tin lấy từ chip Các chip không tiếp xúc khơng tích điện, chúng hoạt động cách sử dụng lượng nhận từ tín hiệu gửi reader Tại Việt Nam nay, nhu cầu sử dụng RFID ngày nhiều mở thị trường vô tiềm cho nhà nghiên cứu, sinh viên nhà sản xuất Một số doanh nghiệp Việt Nam bắt đầu ứng dụng tiện ích công nghệ RFID 1.2 Phân loại hệ thống RFID Một hệ thống RFID bao gồm đầu đọc (Reader), phát đáp hay gọi thẻ RFID (RFID Tags), hệ thống anten Thẻ RFID gắn vào vật thể cần nhận dạng, chứa thông tin vật thể giao tiếp với đầu đọc sóng vơ tuyến, thu phát qua hệ thống anten Người dùng xử lý trực tiếp thơng tin đầu đọc, thông tin này đầu đọc đưa xử lý trung tâm, tự động xử lý Anten đầu đọc tích hợp tách biệt dùng cáp để kết nối Trong anten thẻ phải tích hợp thẻ Hầu hết thẻ RFID có chip IC( silicon chip), thường chứa đựng thơng tin nhận dạng thẻ đồng thời xử lý thông tin đến từ đầu đọc 1.2.1 Phân loại theo tần số Người ta phân loại hệ thống RFID chủ yếu dựa vào tần số hoạt động, cách cung cấp lượng cho thẻ RFID giao thức sử dụng để liên lạc thẻ đầu đọc Sự lựa chọn tần số, công suất nguồn giao thức truyền liệu phụ thuộc vào dải tần cho phép, chi phí đặc trưng ứng dụng cụ thể 36 2.5 Real Time Clock DS1307(RTC) Module DS1307 module RTC giá phải sử dụng phổ biến Nó theo dõi xác giây, phút, giờ, ngày, tháng năm Một số tính quan trọng DS1307 là: - Khả tạo sóng vng lập trình - Dịng điện thấp, 500mA chế độ lưu pin - Khả thiết lập ngày đến năm 2100 - Sử dụng chuẩn giao tiếp I2C Module DS1307 sử dụng pin CR2023 volt Bộ nhớ EEPROM 24c32 nhúng mơ-đun tiết kiệm 32kb liệu Ngồi ra, bạn đo nhiệt độ môi trường cách sử dụng cảm biến DS18B20 tích hợp sẵn board mạch Đọc giá trị điện áp pin từ chân BAT Các chân chức năng: PIN Chức VCC Cấp nguồn từ 3.3V – 5.5V GND Nối vào cực âm mạch 37 SCL Chân giao tiếp I2c với vi điều khiển SDA Chân giao tiếp I2c với vi điều khiển DS 38 CHƯƠNG 3: Thiết kế hệ thống 2.1 Yêu cầu hệ thống ARDUINO kết nối với RFID : - SDA(SS) chân lựa chọn chip giao tiếp SPI (kích hoạt mức thấp) - SCK :chân xung chế độ SPI - MOSI(SDI): Master Data Out – Slave In chế độ giao tiếp - MISO(SDO): Master Data In – Slave Out chế độ giao tiếp - IRQ : chân ngắt - GND : chân nối mass - RST : chân reset lại module - VCC : nguồn 3.3V SPI SPI Ứng dụng đọc mã ID thẻ qua hệ thống đọc thẻ RC552 kết nối Arduino Kết nối pin sơ đồ sau: 39 - Pin 13 – SCK - Pin 12 – MISO - Pin 11 – MOSI - Pin – SDA - Pin – RST - GND - Vcc = 3.3V Hệ thống đọc tín hiệu id từ RFID gửi hệ thống hệ thống phân tích liệu PC ardmin Màn hình máy tính hiển thị định danh tên tuổi chức danh Và quản lý thời gian đến công ti kiểm tra xem có muộn hay khơng Thời gian hiển thị xuất file excel Trên mạch hiển thị ngày Khi có người dùng đăng nhập hiển thị dịng chữ tên người dùng 2.2 Sơ đồ khối hệ thống 40 KHỐI ĐỌC THẺ, ĐỌC THỜI Đọc thẻ GIAN THỰC Thẻ từ KHỐI VI XỬ LÝ KHỐI NGUỒN Hình 2.1 Sơ đồ khối hệ thống 2.3 Lưu đồ thuật toán giải thuật KHỐI HIỂN THỊ TFT 1.8 41 Bắt đầu Khai báo hàm thư viện DS1307,RFID Khởi tạo Port, TFT, ngắt S Kiểm tra có tag read_4102(msg) =1 Đún g TFT Hiển thị mã số thẻ,thời gian lên TFT Sơ đồ giải thuật 42 2.4.Thiết kế phần cứng Hình mạch nguyên lý Hình mạch in 43 3.5 Thiết kế phần mềm 44 3.6 Kết luận Sau trình tìm hiểu, nghiên cứu thi cơng, chúng em hoàn thành phần cứng đồ án Đồ án chúng em tập trung thiết kế thi công mạch reader, kết hợp với vi xử lý để hiển thị lên TFT Phần giao tiếp với máy tính phần mềm chúng em chưa thực được, kiến thức thời gian có hạn 3.7 Hướng phát triển đề tài Đề tài phát triển theo hướng sau: Quản lý kiểm sốt vào, quản lý học sinh, chấm cơng nhân viên công ty, Kết hợp phần mềm Visual Studio để thực quản lý giao diện máy tính cập nhật, chỉnh sửa sở liệu phần mềm MySQL Tăng khoảng cách giao tiếp đầu đọc thẻ tag Kết hợp với hệ thống nhận diện bảng số xe để ứng dụng vào quản lý bãi giữ xe thông minh 45 MỤC LỤC /** * Read a RFID card using a mfrc522 reader on your Serial SPI interface * Script is based on the script of Miguel Balboa * This is the Source code for the MFRC522 RFID module The code is written by Abhay S Bharadwaj (abhaysbharadwaj@gmail.com) & Anirb an Chowdhury the code follows CC license, check license.txt for more information All text above must be included in any redistribution * Pin layout: SOFT_SPI_MISO_PIN = - can be changed in the RFID.cpp file SOFT_SPI_MOSI_PIN = - can be changed in the RFID.cpp file SOFT_SPI_SCK_PIN = - can be changed in the RFID.cpp file SOFT_SPI_SS_PIN: Pin - can be changed in the code below SOFT_SPI_RST_PIN: Pin - can be changed in the code below The card number is read using software SPI interface The read value is stored as a string in a variable The stored value is then printed */ #include #include #include #include #include #include #include "softRFID.h" // our software SPI library // Core graphics library // Hardware-specific library for ST7735 // Hardware-specific library for ST7789 "RTClib.h" #if defined(ARDUINO_FEATHER_ESP32) // Feather Huzzah32 #define TFT_CS 14 #define TFT_RST 15 #define TFT_DC 32 #elif defined(ESP8266) #define TFT_CS #define TFT_RST 16 #define TFT_DC #else // For the breakout board, you can use any or pins // These pins will also work for the 1.8" TFT shield #define TFT_CS 10 #define TFT_RST // Or set to -1 and connect to Arduino RESET pin #define TFT_DC #endif 46 // // // // OPTION (recommended) is to use the HARDWARE SPI pins, which are unique to each board and not reassignable For Arduino Uno: MOSI = pin 11 and SCLK = pin 13 This is the fastest mode of operation and is required if using the breakout board's microSD card #define SS_PIN #define RST_PIN RFID rfid(SS_PIN, RST_PIN); //create an instance rfid for the class RFID // For 1.44" and 1.8" TFT with ST7735 use: Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); RTC_DS1307 rtc; //DateTime now; //char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "T hursday", "Friday", "Saturday"}; char _buffer[11]; // For 1.14", 1.3", 1.54", and 2.0" TFT with ST7789: //Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST); // OPTION lets you interface the display using ANY TWO or THREE PINS, // tradeoff being that performance is not as fast as hardware SPI above //#define TFT_MOSI 11 // Data out //#define TFT_SCLK 13 // Clock out // For ST7735-based displays, we will use this call //Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TF T_RST); // OR for the ST7789-based displays, we will use this call //Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TF T_RST); // varables to store data String cardNum; unsigned long RFID; void setup() { pinMode(4, OUTPUT); Serial.begin(9600); #ifndef ESP8266 while (!Serial); // wait for serial port to connect Needed for native USB #endif //Serial.println("initilizing RFID "); rfid.init(); // initilize the RFID module //Serial.println("start "); 47 tft.initR(INITR_BLACKTAB); // Init ST7735S chip, black tab tft.fillScreen(ST77XX_BLACK); tft.setTextWrap(false); tft.fillScreen(ST77XX_BLACK); tft.setCursor(0, 0); tft.setTextColor(ST77XX_RED); tft.setTextSize(1); tft.println("WELL CƠME TO"); tft.setTextColor(ST77XX_YELLOW); tft.setCursor(0, 35); tft.println("MY PRESENTATION"); tft.setTextColor(ST77XX_GREEN); tft.println("MY NAME IS"); tft.setTextColor(ST77XX_BLUE); tft.println("YEN OANH"); tft.setTextColor(ST77XX_MAGENTA); tft.println("DT4-K12"); tft.setTextColor(ST77XX_MAGENTA); delay(100); rectangle_display(); //tft.fillRoundRect(25, 10, 78, 60, 8, ST77XX_BLACK); if (! rtc.begin()) { //Serial.println("Couldn't find RTC"); Serial.flush(); abort(); } if (! rtc.isrunning()) { //Serial.println("RTC is NOT running, let's set the time!"); // When time needs to be set on a new device, or after a power loss, the // following line sets the RTC to the date & time this sketch was compiled rtc.adjust(DateTime(F( DATE ), F( TIME ))); // This line sets the RTC with an explicit date & time, for example to set // January 21, 2014 at 3am you would call: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } // When time needs to be re-set on a previously configured device, the // following line sets the RTC to the date & time this sketch was compiled // rtc.adjust(DateTime(F( DATE ), F( TIME ))); // This line sets the RTC with an explicit date & time, for example to set // January 21, 2014 at 3am you would call: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); //rtc.adjust(DateTime(2021, 4,17, 1, 34, 0)); } void loop() { timenow(); readRfid(); 48 printRfid(); //RTC_display(); } void readRfid() { if (rfid.isCard()) { if (rfid.readCardSerial()) { tft.setCursor(0, 0); for (int i=0; i