Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,25 MB
Nội dung
ĐỒ ÁN TỐT NGHIỆP NGHIÊNCỨU,XÂYDỰNGMƠHÌNHVĂN PHỊNG LÀMVIỆCTHƠNGMINH DANH MỤC CÁC TỪ VIẾT TẮT I2C Inter-integrated Circuit LCD Liquid Crystal Display RAM Random Access Memory UART Universal Asynchronous Receiver-Transmitter I/O Input/Output ĐỒ ÁN TỐT NGHIỆP Trang 3/47 CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu Vănphònglàmviệcthôngminh đề tài nhiều người quan tâm nay, đặc biệt cần thiết cho mơi trường làmviệcvănphòng ngày phát triển việc nam Sẽ có nhiều dạng vănphòngmơhình cơng ty mục tiêu đề tài này, nhiên vănphòng giao dịch ngân hàng mục tiêu hướng tới đồ án Cụ thể xâydựngnghiên cứu hệ thống lấy số thứ tự thôngminh cho khách hàng, với tính áp dụng vào thực tế mục tiêu đề tài hướng đến Hình 1-1 Hệ thống bốc số tự động ngân hàng 1.2 Mục tiêu đề tài Thiết kế mạch vi điều khiển Atmega328p, hiểu ESP8266, tìm hiểu cách truyền liệu kết nối wifi, biết cách kết nối với wifi Thiết kế hệ thống thuận tiện người dùng, cách quy định số thứ tự hệ thống cho phù hợp với phòng giao dịch ngân hàng Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 4/47 Hiểu vậndụng thời gian thực vào hệ thống biết cách reset lại hệ thống thời gian thực Nghiên cứu thiết kế hệ thống phát triển ứng dụng thực tế Thiết kế thi cơng mơhìnhmơ 1.3 Hướng thực đề tài Đọc tài liệu tìm hiểu module ESP8266, module DS1307, vi điều khiển Atmega328p, lấy liệu thống kê thơng qua biểu đồ Tìm hiểu cách lập trình với ATmega328P, ESP8266, dụng module thời gian thực Cách làm quen thao tác linh kiện module Esp8266, Ds1307 Tìm hiểu hệ thống bốc số tự động ngân hàng thực tế, tìm hiểu nguyên lý hoạt động Nghiên cứu thiết kế mơhìnhmơ 60% nội dungnghiêncứu, thi cơng lắp đặt mơhình vật liệu đơn giản phù hợp với kinh phí sinh viên Viết báo cáo theo hướng dễ hiểu, nội dung có tính thực tế dễ phát triển vị trí khác Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 5/47 CHƯƠNG NGHIÊN CỨU VÀ THIẾT KẾ ĐỀ TÀI 1.4 Sơ đồ khối 1.1.1 Sơ đồ khối hệ thống ESP8266 I/O pin Vi điều DS1307 I2C Button khiển I/O pin Hình 2-2 Sơ đồ khối hệ thốngNghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh I2C LCD Hệ thống âm ĐỒ ÁN TỐT NGHIỆP Trang 6/47 Trên sơ đồ khối toàn hệ thống, bao gồm phần: + Thiết bị tín hiệu: có nhiệm vụ truyền tín hiệu điều kiện để vi điều khiển xử lý theo thiết kế Ở thiết bị truyền mức để vi điều khiển xử lý, lúc vi xử lý điều khiển hiển thị LCD theo điều kiện + Vi điều khiển: Xử lý tín hiệu vào thực điều kiện theo thiết kế Trong hệ thống Vi điều khiển vi điều khiển thực chức hiển thị sau: • Hiển thị số thứ tự quầy quầy giao dịch • Hiển thị thời gian thực cho hệ thống • Reset hệ thống tự động xác thời gian thực • Mic gọi số quầy gọi số tự động • Xử lý tín hiệu phím bấm quầy quầy giao dịch • Lưu liệu khách hàng vào ổ cứng + Thiết bị hiển thị (LCD sử dụng cho mô phỏng): Bộ phận hiển thị, thực thi hiển thị từ vi xử lý + Hệ thống âm thanh: thông báo số thứ tự cho khách hàng mic hệ thống âm tự động Hệ thống Màn hình LCD DS1 1.1.2 Sơ đồ khối chi tiết 1.1.1.1 Sơ đồ khối hệ thống lấy số thôngminhNghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminhHình 2-3 Sơ đồ khối chi tiết Nút ĐỒ ÁN TỐT NGHIỆP Trang 7/47 ESP8266 Wifi Hệ thống gồm: + Mạch vi điều khiển xử lý tất liệu đầu vào, tính tốn xuất tín hiệu điều khiển cho toàn mạch + Module ESP8266: giao tiếp I/O pin với vi điều khiển, đưa tín hiệu từ nút nhấn thơng qua Blynk, từ tính toán giá trị cần thiết để hiển thị số thứ tự LCD + Module DS1307: hiển thị thời gian thực cho hệ thống, đưa tín hiệu để reset hệ thống + Hệ thống nút nhấn: Đây hệ thống nút nhấn đặt vị trí nhân viên giao dịch ngân hàng, nút nhấn điều khiển có tác dụng có khách bốc số thứ tự + Mạch điều khiển nút nhấn: mạch lấy tín hiệu từ mạch vi xử lý, có tác dụng đóng hoạc mở nút nhấn theo điều kiện quy định + Màn hình LCD: hiển thị thơng tin hai vị trị, vị trí bốc số trước quầy giao dịch để khách hàng nhìn thấy LCD thị số thứ tự số quầy vị trí lấy số hiểu thị số thứ tự giao dịch số thứ tự vị trí đợi + Nguồn sử dụng trực tiếp 5V Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 8/47 1.1.3 Lựa chọn linh kiện Để đáp ứng yêu cầu, nhiệm vụ khả thiết kế, lập trình, đề tài lựa chọn linh kiện cho hệ thống sau Bảng 2-1 So sánh chip vi xử lý ATmega328P STM32F103R8T PIC16F877A -8 bit, 14 digital -8 bit, 33 I/O pin, -32 bit, 51 I/O pin, I/O pin, analog 3timer pin, 3timer Thông số 7timer -Tốc độ 0-20MHz, -Tốc độ 72MHz, -Tốc độ 0-20MHz, 14KB flash 64KB 32KB flash memory, 2KB memory, memory, 1KB EEPROM, 2.8KB SRAM EEPROM, 2KB RAM SRAM -I2C, SPI, UART flash 20KB -I2C, SPI, UART, CAN, USB -I2C, SPI, UART Kiểu dáng, kích -28 pin, chip cắm, -40 pin, chip cắm, -64 pin, chíp dán, thước nhỏ lớn nhỏ Giá thị trường 36000VND 45000VND 45000VND Đề tài chọn vi điều khiển ATmega328P Vi điều khiển sử dụng phổ biến nay, giá thành rẻ, dễ lập trình, đủ khả đáp ứng yêu cầu kết nối, xử lý lập trình Arduino IDE – phần mềm biên dịch hỗ trợ nhiều Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 9/47 Hình 2-4 Module Esp8266 [3] Module ESP8266: đề tài chọn loại ESP8266MOD, giao tiếp sử dụng chủ yếu module với vi xử lý giao tiếp I/O pin để lấy tín hiệu điều khiển Bảng 2-2 Mơ tả DS1307 [1] Thứ tự chân 1,2 Tên chân X1, X2 Chức Kết nối với thạch anh 32, 768KHz để tạo dao động cho DS1307( dao động Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 10/47 Vbat giây) Cực dương nguồn GND SDA Pin3V GND Đường truyền liệu SCL chuânt I2C Đường xung nhịp SQW(out) chuẩn giao tiếp I2C Tạo xung vng với tần VCC số lập trình 5V Module DS1307: sử dụng module với độ xác thời gian thực cao, sai số tương đối thấp giá thành hợp lý với sinh viên Nguồn pin sử dụng pin 5V có nguồn dự phòng 1.5 Tìm hiểu thành phần, module sử dụng hệ thống 1.1.4 Vi điều khiển Atmega328P Đồ án dùng chíp vi điều khiển Atmega328P 8-bit, nhỏ nhẹ, đủ cung cấp điều kiện để đọc, xử lý tín hiệu điều khiển Hình 2-5 Chíp vi xử lý ATmega328 [2] Atmega328p vi điều khiển họ AVR mới, sản xuất hãng ATmel, dòng vi điều khiển bit mạnh mẽ, hỗ trợ bootloader ngôn ngữ lập trình C, C++ Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 33/47 int F=0; int G=0; int H=0; int button0=2; int button1=3; int button2=4; int button3=5; int button4=6; int button5=7; int button6=9; int button7=10; LiquidCrystal_I2C lcd0(0x3F,20,4); LiquidCrystal_I2C lcd1(0x3D,16,2); LiquidCrystal_I2C lcd2(0x3A,16,2); LiquidCrystal_I2C lcd3(0x3B,16,2); LiquidCrystal_I2C lcd4(0x3C,16,2); char ngay,thang,thu,gio,phut,giay; int nam; void setup() Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 34/47 { // setTime(2,0,2,8,23,11,18); Serial.begin(9600); pinMode(A3,OUTPUT); digitalWrite(A3,1); setlcd(); pinMode( 8, OUTPUT); digitalWrite( 8, HIGH); } char buff[20]; void loop() { setbutton(); setlcd0(); ///////////////////////////////// Get_time(); hengio(); if(thu == 1) { sprintf(buff,"CN %02d:%02d:%02d",gio,phut,giay); lcd0.print(buff); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 35/47 } else { sprintf(buff,"T%d %02d:%02d:%02d",thu,gio,phut,giay); lcd0.setCursor(8,2); lcd0.print(buff); } sprintf(buff,"%02d/%02d/%02d",ngay,thang,nam); lcd0.setCursor(10,3); lcd0.print(buff); if(phut%5==0&giay==0) { set_reset(); } } void hengio() Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 36/47 { if(gio == 10 && phut == 1) { //Serial.println("den gio hen gio"); digitalWrite(A3,0);// bat A3 } } ///////////////////DS1307 int BCDtoDEC(byte num) { return((num / 16) * 10 + (num % 16)); } int DECtoBCD( byte num) { return((num / 10) * 16 + (num % 10)); } void setTime(byte gio,byte phut, byte giay, byte thu, byte ngay, byte thang, byte nam) Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 37/47 { Wire.beginTransmission(0x68); Wire.write(byte(0x00)); Wire.write(DECtoBCD(giay)); Wire.write(DECtoBCD(phut)); Wire.write(DECtoBCD(gio)); Wire.write(DECtoBCD(thu)); Wire.write(DECtoBCD(ngay)); Wire.write(DECtoBCD(thang)); Wire.write(DECtoBCD(nam)); Wire.endTransmission(); } void Get_time() { Wire.beginTransmission(0x68); Wire.write(byte(0x00)); Wire.endTransmission(); Wire.requestFrom(0x68, 7); giay = BCDtoDEC(Wire.read()); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 38/47 phut = BCDtoDEC(Wire.read()); gio = BCDtoDEC(Wire.read()); thu = BCDtoDEC(Wire.read()); = BCDtoDEC(Wire.read()); thang = BCDtoDEC(Wire.read()); nam = BCDtoDEC(Wire.read()); nam = nam+2000; } //////////////////LCD int STT_quay_mot; int STT_quay_hai; int STT_quay_ba; int STT_quay_bon; int mot; int hai; int ba; int bon; void setlcd0() { if(D == HIGH) Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 39/47 { mot++; lcd1.setCursor(9,0); lcd1.print("1"); lcd1.setCursor(10,0); lcd1.print(mot); lcd1.setCursor(9,1); lcd1.print("1"); lcd1.setCursor(10,1); lcd1.print(mot+1); delay(500); } //////////////////////////// if(E == HIGH) { hai++; lcd2.setCursor(9,0); lcd2.print("2"); lcd2.setCursor(10,0); lcd2.print(hai); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 40/47 lcd2.setCursor(9,1); lcd2.print("2"); lcd2.setCursor(10,1); lcd2.print(hai+1); delay(500); } /////////////////////////// if(F == HIGH) { ba++; lcd3.setCursor(9,0); lcd3.print("3"); lcd3.setCursor(10,0); lcd3.print(ba); lcd3.setCursor(9,1); lcd3.print("3"); lcd3.setCursor(10,1); lcd3.print(ba+1); delay(500); } Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 41/47 /////////////////////////// if(H == HIGH) { bon++; lcd4.setCursor(9,0); lcd4.print("4"); lcd4.setCursor(10,0); lcd4.print(bon); lcd4.setCursor(9,1); lcd4.print("4"); lcd4.setCursor(10,1); lcd4.print(bon+1); delay(500); } /////////////////////////// if(A == HIGH) { STT_quay_mot++; lcd0.setCursor(5,2); lcd0.print("1"); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthôngminh ĐỒ ÁN TỐT NGHIỆP Trang 42/47 lcd0.setCursor(6,2); lcd0.print(STT_quay_mot); lcd0.setCursor(6,3); lcd0.print("1"); delay(500); } ////////////////////////// if(B == HIGH) { STT_quay_hai++; lcd0.setCursor(5,2); lcd0.print("2"); lcd0.setCursor(6,2); lcd0.print(STT_quay_hai); lcd0.setCursor(6,3); lcd0.print("2"); delay(500); } /////////////////////////// if(C == HIGH) Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 43/47 { STT_quay_ba++; lcd0.setCursor(5,2); lcd0.print("3"); lcd0.setCursor(6,2); lcd0.print(STT_quay_ba); lcd0.setCursor(6,3); lcd0.print("3"); delay(500); } if(G == HIGH) { STT_quay_bon++; lcd0.setCursor(5,2); lcd0.print("4"); lcd0.setCursor(6,2); lcd0.print(STT_quay_bon); lcd0.setCursor(6,3); lcd0.print("4"); delay(500); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 44/47 } } ////////////Setup LCD void setlcd() { /////////////////////////////////////////Khai báo LCD0 lcd0.init(); lcd0.init(); lcd0.backlight(); lcd0.setCursor(5,0); lcd0.print("Vietcombank"); lcd0.setCursor(2,1); lcd0.print("chao Khach hang"); lcd0.setCursor(0,2); lcd0.print("STT:"); lcd0.setCursor(0,3); lcd0.print("Quay:"); ///////////////////////////////////////Khai báo LCD1 lcd1.init(); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 45/47 lcd1.init(); lcd1.backlight(); lcd1.setCursor(0,0); lcd1.print("Dang GD:"); lcd1.setCursor(0,1); lcd1.print("Doi:"); ///////////////////////////////////////Khai báo LCD2 lcd2.init(); lcd2.init(); lcd2.backlight(); lcd2.setCursor(0,0); lcd2.print("Dang GD:"); lcd2.setCursor(0,1); lcd2.print("Doi:"); ///////////////////////////////////////Khai báo LCD2 lcd3.init(); lcd3.init(); lcd3.backlight(); lcd3.setCursor(0,0); lcd3.print("Dang GD:"); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 46/47 lcd3.setCursor(0,1); lcd3.print("Doi:"); ///////////////////////////////////////Khai báo LCD4 lcd4.init(); lcd4.init(); lcd4.backlight(); lcd4.setCursor(0,0); lcd4.print("Dang GD:"); lcd4.setCursor(0,1); lcd4.print("Doi:"); } ///////////////////////////Reset Arduino void set_reset() { Reset(); } void Reset() { digitalWrite( 8, LOW); Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ĐỒ ÁN TỐT NGHIỆP Trang 47/47 } ////////////////////////////////////////////Set Button void setbutton() { A = digitalRead(button0); B = digitalRead(button1); C = digitalRead(button2); D = digitalRead(button3); E = digitalRead(button4); F = digitalRead(button5); G = digitalRead(button6); H = digitalRead(button7); } Nghiêncứu,xâydựngmơhìnhvănphònglàmviệcthơngminh ... Mơ hình thực tế Hình 3-15 Mơ hình thực tế Nghiên cứu, xây dựng mơ hình văn phòng làm việc thông minh ĐỒ ÁN TỐT NGHIỆP Trang 25/47 Hình 3-16 Quầy Nghiên cứu, xây dựng mơ hình văn phòng làm việc. .. minh ĐỒ ÁN TỐT NGHIỆP Trang 26/47 Hình 3-17 Bàn phím ảo hiển thị quầy Nghiên cứu, xây dựng mơ hình văn phòng làm việc thông minh ĐỒ ÁN TỐT NGHIỆP Trang 27/47 Hình 3-18 Quầy quầy chức Nghiên cứu,. .. gian làm việc, phù hợp với điều kiện thực tế 1.1.10 Hệ thống âm báo Nghiên cứu, xây dựng mơ hình văn phòng làm việc thông minh ĐỒ ÁN TỐT NGHIỆP Trang 17/47 Hệ thống sử dụng mic đặt quầy làm việc,