GIỚI THIỆU
GIỚI THIỆU ĐỀ TÀI
Ngày nay, thế giới đang có sự phát triển nhanh chóng của khoa học kỹ thuật, nhiều công nghệ ra đời với mục đích làm cho mọi việc trở nên đơn giản, tiện lợi nhằm đáp ứng nhu cầu ngày càng cao của con người trong mọi lĩnh vực
Trên thế giới, sử dụng công nghê RFID trong nhiều lĩnh vực Còn ở Việt Nam, yêu cầu về đổi mới, nâng cao chất lƣợng kinh doanh và thời gian làm việc cho nhân viên trong doanh nghiệp, việc sữ dụng công nghệ RFID để quản lý ngày công của nhân viên là cấp thiết
Việc sữ dụng công nghệ RFID để quản lý ngày công của nhân viên cũng đem lại nhiều lợi ích thiết thực nhƣ: Tự động cập nhật tính toán ngày công cho từng nhân viên giúp các công ty thu thập toàn bộ dữ liệu nhân viên mọi lúc, mọi nơi để tính hóa đơn mà không cần nhân viên kế toán, giảm tối đa nhân viên kế toán hoạch toán; truy suất phiếu công cho từng nhân viên ; dễ dàng mở rộng phạm vi thu thập dữ liệu cho nhân viên mà không cần đầu tư thêm đường truyền [1] Để cho hệ thống có thể tự động và nhân viên hoàn toàn chủ động trong việc theo dỏi ngay công của mình, nhóm thực hiện đề tài đã quyết định xây dựng hệ thống chấm công online thông qua mạng internet.
MỤC TIÊU CỦA ĐỀ TÀI
Đề tài này đƣợc thực hiện với những mục tiêu chủ yếu sau đây:
Hiểu và sử dụng đƣợc các tính năng cơ bản của arduino: giao tiếp với thiết bị nhƣ LCD, Module RFID, các ngắt trong arduino
Biết cách giao tiếp qua mạng và truyền gửi dữ liệu giữa arduino và Web
Sử dụng và truy xuất cơ sở dữ liệu trên nền tảng MySQL
Tạo đƣợc các chức năng quản lý trên Server từ việc thêm nhân viên,chỉnh sửa nhân viên, in bảng ngay công
Cố gắng giải quyết các biến cố trong quá trình hoạt động.
GIỚI HẠN ĐỀ TÀI
Với khả năng kiến thức hữu hạn, đề tài xin đƣa ra các giới hạn nghiên cứu sau:
Phần mềm quản lý đƣợc viết bằng PHP
Giao diện dễ sử dụng
Cập nhật ngày công của nhân viên mỗi ngày
BỐ CỤC ĐỀ TÀI
Quyển luận văn này được trình bày với 5 chương như sau:
Trong chương này nhóm thực hiện đề tài trình bày vai trò và ứng dụng của hệ thống chấm công online, mục đích của đề tài, giới hạn nghiên cứu của đề tài.
CƠ SỞ LÝ THUYẾT
N GÔN N GỮ PH P
PHP (viết tắt "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình hay một loại mã lệnh chủ yếu đƣợc dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do đƣợc tối ƣu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành mộtngôn ngữ lập trình web phổ biến nhất thế giới Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng nhƣ thế nào:
Hình 2.1: ví dụ về mã PHP
Thẻ sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP
Ngôn ngữ, các thƣ viện, tài liệu gốc của PHP đƣợc xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc
Hình 2.2: ví dụ về mã PHP đã đƣợc làm nổi bật bằng màu nhúng trong HTML PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó Bất cứ mã nào nằm ngoài những dấu giới hạn đều đƣợc xuất ra trực tiếp không thông qua xử lý bởi PHP Các dấu giới hạn thường dùng nhất là , tương ứng với dấu giới hạn mở và đóng Các dấu giới hạn và cũng đôi khi đƣợc sử dụng Cách viết dấu giới hạn dạng thẻ ngắn cũng có thể đƣợc dùng để thông báo bắt đầu đoạn mã PHP, là Những thẻ này thường xuyên được sử dụng.
HỆ QUẢN TRỊ MY S QL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và đƣợc các nhà phát triển rất ƣa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS
X, Unix,FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL đƣợc sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl, SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL Các câu lệnh SQL đƣợc sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL
SQL hoạt động với hầu hết các chương trình CSDL như: MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase v.v
BOARD ARDUINO
Arduino ngày nay đƣợc dung rất rộng rãi và phổ biến trong điện tử, vì nó đơn giản, hiệu quả và dễ tiếp cận Arduino là một nền tảng mã nguồn mở đƣợc sử dụng để xây dựng các ứng dụng điện tử Về phần cứng bao gồm một bảng mạch điện tử phần cứng dạng nguồn mở đƣợc thiết từ bộ vi xử lý 8-bit Atmel AVR , hoặc 32-bit Atmel ARM Về ngôn ngữ lập trình cho thì rất dễ dàng tiếp cận với ngôn ngữ lập trình chuẩn C/C++ Việc nạp chương trình cho Arduino cũng rất thuận tiện, không cần phải có các công cụ chuyên biệt phục vụ việc nạp chương trình, đối với arduino thì chỉ cần kết nối với máy tính thông qua cổng USB, rất tiện lợi [2] Đã nói về arduino dùng để lập trình thì dòng arduino UNO đƣợc dùng phổ biến, tiện lợi nhất Hiện nay dòng arduino UNO này đã phát triển tới thế hệ thứ 3
Hình 2.3 Sơ đồ tổng quát của board Arduino UNO R3
Vi điều khiển ATmega328 (họ 8 bit) Điện áp hoạt động 5V – DC (chỉ đƣợc cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ 30mA Điện áp vào 7-12V – DC Điện áp vào giới hạn 6-20V – DC
Số chân Digital I/O 14 (6 chân PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải đƣợc nối với nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
EEPROM: 1KB (ATmega328) và 4KB (ATmega2560
SRAM: 2KB (Atmega328) và 8KB (Atmega2560)
Flash: 32KB (Atmega328) và 256KB (Atmega2560)
Serial : Đây là chuẩn giao tiếp nối tiếp đƣợc dùng rất phổ biến trên các board mạch Arduino Mỗi board có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chip thực hiện) Mức tín hiệu của các cổng này là TTL 5V Lưu ý cổng nối tiếp RS-232 trên các thiết bị hoặc PC có mức tín hiệu là UART 12V Để giao tiếp đƣợc giữa hai mức tín hiệu, cần phải có bộ chuyển mức, ví dụ nhƣ chip MAX232 Số lƣợng cổng Serial cứng của Atmega328 là 1 và của Atmega2560 là 4.Với tính năng giao tiếp nối tiếp, các board Arduino có thể giao tiếp đƣợc với rất nhiều thiết bị nhƣ PC, touchscreen, các game console…
USB: Các board Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nối với máy tính dùng cho việc tải chương trình Tuy nhiên các chip AVR không có cổng USB, do đó các board Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tín hiệu UART Do đó máy tính nhận diện cổng USB này là cổng COM chứ không phải là cổng USB tiêu chuẩn
SPI: Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây
Với tính năng này các board Arduino có thể kết nối với các thiết bị nhƣ LCD, bộ điều khiển video game, bộ điều khiển cảm biến các loại, đọc thẻ nhớ SD và MMC…
TWI (I2C): Đây là một chuẩn giao tiếp đồng bộ khác nhƣng bus chỉ có hai dây Với tính năng này, các board Arduino có thể giao tiếp với một số loại cảm biến nhƣ thermostat của CPU, tốc độ quạt, một số màn hình OLED/LCD, đọc real-time clock, chỉnh âm lƣợng cho một số loại loa… [2]
2.3.5 Phần mềm lập trình Arduino IDE
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là số lƣợng thƣ viện code đƣợc viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn
Hình 2.5 Giao diện IDE của Arduino
Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm
Ngôn ngữ lập trình có thể đƣợc mở rộng thông qua các thƣ viện C++ Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn Arduino Toolbar: có một số button và chức năng của chúng nhƣ sau :
Verify : kiểm tra code có lỗi hay không
Upload: nạp code đang soạn thảo vào Arduino
New, Open, Save : Tạo mới, mở và Save sketch
Serial Monitor: Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính
C ÔNG NGHỆ RFID VÀ MODULE RFID RC 522
RFID (Radio Frequency Identification, nhận dạng bằng sóng vô tuyến) là một phương pháp nhận dạng tự động dựa trên việc lưu trữ dữ liệu từ xa, sử dụng thiết bị thẻ RFID và một đầu đọc RFID Các tần số thường được sử dụng trong hệ thống RFID là 125Khz hoặc 900Mhz
Thẻ RFID có thể thay thế cho các mã vạch trên các sản phẩm có bán tại các siêu thị bán lẻ Thay vì phải đƣa thiết bị vào sát mã vạch để quét, RFID cho phép thông tin có thể đƣợc truyền qua những khoảng cách nhỏ mà không cần một tiếp xúc vật lý nào cả
Thẻ RFID đƣợc đƣa vào sử dụng trong rất nhiều lĩnh vực nhƣ: Quản lý nhân sự, quản lý hàng hóa vào/ra siêu thị, nhà kho, theo dõi động vật, quản lý xe cộ qua trạm thu phí, làm thẻ hộ chiếu …
Một thiết bị hay một hệ thống RFID đƣợc cấu tạo bởi hai thành phần chính là thiết bị đọc ( reader) và thiết bị phát mã RFID có gắn chip hay còn gọi là tag Thiết bị đọc đƣợc gắn antenna để thu- phát sóng điện từ, thiết bị phát mã RFID tag đƣợc gắn với vật cần nhận dạng, mỗi thiết bi RFID tag chứa một mã số nhất định và không trùng lặp nhau
Có 2 loại thẻ RFID passive tag và active tag:
Passive tags: Không cần nguồn ngoài và nhận nằng lƣợng từ thiết bị đọc Khoảng cách đọc ngắn
Active tags: Đƣợc nuôi bằng PIN, sử dụng với khoảng cách đọc lớn
Hình 2.6 Cấu tạo của thẻ RFID
Hình 2.7 Nguyên lý hoạt động
Thiết bị RFID reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị RFID tag trong vùng hoạt động sẽ cảm nhận đƣợc sóng điện từ này và thu nhận năng lƣợng từ đó phát lại cho thiết bị RFID Reader biết mã số của mình Từ đó thiết bị RFID reader nhận biết đƣợc tag nào đang trong vùng hoạt động
Module RFID RC 522 sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56mhz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID
Tần số hoạt động: 13.56MHz
Hỗ trợ các loại thẻ: mifare1 S50, S70 mifare1, Mifare siêu nhẹ, Mifare Pro, Mifare DESFire
Hình 2.8 Module RFID RC 522 và thẻ RFID Module RFID RC
Nhiệt độ hoạt động: -20-80 độ C
Nhiệt độ bảo quản môi trường xung quanh: -40-85 độ C Độ ẩm tương đối: 5% -95%.
MODULE WIFI ESP 8266
Module ESP8266 là module wifi phổ biến và đƣợc đánh giá rất cao cho các ứng dụng liên quan đến Internet và Wifi cũng nhƣ các ứng dụng truyền nhận sử dụng thay thế cho các module RF khác với khoảng cách truyền lên tới 100 mét (Môi trường không có vật cản) Trên 400m với anten và router thích hợp
Wi-Fi 2.4 GHz, hỗ trợ WPA/WPA2
Chuẩn điện áp hoạt động: 3.3V (nếu nhầm 5V sẽ gây chết Module) Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến 115200
Có 3 chế độ hoạt động: Client; Access Point; Both Client and Access Point
Hỗ trợ các chuẩn bảo mật nhƣ: OPEN, WEP, WPA_PSK, WPA2_PSK, WPA_WPA2_PSK
Hỗ trợ cả 2 giao tiếp TCP và UDP
Làm việc nhƣ các máy chủ có thể kết nối với 5 máy con
LED chỉ báo truyền nhận TX / RX
LCD 16X2 VÀ MODULE I2C
Hiện nay trên thị trường có nhiều loại LCD khác nhau, nhưng ta thường dùng đó là loại LCD 16 x 2
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ và chỉ đƣa các chân giao tiếp cần thiết
Hình 2.11 Sơ đồ chân LCD 16x2
Mạch điều khiển màn hình 16x02 giao tiếp I2C sử dụng IC điều khiển màn hình kí tự gồm 16 cột và 2 dòng giúp tiết kiệm dây nối với vi điều khiển (hoặc Arduino) cho khả năng hiển thị nhanh với nhiều chức năng
Thông thường, để điều khiển và hiển thị được kí tự từ vi điều khiển xuất ra màn hình 16x02 bạn cần tới 7-8 dây nối đến chân vi điều khiển Điều này gây ra rất nhiều phiền toái: đi sai dây, mạch rườm ra, khó viết code
Những điều này đƣợc mạch điều khiển màn hình khắc phục hoàn toàn vì số lƣợng dây tín hiệu giảm còn duy nhất: 2 dây Bằng việc sử dụng giao tiếp I2C, việc điều khiển trực tiếp màn hình đƣợc chuyển sang cho IC xử lý nằm trên mạch Người dùng chỉ việc gửi các mã lệnh cùng nội dung hiển thị, do vậy giúp vi điều khiển có nhiều thời gian để xử lý các tiến trình phức tạp khác
Ƣu điểm của việc sử dụng giao tiếp I2C
- Giao tiếp I2C chỉ sử dụng duy nhất 2 dây tín hiệu: SDA và SCL giúp tiết kiệm chân trên vi điều khiển
- Tốc độ truyền dữ liệu lên đến 400Kbps
- Dữ liệu truyền nhận đảm bảo tính toàn vẹn vì sử dụng cơ chế phản hồi (ACK) trên mỗi byte dữ liệu
- Có khả năng kết nối nhiều thiết bị với nhau: trên mạch có sẵn các mối hàn A0, A1, A2 để thay đổi địa chỉ của module.
MODULE SDCARD
Mini SD Card Module giao tiếp nhƣ một thiết bị ngoại vi để có thể kết nối đến vi điều khiển Qua chương trình bạn có thể đọc và viết trực tiếp lên SD Card
Có thể sử dụng cho phát nhạc MP3, các hệ thống vi điều khiển thông qua chuẩn giao tiếp SPI
Thứ tự chân: GND-VCC-MISO-MOSI-CS
THIẾT KẾ HỆ THỐNG
YÊU CẦU BÀI TOÁN
Hệ thống phải đạt đƣợc các yêu cầu sau cơ bản sau :
Giao tiếp, truyền dữ liệu qua lại giữa Server và Client qua mạng internet bằng Module ESP8266
Lấy đƣợc thời gian nhân viên quét thẻ
- Có bộ phận hiển thị, thu nhập dữ liệu giao tiếp với nhân viên
- Có bộ phận thông báo thông tin nhân viên đã đƣợc cập nhật
- Lưu dữ liệu vào thẻ nhớ
- Có hệ thống cơ sở dữ liệu lưu trữ thông tin nhân viên, có thể xem thông tin nhân viên
- Có mục đăng ký, đăng nhập xem ngày công cho mỗi nhân viên
- Có mục tùy chọn để điều chỉnh thông tin cho nhân viên.
T HIẾT KẾ PHẦN CỨNG
Hình 3.1 Sơ đồ hệ thống
Nguồn có nhiệm vụ cung cấp điện cho hệ thống hoạt động trơn tru và ổn định Nguồn sử dụng là nguồn 5-12VDC có thể lấy từ nguồn USB máy tính , cung cấp nguồn cho các khối khác ở trong mạch
Khối module này có nhiệm vụ nhập cú pháp và mã số truyền lên Arduino thực hiện các công việc đăng nhập thông tin khách hàng, nạp tiền, đổi mã pin
Board Arduino có chức năng nhận dữ liệu từ Arduino promini và Realtime , xuất tín hiệu này ra LCD, thông báo các sự kiện tương tác khác
Khối giao tiếp Internet: ESP 8266
Truyền thông tin nhận đƣợc lên Web server
Khối hiển thị + báo hiệu: LCD + led
LCD dùng để hiển thị ID và thời gian quét thẻ của nhân viên khi nhân viên tiến hành điểm danh tính công
Led khi nhận đƣợc tín hiệu gửi lên thì Arduino sẽ phát một tín hiệu báo này đƣợc truyền tới khối Alarm dùng để cảnh báo
Nhận dữ liệu quẹt thẻ gửi qua Board Arduino (client)
Khối này có chức năng cung cấp thời gian khi có người quẹt thẻ
Khối module này có nhiện vụ lưu mã thẻ và thời gian quẹt thẻ vào SD card, tránh trường hợp không gửi được lên web
Hệ thống có nguyên lý hoạt động nhƣ sau :
Tại thời điểm quet thẻ thì Arduino Pro Mini sẽ đọc ID của thẻ qua module RFID sau đó gửi qua Board Arduino(client).Trên Board Arduino(client) tại thời điểm Arduino pro mini gửi mã thẻ qua sẽ lấy thời gian quét thẻ trên module RealTime, tại đây xử lý các thông tin nhận đƣợc truyển qua module ESP 8266 truyền lên Server, đồng thời ID và thời gian đó sẽ được lưu vào file txt trong thẻ
Khi nhân viên ra về cũng tiến hành quét thẻ, quy trình tương tự như trên Sau đó Server tính toán thời gian quét thẻ với thời gian lam việc mặc định cho ra thời gian nhân viên đó lam viêc trong ngày
3.2.3 Thiết kế chi tiết các khối
Hình 3.2 Khối vi điều khiển và giao tiếp mạng
Hình 3.2 khối điều khiển các chân ESP8266 đƣợc cắm lên các chân board Arduino uno r3 Trong đó sẽ có các chân 11,10 của Arduino sẽ làm nhiệm vụ truyền nhận dữ liệu với ESP8266
Bảng 3.1 So sánh Board Arduino, PIC 18F4550, AT89xx
Board Arduino PIC 18F4550 AT 89xx
Số chân Digital I/O :14 (6 chân PWM)
Số chân Analog 6 (độ phân giải 10bit)
Giao tiếp : USB, Serial, SPI
Giá cả : đắt hơn PIC và
Vi điều khiển 8 bit Tốc độ 20MHZ
Có 3 kiểu định địa chỉ
Bộ nhớ Flash 32kByte SRAM : 2KB
256 Byte Chuẩn kết nối USB, SPI, I2C
Giá cả : đắt hơn 89, rẻ hơn board Arduino
Phiên bản 8051, vi điều khiển 8 bit
Tốc độ 12Mhz Chân vào ra :32 Cổng nối tiếp: 1 Nguồn ngắt : 6
Hỗ trợ giao tiếp ISP Qua cổng COM, USB Giá cả rẻ hơn so Arduino và PIC
Theo Bảng 3.1, vi điều khiển 89S52, PIC thì giá 50000vnđ và 12000vnđ nhƣng nó là 1 loại vi điều khiển rời rạc, để tạo thành một mạch hoàn chỉnh phải thiết kế nguyên lý, phải layout mạch xong phải đi in rửa mạch hàn mạch nhƣng khi lập trình muốn nạp code phải tốn tiền mua bộ nạp code với giá 150000 vnđ Còn giá thành Arduino uno r3 nằm khoảng 210.000vnđ đến 300.000vnđ, trong khi đó không phải tốn thời gian thi công mạch, tiết kiệm đƣợc thời gian rất phù hợp với túi tiền sinh viên
Arduino là loại module có thể kết hợp nhiều loại module khác mà không cần thi công, hỗ trợ nhiều tập thư viện có sẵn rất phù hợp người lập trình, lập trình rất giống nhƣ ngôn ngữ C cơ bản
Hình 3.3, các chân 5,6,7,8 sẽ là các chân báo hiệu: LED báo hiệu hệ thống hoạt động, LED báo đúng nhân viên công ty quẹt thẻ, LED báo không đúng nhân viên công ty quẹt thẻ, LED báo truyền dữ liệu
Hình 3.4, để tiết kiệm chân arduino và tiện cho việc lập trình, nhóm thực hiện đề tài kết hợp module I2C vào LCD 16x2 Lúc đó chỉ cần 2 chân A4, A5 là có thể giao tiếp hiển thị tốt những thông số cho khách hàng
Hiện nay trên thị trường có rất nhiều loại LCD được phổ biến, loại LCD 16x2 đang phổ biến đối với nhiều sinh viên và giá thành chỉ có 55000 đồng tiết kiệm cho sinh viên hơn
Hình 3.5 Khối lưu dữ liệu
Hình 3.5, 7 chân của SD card sẽ nối với chân 11,12,13 của ARduino theo chuẩn SPI, và chân điều khiển 4
Hình 3.6, các chân 9,10,11,12,13 sẽ nối với các chân SDA, MOSI, MISO, RST
Khối thời gian thực (Realtime)
Hình 3.7 giống nhƣ LCD Realtime cung giao tiếp với Arduino qua chuẩn I2C bằng chân A4,A5 của Arduinoi với chân SDA, SCL
Ngoài ra chuẩn I2C còn có thể giao tiếp nhiều thiết bị khác :
Hình 3.9 Sơ đồ kết nối
KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ KẾT QUẢ
KẾT QUẢ ĐẠT ĐƢỢC
Hệ thống thi công gồm 3 phần :
Phần Arduino Pro Mini là mô hình quét thẻ từ RFID gửi qua Board Arduino (client)
Phần Board Arduino (client) nhận mã thẻ từ Pro Mini lấy thời gian nhận được mã thẻ gửi lên web Server và lưu dữ liệu vào Micro SD card
Phần Server là 1 phần mềm đƣợc chạy trên giao diện Web
Hai phần đƣợc giao tiếp thông qua Wifi có kết nối internet
Hình 4.3 Xem danh sach nhân viên
Chỉ có quản lý mới có thể thêm, xóa, sửa thông tin nhân viên
Nhân viên chỉ có thể xem và sửa thông tin của cá nhân
Hình 4.4 Xem bảng công theo nhân viên
Hình 4.5 Xem bảng công củ 1 nhân viên
Hình 4.7 Client băt đầu hoạt động
Hình 4.8 Client kêt nối mạng internet
Hình 4.9 Nhân viên quét thẻ