1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ ÁN ĐIỆN TỬ NÂNG CAOMô hình máy chấm công tự động

41 57 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN ĐIỆN TỬ NÂNG CAO Mơ hình máy chấm công tự động Người hướng dẫn: GV Hồ Mạnh Cường Người thực hiện: Nhóm – Lớp : D11-KTDT Các thành viên : Nguyễn Văn Đức Nguyễn Quang Huy Nguyễn Thị Hương Hà Nội, tháng năm 2020 LỜI MỞ ĐẦU Ngày nay, khoa học công nghệ phát triển cách mạnh mẽ, việc ứng dụng thiết bị điện tử vào đời sống ngày phổ biến hơn, với thời đại mà hệ thống nhúng lên Từ ứng dụng đơn đồng hồ kĩ thuật số, máy nghe nhạc…đến ứng dụng cho xã hội đèn giao thơng, kiểm sốt nhà máy, cửa tự động…cho đến ứng dụng mang tính quy mô, tầm cỡ robot, phi thuyền không người lái, kiểm soát nhà máy hạt nhân… Với kiến thức học tìm hiểu từ trường học khoa học công nghệ sống đại, em có mong muốn góp thêm phần phát triển xã hội cách học hỏi đưa sản phẩm có ích cho sống Em xin giới thiệu sản phẩm thiết thực cho văn phịng, doanh ngiệp “ hệ thống chấm cơng sử dụng thẻ từ RFID ” Với ý tưởng em mong muốn góp phần giúp cho doanh nghiệp dễ dàng việc chấm công cho cán công nhân công ty tiết kiệm thời gian, tiền bạc Đảm bảo rõ ràng, minh bạch công tác chấm công trả lương cho công nhân LỜI CẢM ƠN Trong thời gian thực Đồ án điện tử nâng cao chúng em tìm hiểu bổ sung học hỏi nhiều kiến thức kinh nghiệm việc thiết kế thực thi công “Hệ thống chấm công tự động” Do điều kiện thời gian kiến thức hạn chế nên đề tài chúng em dừng lại mức nghiên cứu, thiết kế mô mơ hình Trong thời gian thực đồ án, chúng em tham khảo ý kiến giảng viên hướng dẫn, tìm hiểu tài liệu hỗ trợ góp ý từ giảng viên bạn bè anh chị trước Tuy nhiên kiến thức hạn chế nên khơng thể tránh khỏi sai sót, chúng em mong nhận góp ý quý thầy cô bạn để đồ án chúng em hoàn thiện hơn, tạo lập cho chúng em có sở nhìn nhận khả năng, kiến thức, từ có hướng phấn tốt cho đồ án Đặc biệt , chúng em xin gửi lời chân thành cảm ơn đến thầy giáo Hồ Mạnh Cường – Giảng viên trường Đại học Điện Lực trực tiếp hỗ trợ, tận tình hướng dẫn, giúp đỡ bổ sung kiến thức cho chúng em q trình thực hồn thiện đồ án Trong q trình thực đồ án khơng tránh khỏi sai sót, mong nhận góp ý thầy cô bạn Một lần chúng em xin chân thành cảm ơn thầy cô bạn ! NHẬN XÉT (Của giảng viên hướng dẫn) …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………… Hà Nội, ngày tháng năm 2020 Giảng viên hướng dẫn (ký, ghi rõ họ tên) MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN .3 NHẬN XÉT MỤC LỤC CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI ……6 1.1 LÝ DO LỰA CHỌN ĐỀ TÀI .6 1.2.MỤC TIÊU ĐỒ ÁN .6 CHƯƠNG II: THIẾT KẾ ĐỀ TÀI .7 2.1 CHỨC NĂNG BỘ THIẾT BỊ 2.2 THIẾT KẾ PHẦN CỨNG 2.2.1 SƠ ĐỒ KHỐI CHỨC NĂNG 2.2.2 GIỚI THIỆU VỀ BOARD ARDUINO UNO R3 .7 2.2.3 LỰA CHỌN LINH KIỆN & MODULE 2.2.4 THIẾT KẾ MẠCH NGUYÊN LÝ …18 2.3 THIẾT KẾ PHẦN MỀM .21 2.3.1VIẾT MÃ NGUỒN 26 2.4 KẾT QUẢ VÀ ĐÁNH GIÁ 38 2.4.1 KẾT QUẢ ĐẠT ĐƯỢC 38 2.4.2 ĐÁNH GIÁ SẢN PHẨM 39 TÀI LIỆU THAM KHẢO 39 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 Lý lựa chọn đề tài Ngày với phát triển vượt bậc khoa học kỹ thuật, điện tử ứng dụng nhiều lĩnh vực thực tế để phục vụ nhu cầu doanh nghiệp Khi mà doanh nghiệp ngày cố gắng đưa doanh nghiệp đơn giản hóa minh bạch cơng tác hành đặc biệt cơng tác chấm cơng cho nhân viên Thay sáng doanh nghiệp cần cử người trực vào cầm sổ để chấm công cho nhân viên làm muộn để kiểm soát trả lương phù hợp với người ta sử dụng máy móc thay cơng tác có người trực chấm cơng Khi sủ dụng “Hệ thống chấm cơng tự động” nhóm chúng em nghiên cứu doanh nghiệp tiết kiệm nhân cơng thời gian đảm bảo độ xác cao tránh sai lầm có châm trước người quen 1.2 Mục tiêu đồ án  Mục tiêu đồ án chúng em đặt sau hoàn thành xong là:  Mục tiêu cá nhân: - Nắm bắt cấu trúc phần cứng, sơ đồ khối, nguyên lý làm việc mạch điều khiển - Tìm hiểu lập trình Arduino - Biết cách làm đồ án hoàn chỉnh phục vụ cho việc làm đồ án tốt nghiệp sau  Mục tiêu sản phẩm: - Sản phẩm hoạt động ổn định với đầy đủ chức cần thiết cho việc “ Hệ thống chấm công tự động “ - Sản phẩm nhỏ, gọn, mang tính thẩm mỹ cao - Giá thành sản phẩm phù hợp với người doanh nghiệp CHƯƠNG 2: THIẾT KẾ ĐỀ TÀI 2.1 CHỨC NĂNG THIẾT BỊ Sau hồn thiện hệ thống chấm cơng tự dộng có chức sau :  Thực chức quét thẻ từ RFID để nhận dạng nhân viên vào buổi buổi sáng buổi chiều tan làm  Đối với thẻ lạ ( lần quét thẻ) hệ thống yêu cầu người quét thẻ phải nhập mật  Khi nhân viên quét thẻ đủ lần hệ thống tự dộng tính cho nhân viên hồn thành công 2.2 THIẾT KẾ PHẦN CỨNG 2.2.1 Sơ đồ khối chức Hình Sơ đồ khối chức thiết bị 2.2.2 Giới thiệu board Arduino Uno  Giới thiệu Arduino Arduino board mạch vi xử lý sinh thị trấn Ivrea Ý, nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 8bit, ARM Atmel 32-bit Những Model trang bị gồm cổng giao tiếp USB, chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác a Phần cứng Arduino Một mạch Arduino bao gồm vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình mở rộng với mạch khác Một khía cạnh quan trọng Arduino kết nối tiêu chuẩn nó, cho phép người dùng kết nối với CPU board với module thêm vào dễ dàng chuyển đổi, gọi shield Vài shield truyền thông với board Arduino trực tiếp thông qua chân khác nhau, nhiều shield định địa thông qua serial bus I²C-nhiều shield xếp chồng sử dụng dạng song song Arduino thức thường sử dụng dòng chip megaAVR, đặc biệt ATmega8, ATmega168, ATmega328, ATmega1280, ATmega2560 Một vài vi xử lý khác sử dụng mạch Aquino tương thích Hầu hết mạch gồm điều chỉnh tuyến tính 5V thạch anh dao động 16 MHz (hoặc cộng hưởng ceramic vài biến thể), vài thiết kế LilyPad chạy MHz bỏ qua điều chỉnh điện áp onboard hạn chế kích cỡ thiết bị Một vi điều khiển Arduino lập trình sẵn với boot loader cho phép đơn giản upload chương trình vào nhớ flash on-chip, so với thiết bị khác thường phải cần nạp bên Điều giúp cho việc sử dụng Arduino trực tiếp cách cho phép sử dụng máy tính gốc nạp chương trình -Theo nguyên tắc, sử dụng ngăn xếp phần mềm Arduino, tất board lập trình thơng qua kết nối RS-232, cách thức thực lại tùy thuộc vào đời phần cứng Các board Serial Arduino có chứa mạch chuyển đổi RS232 sang TTL Các board Arduino lập trình thơng qua cổng USB, thực thơng qua chip chuyển đổi USB-toserial FTDI FT232 Vài biến thể, Arduino Mini Boarduino khơng thức, sử dụng board adapter cáp nối USB-to-serial tháo rời được, Bluetooth phương thức khác (Khi sử dụng cơng cụ lập trình vi điều khiển truyền thống thay ArduinoIDE, cơng cụ lập trình AVR ISP tiêu chuẩn sử dụng.) - Board Arduino đưa hầu hết chân I/O vi điều khiển để sử dụng cho mạch Diecimila, Duemilanove, Uno đưa 14 chân I/O kỹ thuật số, số tạo xung PWM (điều chế độ rộng xung) chân input analog, sử dụng chân I/O số Những chân thiết kế nằm phía mặt board, thơng qua header 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in thương mại hóa Các board Arduino Nano, Arduino-compatible Bare Bones Board Boarduino cung cấp chân header đực mặt board dùng để cắm vào breadboard -Có nhiều biến thể Arduino-compatible Arduino-derived Một vài số có chức tương đương với Arduino sử dụng để thay qua lại Nhiều mở rộng cho Arduino thực thiện cách thêm vào driver đầu ra, thường sử dụng trường học để đơn giản hóa cấu trúc 'con rệp' robot nhỏ Những board khác thường tương đương điện có thay đổi hình dạng-đơi cịn trì độ tương thích với shield, đơi không Vài biến thể sử dụng vi xử lý hồn tồn khác biệt, với mức độ tương thích khác b Phần mềm Arduino Môi trường phát triển tích hợp (IDE) Arduino ứng dụng crossplatform (đa tảng) viết Java, từ IDE sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language) project Wiring Nó thiết kế để dành cho người tập làm quen với lĩnh vực phát triển phần mềm Nó bao gồm chương trình code editor với chức đánh dấu cú pháp, tự động brace matching, tự động canh lề, compile(biên dịch) upload chương trình lên board với cú nhấp chuột Một chương trình code viết cho Arduino gọi sketch -Các chương trình Arduino viết C C++ Arduino IDE kèm với thư viện phần mềm gọi "Wiring", từ project Wiring gốc, giúp thao tác input/output dễ dàng Người dùng cần định nghĩa hàm để tạo chương trình vịng thực thi (cyclic executive) chạy được: VD : setup(): hàm chạy khởi động chương trình, dùng để thiết lập cài đặt loop(): hàm gọi lặp lại tắt nguồn board mạch -Một chương trình điển hình cho vi điều khiển đơn giản làm cho bóng đèn Led sáng/tắt Trong mơi trường Arduino, ta phải viết chương trình giống sau: #define LED_PIN 13 void setup () { pinMode (LED_PIN, OUTPUT); // Đặt chân 13 làm đầu digital } void loop () { digitalWrite (LED_PIN, HIGH); // Bật LED on delay (1000); // chờ giây (1000 mili giây) digitalWrite (LED_PIN, LOW); // Tắt LED off delay (1000); // chờ 1s } - Một đặc điểm hầu hết board Arduino chúng có đèn LED điện trở nối chân 13 với đất; đặc điểm thuận tiện cho nhiều ứng dụng đơn giản Đoạn code đọc compiler C++ chuẩn chương trình đúng, ta click vào nút "Upload to I/O board" IDE này, copy đoạn code ghi vào file tạm với extra include header phía hàm main () đơn giản nằm phía đáy, để làm cho thàn chương trình C++ khả dụng -Arduino IDE sử dụng GNU toolchain AVR Libc để biên dịch chương trình, sử dụng avrdude để upload chương trình lên board -Vì tảng Arduino vi điều khiển Atmel, môi trường phát triển Atmel, AVR Studio phiên Atmel Studio hơn, sử dụng để làm phần mềm phát triển cho Arduino  Arduino Uno * Ngun tắc hoạt động tồn hệ thống Hình 14 Sơ đồ nguyên lý toàn hệ thống - Khi bắt đầu cấp nguồn vào hình LCD hiển thị dòng chữ “insert card pls” để yêu cầu người dùng đưa thẻ vào phận đọc thẻ - Khi người dùng đưa thẻ vào module đọc thẻ thực việc đọc mã UID thẻ so sánh mã thẻ với sở liệu lưu xem thẻ thẻ cũ hay mới: + Trường hợp thẻ thẻ hệ thống yêu cầu người dùng nhập password nhập pass hệ thống bắt đầu chấm cơng cho người với tên người dùng số thứ tự thẻ mà hệ thống đọc + Trường hợp thẻ thẻ cũ (tức hệ thống đọc thẻ lần rồi) hệ thống tự động tăng số lần chấm công thêm đơn vị cho lần quét thẻ - Mỗi ngày cơng nhân cần qt thẻ lần để tính ngày cơng bắt đầu làm việc hết làm 26 2.3 THIẾT KẾ PHẦN MỀM 2.3.1 Viết mã nguồn /* * MOSI: Pin 11 / ICSP-4 * MISO: Pin 12 / ICSP-1 * SCK: Pin 13 / ISCP-3 * SS: Pin 10 * RST: Pin */ #include #include #include #include #include "Keypad.h" #include #include LiquidCrystal_I2C lcd(0x27, 16, 2); #define SS_PIN 10 #define RST_PIN Servo myservo; RFID rfid(SS_PIN, RST_PIN); // khai bao chan chip select va rst 27 unsigned char reading_card[5]; unsigned char code[100][5]={}; unsigned int count[100] = {0}; // Mảng đọc mã card // mảng lưu mã thẻ đưa vào // mảng đếm cho thẻ unsigned int countTime[100] = {0}; unsigned int count2=0; //biến cấp cho thẻ stt unsigned int c = 0; unsigned char i,j; unsigned int a,b; int led = A1; int led2 = A3; int flag = 0; //cờ phát thẻ mới, =0: ko có thẻ mới, =1: có thẻ String pass; // const byte rows = 4; //số hàng const byte columns = 4; //số cột int holdDelay = 1000; //Thời gian trễ để xem nhấn nút nhằm tránh nhiễu int n = 3; // int state = 0; //nếu state =0 ko nhấn,state =1 nhấn thời gian nhỏ , state = nhấn giữ lâu char key = 0; 28 //Định nghĩa giá trị trả char keys[rows][columns] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}, }; byte rowPins[rows] = {0, 2, 3, 4}; //Cách nối chân với Arduino byte columnPins[columns] = {5, 6, 7, 8}; //cài đặt thư viện keypad Keypad keypad = Keypad(makeKeymap(keys), rowPins, columnPins, rows, columns); // -void setup() { lcd.init(); lcd.begin(16,2); lcd.backlight(); lcd.display(); pinMode(led,OUTPUT); pinMode(led2,OUTPUT); myservo.attach(8); 29 Serial.begin(9600); SPI.begin(); rfid.init(); myservo.write(30); digitalWrite(led,HIGH); } void loop() { lcd.setCursor(0,0); lcd.print("insert card pls"); if (rfid.isCard()) { while (rfid.readCardSerial()) // Nếu có thẻ { for (i = 0; i < 5; i++) { reading_card[i] = rfid.serNum[i]; //Lưu mã thẻ đọc vào mảng reading_card Serial.println(rfid.serNum[i]); } Serial.println(); } // 30 //kiểm tra xem thẻ vừa đọc có khơng xem thẻ thứ thực chức tắt bật đèn, mở cửa (nếu có) for(a=0; a0){ //end pass Serial.println("mat khau vua nhap la:"); // hien thi mat nhập Serial.println(pass); // -lcd.setCursor(0,0); lcd.print("PASS vua nhap:"); lcd.setCursor(0,1); lcd.print(pass); delay(2000); 36 lcd.clear(); // -// -//kiểm tra xem mật hay không if(pass=="260198" || pass ==" 260198" ){ //if2 Serial.println("mat khau chinh xac"); // lcd.setCursor(0,0); lcd.print("PASS CORRECT"); delay(2000); // for(j=0;j

Ngày đăng: 01/09/2021, 10:53

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU

    1.1 . Lý do lựa chọn đề tài

    Mục tiêu đồ án chúng em đặt ra sau khi hoàn thành xong là:

    Mục tiêu cá nhân:

    Tìm hiểu về lập trình Arduino

    Mục tiêu sản phẩm:

    CHƯƠNG 2: THIẾT KẾ ĐỀ TÀI

    2.1. CHỨC NĂNG THIẾT BỊ

    Sau khi hoàn thiện hệ thống chấm công tự dộng sẽ có các chức năng sau :

    Thực hiện chức năng quét thẻ từ RFID để nhận dạng nhân viên vào 2 buổi là buổi sáng và buổi chiều tan làm

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w