DO AN TOT NGHIEP dieu khien thiet bi qua module wifi esp8266

54 377 7
DO AN TOT NGHIEP dieu khien thiet bi qua module wifi esp8266

Đ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

3. Nhiệm vụ nghiên cứu Nghiên cứu về vi điều khiển Arduino, cảm biến nhiệt độ và độ ẩm DHT11, phần mềm mô phỏng proteus, ngôn ngữ C và môi trường phát triển tích hợp Arduino IDE. Nghiên cứu Module Wifi Esp8266, phần mềm Virtuino trên điện thoại. 4. Phương pháp nghiên cứu Trong đề tài này em đã sử dụng các phương pháp nghiên cứu: Phương pháp nghiên cứu lí thuyết: tìm hiểu khái niệm, cấu tạo, các thông số kĩ thuật, sơ đồ nối chân giữa Arduino Uno với DHT11 và Esp8266. Tìm hiểu cách sử dụng Apps Virtuino, proteus, ngôn ngữ C và Arduino IDE. Phương pháp nghiên cứu thực nghiệm: thiết kế mạch điều khiển từ xa về nhiệt độ và độ ẩm trên điện thoại di động thông qua Module Wifi Esp8266. 5. Đối tượng nghiên cứu Vi điều khiển Arduino Uno, Module Wifi Esp8266 và cảm biến nhiệt độ và độ ẩm DHT11. 6. Phạm vi nghiên cứu Điều khiển thiết bị nhiệt độ, độ ẩm từ xa bằng điện thoại di dộng thông qua Module Wifi Esp8266. 7. Cấu trúc khóa luận Ngoài phần mở đầu, kết luận, hướng phát triển và tài liệu tham khảo. Khóa luận còn có phần nội dung được chia làm 3 chương. Chương 1. Tổng quan. Chương 2. Mô phỏng và lập trình cho Arduino. Chương 3. Thiết kế, lập trình và lắp đặt mạch điều khiển từ xa về nhiệt độ, độ ẩm trên điện thoại di động thông qua Module Wifi Esp8266.

Khóa luận tốt nghiệp GVHD: Lê Văn Chung ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CÔNG NGHỆ TDH - Trần Xuân Minh ĐIỀU KHIỂN THIẾT BỊ QUA MODULE WIFI ESP8266 KHÓA LUẬN TỐT NGHIỆP SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung Lời Cảm Ơn Trong thời gian làm khóa luận tốt nghiệp, em nhận nhiều giúp đỡ, đóng góp ý kiến bảo tận tình thầy cơ, gia đình, bạn bè Em xin gửi lời cảm ơn chân thành đến Th.S thầy LÊ VĂN CHUNG, giảng viên KHOA CÔNG NGHỆ TDH– trường ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG người tận tình hướng dẫn, bảo em suốt trình làm khóa luận Em chân thành cảm ơn thầy giáo trường ĐẠI HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG nói chung, thầy KHOA CƠNG NGHỆ TDH nói riêng dạy dỗ em Đồng thời, thầy cô truyền cho em kiến thức môn đại cương mơn chun ngành, giúp em có sở lí thuyết vững vàng tạo điều kiện giúp đỡ em suốt trình học tập Cuối cùng, em xin chân thành cảm ơn đến gia đình bạn bè tạo điều kiện, quan tâm, giúp đỡ động viên em suốt trình học tập hồn thành khóa luận tốt nghiệp Mặc dù có nhiều cố gắng q trình làm khóa luận tốt nghiệp, khơng thể tránh khỏi thiếu sót Em mong quý thầy cô bạn SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung đọc nhận xét, góp ý thêm để khóa luận em hoàn thiện Em xin chân thành cảm ơn! Bắc Ninh, ngày tháng năm 2019 Sinh viên thực Trần Xuân Minh SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung MỤC LỤC PHẦN I MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu nghiên cứu Nhiệm vụ nghiên cứu Phương pháp nghiên cứu .2 Đối tượng nghiên cứu Phạm vi nghiên cứu .2 Cấu trúc khóa luận .2 PHẦN II NỘI DUNG CHƯƠNG TỔNG QUAN 1.1 Giới thiệu vi điều khiển Arduino Uno 1.1.1 Lịch sử hình thành Arduino 1.1.2 Tổng quan Arduino 1.1.2.1 Định nghĩa vi điều khiển Arduino 1.1.2.2 Một số board Arduino .5 1.1.3 Giới thiệu Board Arduino Uno 1.1.3.1 Cấu tạo chung 1.1.3.2 Các thông số kĩ thuật Arduino Uno 1.1.3.3 Vi điều khiển 1.1.3.4 Bộ nhớ .8 1.1.3.5 Đặc điểm chức chân Arduino Uno 1.1.3.6 Ứng dụng Arduino 11 1.2 Giới thiệu Module Wifi ESP8266 13 1.2.1 Giới thiệu Module Wifi ESP8266 V1 13 1.2.2 Thông số kỹ thuật 13 1.2.3 Chân kết nối Module Wifi Esp8266 V1 14 1.2.4 Giao tiếp module wifi ESP8266 với Arduino Uno 15 1.3 Giới thiệu Apps Virtuino Android 15 1.4 Cảm biến nhiệt độ độ ẩm DHT11 17 1.4.1 Giới thiệu chung 17 SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung 1.4.2 Thông số kĩ thuật 17 1.4.3 Giao tiếp DHT11 với Arduino Uno 18 CHƯƠNG MƠ PHỎNG VÀ LẬP TRÌNH CHO ARDUINO .19 2.1 Phần mềm mô Proteus 19 2.1.1 Tổng quan phần mềm 19 2.1.2 Cách sử dụng phần mềm Proteus 19 2.1.3 Thư viện Arduino Proteus 22 2.2 Giới thiệu môi trường tích hợp Arduino IDE 22 2.3 Lập trình điều khiển với Arduino .25 2.3.1 Cấu trúc chương trình .25 2.3.2 Ngơn ngữ lập trình cho Arduino 26 2.3.2.1 Giới thiệu ngôn ngữ C 26 2.3.2.2 Các lệnh C 26 CHƯƠNG THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐIỀU KHIỂN TỪ XA VỀ NHIỆT ĐỘ, ĐỘ ẨM TRÊN ĐIỆN THOẠI DI ĐỘNG THÔNG QUA MODULE WIFI ESP8266 35 3.1 Phân tích mạch điều khiển .35 3.1.1 Sơ đồ khối tổng quát 35 3.1.2 Nguyên lý hoạt động hệ thống .36 3.1.3 Lưu đồ thuật toán 36 3.1.4 Nạp code chạy chương trình 37 3.2 Thiết kế mạch thi công mạch điều khiển .40 3.2.1 Xác định mạch điều khiển 40 3.2.2 Giải pháp công nghệ .41 3.2.3 Giải pháp thiết kế 41 3.2.4 Yêu cầu mạch điều khiển .41 3.2.5 Thi công mạch điều khiển 41 3.2.5.1 Kết nối phần cứng nạp chương trình mạch điều khiển .41 3.2.5.2 Hoạt động mạch điều khiển 44 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46 TÀI LIỆU THAM KHẢO 47 SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung DANH MỤC BẢNG Bảng 1.1 Các thông số kĩ thuật board ArduinoUno Bảng 1.2 Sơ đồ nối dây 15 Bảng 1.3 Sơ đồ nối chân 18 Bảng 2.1 Thanh công cụ chuẩn .20 Bảng 2.2 Thanh linh kiện 21 Bảng 2.3 chức vùng Toolbar 23 Bảng 2.4 Các toán tử so sánh 29 Bảng 2.5 Các toán tử logic 29 SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung DANH MỤC HÌNH Hình 1.1 Mẫu thử nghiệm ban đầu Hình 1.2 Một số board Arduino thông dụng .5 Hình 1.3 Board Arduino Uno Hình 1.4 Vi điều khiển ATMega328P Arduino Uno Hình 1.5 Sơ đồ chân vi điều khiển ATMega328P .8 Hình 1.6 Các chân Digital Arduino Uno Hình 1.7 Các chân Analog Arduino Uno 10 Hình 1.8 Các chân lượng Arduino Uno 10 Hình 1.9 Robot dò line điều khiển qua điện thoại 12 Hình 1.10 Sử dụng bo mạch Arduino điều khiển bật đèn tiết kiệm lượng hiển thị thơng tin tốc độ gió, điện ắc quy 13 Hình 1.11 Module Wifi ESP8266 V1 13 Hình 1.12 Sơ đồ chân Module Wifi Esp8266 V1 .14 Hình 1.13 Sơ đồ nối chân Arduino Uno với Module Wifi ESP8266 V1 15 Hình 1.14 Địa ID Thingspeak 16 Hình 1.15 Cài đặt IoT Server điện thoại 16 Hình 1.16 Thiết lập nhiệt độ độ ẩm điện thoại 17 Hình 1.17 Cảm biến nhiệt độ độ ẩm DHT11 17 Hình 1.18 Sơ đồ nối chân Arduino Uno với cảm biến DHT11 18 Hình 2.1 Khung làm việc chung phần mềm Proteus .20 Hình 2.2 Giao diện Arduino IDE .22 Hình 2.3 Vùng Toolbar Arduino IDE 23 Hình 2.4 Minh họa vùng viết chương trình 24 Hình 2.5 Minh họa bước thực chương trình .25 Hình 2.6 Minh họa vùng thông báo .25 Hình 3.1 Sơ đồ khối tổng quát .35 Hình 3.3 Kết nối phần cứng mạch điều khiển 42 Hình 3.4 Đèn Arduino mà module wifi Esp8266 sáng cấp nguồn 42 Hình 3.5 Kiểm tra lỗi chương trình phát tín hiệu .43 Hình 3.6 Nạp chương trình xuống cho mạch điều khiển 43 Hình 3.7 Quá trình nạp thành công 44 Hình 3.8 Kết đo nhiệt độ, độ ẩm hiển thị máy tính 44 Hình 3.9 Kết đo nhiệt độ độ ẩm đưa lên thingSpeak 45 Hình 3.10 Kết nhiệt độ độ ẩm hiển thị Smartphone 45 SVTH: Trần Xuân Minh Khóa luận tốt nghiệp SVTH: Trần Xuân Minh GVHD: Lê Văn Chung Khóa luận tốt nghiệp GVHD: Lê Văn Chung PHẦN I MỞ ĐẦU Lý chọn đề tài Hiện với phát triển xã hội, sống ngày nâng cao việc áp dụng công nghệ khoa học kỹ thuật vào đời sống công việc cần thiết Cùng với phát triển ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà đặc biệt kỹ thuật điều khiển tự động đóng vai trị quan trọng lĩnh vực đời sống khoa học kỹ thuật, quản lý, công nghiêp, nông nghiệp, đời sống, quản lý thông tin Trong thời kỳ phát triển nay, điện thoại di động thiết bị thiếu sống Ngoài chức nghe nhận gọi, nhắn tin, xem phim, chơi game, chụp ảnh… điện thoại cịn có khả giám sát điều khiển thiết bị từ khoảng cách xa thông qua kết nối Internet/Wifi [13] Từ nhu cầu thực tế cần có thiết bị điều khiển, giám sát nhiệt độ độ ẩm gia đình, phịng máy chủ, trung tâm liệu, kho liệu, tủ lạnh vắc xin, tủ lạnh thực phẩm, nhà kính… điện thoại di động, thơng qua Module Wifi Esp8266 Từ đó, có tính linh động cao, cập nhật liệu 24/24h nhằm tăng hiệu quản lý [13] Bên cạnh với xuất Arduino vào năm 2005 Italia góp phần khơng nhỏ cho kinh tế tự động hóa Sự xuất Arduino hỗ trợ cho người nhiều việc lập trình thiết kế, người bắt đầu tìm tịi vi điều khiển mà khơng có nhiều kiến thức, hiểu biết sâu sắc vật lý điện tử Phần cứng thiết bị tích hợp nhiều chức mã nguồn mở Ngơn ngữ lập trình lại vơ dễ sử dụng chia sẻ miễn phí nên Arduino ngày phổ biến phát triển mạnh mẽ toàn giới [1] Xuất phát từ lý em chọn đề tài: “ĐIỀU KHIỂN THIẾT BỊ QUA MODULE WIFI ESP8266” làm đề tài khóa luận tốt nghiệp Trong trình thực đề tài khơng tránh khỏi thiếu sót, em mong nhận góp ý thầy bạn để đề tài hoàn thiện SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung Mục tiêu nghiên cứu Thiết kế mạch điều khiển thiết bị từ xa điện thoại di động nhiệt độ, độ ẩm thông qua Module Wifi Essp8266 Nhiệm vụ nghiên cứu - Nghiên cứu vi điều khiển Arduino, cảm biến nhiệt độ độ ẩm DHT11, phần mềm mô proteus, ngôn ngữ C mơi trường phát triển tích hợp Arduino IDE - Nghiên cứu Module Wifi Esp8266, phần mềm Virtuino điện thoại Phương pháp nghiên cứu Trong đề tài em sử dụng phương pháp nghiên cứu: - Phương pháp nghiên cứu lí thuyết: tìm hiểu khái niệm, cấu tạo, thông số kĩ thuật, sơ đồ nối chân Arduino Uno với DHT11 Esp8266 Tìm hiểu cách sử dụng Apps Virtuino, proteus, ngôn ngữ C Arduino IDE - Phương pháp nghiên cứu thực nghiệm: thiết kế mạch điều khiển từ xa nhiệt độ độ ẩm điện thoại di động thông qua Module Wifi Esp8266 Đối tượng nghiên cứu Vi điều khiển Arduino Uno, Module Wifi Esp8266 cảm biến nhiệt độ độ ẩm DHT11 Phạm vi nghiên cứu Điều khiển thiết bị nhiệt độ, độ ẩm từ xa điện thoại di dộng thông qua Module Wifi Esp8266 Cấu trúc khóa luận Ngồi phần mở đầu, kết luận, hướng phát triển tài liệu tham khảo Khóa luận cịn có phần nội dung chia làm chương Chương Tổng quan Chương Mơ lập trình cho Arduino Chương Thiết kế, lập trình lắp đặt mạch điều khiển từ xa nhiệt độ, độ ẩm điện thoại di động thông qua Module Wifi Esp8266 SVTH: Trần Xuân Minh Khóa luận tốt nghiệp GVHD: Lê Văn Chung  Hàm digitalRead() Đọc tín hiệu điện từ chân Digital (được thiết đặt INPUT), trả hai giá trị HIGHT LOW [10] Cú pháp: digitalRead(pin) Trong đó: pin giá trị digital muốn đọc  Hàm analogRead() Nhiệm vụ analogRead() đọc giá trị điện áp từ chân Analog (ADC) Trên mạch Arduino Uno có chân Analog In, kí hiệu từu A0 đến A5 Trên mạch khác có chân tương tự với tiền tố ‘A’ đứng đầu, sau số hiệu chân [10] analogRead() trả số nguyên nằm khoảng từ đến 1023 tương ứng với thang điện áp mặc định từ 0V đến 5V Có thể điều chỉnh thang điện áp thông qua hàm analogReference() [10] Hàm analogRead() cần 100 micro giây để thực Cú pháp: analogRead([chân đọc điện áp])  Hàm analogWrite() Cho phép xuất mức tín hiệu Analog (phát xung PWM) từ chân mạch Arduino Người ta thường điều khiển mức sáng tối đèn LED hay hướng quay động cách phát xung PWM [10] Cú pháp [10]: analogWrite([chân phát xung PWM],[giá trị xung PWM])  Hàm thời gian delay() Hàm có nhiệm vụ dừng chương trình thời gian mili giây (1000 mili giây = giây) [10] Cú pháp: delay(ms) SVTH: Trần Xuân Minh 32 Khóa luận tốt nghiệp GVHD: Lê Văn Chung đó: ms thời gian mức mili giây, có kiểu liệu usigned long (là kiểu số nguyên nằm khoảng từ đến 294 967 295 (0 đến 32 – 1) Mỗi biến mang kiểu liệu chiếm byte nhớ) [10] 2.3.2.2.5 Giao tiếp máy tính với Arduino Trong q trình làm việc, máy tính Arduino cần trao đổi liệu cho nhau, lúc ta sử dụng truyền thơng nối tiếp hay cịn gọi giao thức chuỗi (Serial) Tất mạch Arduino có cổng Serial (hay gọi UART USART) Arduino hỗ trợ thư viện giao tiếp mạch Arduino với Arduino với máy tính bao gồm hàm thủ tục, gọi thư viện Serial Giao thức Serial thực qua hai cổng digital (RX) (TX) qua cổng USB với máy tính Vì vậy, sử dụng hàm thư viện Serial này, ta sử dụng chân digital digital để làm việc khác [10] Có thể sử dụng bảng Serial monitor có sẵn Arduino IDE để giao tiếp với Arduino giao thức Serial Kích vào biểu tượng Serial Monitor ( ) nhấn tổ hợp phím Ctrl+Shift+M để mở bảng Serial Monitor, sau vào bảng chọn baudrate giống với baudrate dùng trình lập trình, mặc định 9600 [10] SVTH: Trần Xuân Minh 33 Khóa luận tốt nghiệp GVHD: Lê Văn Chung CHƯƠNG THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐIỀU KHIỂN TỪ XA VỀ NHIỆT ĐỘ, ĐỘ ẨM TRÊN ĐIỆN THOẠI DI ĐỘNG THÔNG QUA MODULE WIFI ESP8266 3.1 Phân tích mạch điều khiển Phân tích mạch bước quan trọng giúp xác định kết cấu mạch, thơng số thiết bị để từ có sở thiết kế, điều khiển lắp đặt Phân tích mạch điều khiển thiết bị dùng Module Wifi ESP8266 V1 với sơ đồ khối tổng quát mạch, ngun lí hoạt động, lưu đồ thuật tốn chương trình điều khiển 3.1.1 Sơ đồ khối tổng quát Mạch điều khiển thiết bị dùng Arduino Uno kết nối với Module Wifi ESP8266 V1 cảm biến DHT11 có sơ đồ khối tổng quát thể hình 3.1 Hình 3.1 Sơ đồ khối tổng qt Trong đó: - Khối nguồn: gồm có nguồn cấp cho Arduino Uno 5V-DC lấy từ máy tính điện tử thơng qua cổng USB - Khối điều khiển trung tâm: board Arduino Uno có chức nhận tín hiệu từ cảm biến DHT11 gủi tín hiệu sang Module Wifi Esp8266 V1 SVTH: Trần Xuân Minh 34 Khóa luận tốt nghiệp GVHD: Lê Văn Chung - Khối phát tín hiệu điều khiển: Smartphone điều khiển Module Wifi ESP8266 có chức nhận tín hiệu từ Arduino Uno phát tín hiệu qua wifi truyền lên web có tên ThingSpeak - Khối thiết bị ngoại vi: cảm biến nhiệt độ độ ẩm DHT11 có chức nhận giá trih nhiệt độ độ ẩm từ môi trường  Quy trình kết nối (khi giới thiệu thiết bị có sơ đồ kết nối): - Trước tiên, kết nối Arduino Uno với Module Wifi Esp8266 V1 - Tiếp theo, kết nối cảm biến nhiệt độ, độ ẩm DHT11 với Arduino Uno - Cắm dây USB 5V vào Arduino 3.1.2 Nguyên lý hoạt động hệ thống Đầu tiên, khởi động phần mềm Virtuino Tiếp theo, khởi động chương trình hệ thống thiết lập thông số cần thiết nhận tín hiệu từ Arduino IDE Trong đó, cần thiết lập cổng bo mạch Arduino Người dùng sử dụng phần mềm Arduino IDE để tiến hành viết chương trình code cho mạch điều khiển Mạch điều khiển kiểm tra tiêu chuẩn truyền UART (9600) sau đọc giá trị nhiệt độ, độ ẩm từ cảm biến DHT11 gửi đến Arduino Lúc này, Arduino có giá trị nhiệt độ độ ẩm gửi qua Module Wifi Esp8266 V1 Esp8266 V1 truyền liệu qua wifi gửi lên trang web gọi ThingSpeak Cuối cùng, kết hiển thị lên hình điện thoại thơng qua Apps Virtuino 3.1.3 Lưu đồ thuật tốn Mạch điều khiển thiết bị dùng Module Wifi Esp8266 V1 có lưu đồ thuật tốn hình 3.2: SVTH: Trần Xuân Minh 35 Khóa luận tốt nghiệp GVHD: Lê Văn Chung Hình 3.2 Lưu đồ thuật tốn mạch điều khiển 3.1.4 Nạp code chạy chương trình - Đầu tiên để viết chương trình cho mạch điều khiển ta cần chọn thư viện SoftwareSerial cho phần mềm Arduino IDE - Viết code để nạp cho chương trình kết nối Arduino + Esp8266 V1 + DHT11 gửi lên Thingspeak sau: // Khóa luận // Tạo giao tiếp với esp8266 #include SoftwareSerial espSerial = SoftwareSerial(2,3); // arduino RX pin=2 arduino TX pin=3 SVTH: Trần Xuân Minh 36 Khóa luận tốt nghiệp GVHD: Lê Văn Chung #include //thư viện cảm biến #define DHTPIN // chân input cảm biến #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); String apiKey = "OG23B22NRB99H1D2"; String ssid="WIFI CHUA"; // key API thingSpeak // Nhập wifi String password ="0988366493"; // Nhập pass wifi boolean DEBUG=true; // kiểm tra phản hồi void showResponse(int waitTime){ long t=millis(); char c; while (t+waitTime>millis()){ if (espSerial.available()){ c=espSerial.read(); if (DEBUG) Serial.print(c); } } } //Hàm gửi giá trị lên thingSpeak boolean thingSpeakWrite(float value1, float value2){ String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += "184.106.153.149"; // Kết nối với TCP // api.thingspeak.com cmd += "\",80"; espSerial.println(cmd); if (DEBUG) Serial.println(cmd); if(espSerial.find("Error")){ if (DEBUG) Serial.println("AT+CIPSTART error"); return false; } SVTH: Trần Xuân Minh 37 Khóa luận tốt nghiệp GVHD: Lê Văn Chung String getStr = "GET /update?api_key="; getStr += apiKey; getStr +="&field1="; getStr += String(value1); getStr +="&field2="; getStr += String(value2); getStr += "\r\n\r\n"; // send data length cmd = "AT+CIPSEND="; //Đưa độ dài tập tin cho Esp8266 để nhận cmd += String(getStr.length()); //Lấy độ dài getStr gửi lên Esp8266 espSerial.println(cmd); if (DEBUG) Serial.println(cmd); delay(100); if(espSerial.find(">")){ espSerial.print(getStr); //Nếu tìm thấy kí tự phản hồi lệnh Send gửi liệu lên thingSpeak cho Esp8266 if (DEBUG) Serial.print(getStr); } else{ espSerial.println("AT+CIPCLOSE"); // alert user if (DEBUG) Serial.println("AT+CIPCLOSE"); return false; } return true; } //=============================================== setup void setup() { DEBUG=true; Serial.begin(9600); SVTH: Trần Xuân Minh 38 Khóa luận tốt nghiệp GVHD: Lê Văn Chung dht.begin(); espSerial.begin(115200); espSerial.println("AT+CWMODE=1"); // set esp8266 as client showResponse(1000); espSerial.println("AT+CWJAP=\""+ssid+"\",\""+password+"\""); showResponse(5000); if (DEBUG) Serial.println("Setup completed"); } // chương trình void loop() { // Read sensor values float t = dht.readTemperature(); float h = dht.readHumidity(); if (isnan(t) || isnan(h)) { if (DEBUG) Serial.println("Failed to read from DHT"); } else { if (DEBUG) Serial.println("Temp="+String(t)+" *C"); if (DEBUG) Serial.println("Humidity="+String(h)+" %"); thingSpeakWrite(t,h); } delay(2000); } 3.2 Thiết kế mạch thi công mạch điều khiển 3.2.1 Xác định mạch điều khiển Mạch điều khiển thiết bị qua Module Wifi Esp8266 dùng Arduino bao gồm: - Board Arduino Uno R3 Module Wifi Esp8266 V1 Cảm biến nhiệt độ độ ẩm DHT11 Smartphone chạy hệ điều hành Android Nguồn 5V cấp cho Arduino từ cổng USB Dây nối SVTH: Trần Xuân Minh 39 Khóa luận tốt nghiệp GVHD: Lê Văn Chung Mạch điều khiển thiết bị qua Module Wifi Esp8266 dùng Arduino sử dụng để điều khiển lúc nhiều thiết bị Nhưng để đơn giản tiết kiệm chi phí, mạch sử dụng để điều khiển nhiệt độ, độ ẩm 3.2.2 Giải pháp công nghệ - Mạch sử dụng board Arduino Uno, Module Wifi Esp8266 V1 cảm biến nhiệt độ, độ ẩm DHT11 - Ngôn ngữ lập trình Arduino IDE 3.2.3 Giải pháp thiết kế - Lắp rắp mạch điều khiển với board Arduino Unovà Module Wifi Esp8266 V1; board Arduino Uno Cảm biến DHT11 với thiết bị ngoại vi - Viết chương trình cho mạch điều khiển 3.2.4 Yêu cầu mạch điều khiển - Hoạt động xác - Mạch điều khiển đơn giản - Giá thành thấp, tính ứng dụng cao thực tế - Có khả mở rộng 3.2.5 Thi công mạch điều khiển 3.2.5.1 Kết nối phần cứng nạp chương trình mạch điều khiển Bước 1: Kết nối chân cảm biến DHT11 với chân bo mạch Aruino Uno Tiếp theo tiến hành kết nối chân Module Wifi Esp8266 V1 với chân bo mạch Aruino Uno SVTH: Trần Xuân Minh 40 Khóa luận tốt nghiệp GVHD: Lê Văn Chung Hình 3.3 Kết nối phần cứng mạch điều khiển Bước 2: Tiến hành cấp nguồn cho Arduino Cắm jack USB 5V kết nối máy tính Arduino Lúc này, đèn báo board Arduino module wifi Esp8266 V1 sáng lên báo hiệu mạch khởi động Hình 3.4 Đèn Arduino mà module wifi Esp8266 sáng cấp nguồn Bước 3: Nạp chương trình điều khiển Mở Arduino IDE tiến hành viết chương trình cho mạch điều khiển gửi lên Thingspeak Trước tiên, để kiểm tra chương trình có lỗi hay khơng ta kích chọn biểu tượng Nếu chương trình khơng có lỗi, giao diện xuất dòng “Done compiling” vùng thơng báo SVTH: Trần Xn Minh 41 Khóa luận tốt nghiệp GVHD: Lê Văn Chung Hình 3.5 Kiểm tra lỗi chương trình phát tín hiệu Khi nhận thơng báo chương trình sẵn sàng ta tiến hành nạp chương trình xuống vi điều khiển Arduino Kích chọn biểu tượng Hình 3.6 Nạp chương trình xuống cho mạch điều khiển Nếu q trình nạp thành cơng: SVTH: Trần Xuân Minh 42 Khóa luận tốt nghiệp GVHD: Lê Văn Chung Hình 3.7 Q trình nạp thành cơng 3.2.5.2 Hoạt động mạch điều khiển Sau nạp chương trình cho Arduino hệ thống bắt đầu làm việc cho giá trị nhiệt độ, độ ẩm hình 3.8 Hình 3.8 Kết đo nhiệt độ, độ ẩm hiển thị máy tính Tín hiệu nhận giá trị nhiệt độ độ ẩm đưa lên thingSpeak hình 3.9 SVTH: Trần Xuân Minh 43 Khóa luận tốt nghiệp GVHD: Lê Văn Chung Hình 3.9 Kết đo nhiệt độ độ ẩm đưa lên thingSpeak Cuối Module Wifi Esp8266 V1 đưa tín hiệu nhiệt độ độ ẩm nhận hiển thị Smartphone Hình 3.10 Kết nhiệt độ độ ẩm hiển thị Smartphone SVTH: Trần Xuân Minh 44 Khóa luận tốt nghiệp GVHD: Lê Văn Chung KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Sau thời gian thực đề tài với giúp đỡ, hướng dẫn tận tình thầy LÊ VĂN CHUNG với nổ lực thân, đến em hoàn thành xong đề tài “Điều khiển thiết bị qua Module Wifi Esp8266” thời gian quy định Bởi mạch thực thi thực tế với phần cứng trình bày nên đề tài không tiến hành mô mạch điều khiển  Khóa luận trình bày nội dung chủ yếu sau: - Thứ nhất, giới thiệu tổng quan Arduino, Module Wifi Esp8266 cảm biến nhiệt độ, độ ẩm DHT11 sử dụng mạch điều khiển - Thứ hai, giới thiệu phần mềm ứng dụng Virtuino Android, phần mềm mô Proteus, phần mềm Arduino IDE ngơn ngữ lập trình cho Arduino - Thứ ba, thiết kế mạch điều khiển dùng Module Wifi Esp8266 đưa số hình ảnh thực tế phần thi công mạch  Hướng phát triển đề tài: Đề tài nghiên cứu điều khiển lấy nhiệt độ, độ ẩm ta phát triển thêm cách kết nối Arduino với module Relay điều khiển thiết bị sử dụng điện 220V gia đình, phát triển để thiết kế mạch điều khiển xe điều khiển từ xa, làm mô hình tưới nước tự động Trên thực tế, Arduino cịn có nhiều ứng dụng khác điều khiển loại máy móc cần độ xác cao, điều khiển máy bay không người lái, điều khiển xe mơ hình, Arduino chọn xử lý trung tâm nhiều Robot Do đó, xem phát triển Arduino bước tiến công nghệ, giúp cho khoa học kĩ thuật ngày phát triển SVTH: Trần Xuân Minh 45 Khóa luận tốt nghiệp GVHD: Lê Văn Chung TÀI LIỆU THAM KHẢO [1] Arduino – tảng việc điều khiển tự động, truy cập 22h ngày 24/12/2017 http://blog.siliconstraits.vn/arduino-nen-tang-moi-trong-viec-dieu-khien-tu-dong/ [2] Báo cáo đồ án – thiết kế mạch đo nhiệt độ sử dụng board arduino hiển thị led truyền phát không dây, khoa điện trường ĐH bách khoa Hà Nội, truy cập 19h ngày 27/12/2017 http://luanvan.co/luan-van/de-tai-thiet-ke-mach-do-nhiet-do-su-dung-board-arduinohien-thi-tren-4-led-7-thanh-va-truyen-phat-khong-day-su-dung-52990/ [3] Nguyễn Trung Tín, Hướng dẫn sử dụng Arduino, TP HCM, 2014 [4] Robot dò line điều khiển qua điện thoại, trường ĐH Bà Rịa Vũng Tàu, truy cập ngày 2/1/2018 http://thuvienso.bvu.edu.vn/bitstream/TVDHBRVT/16119/1/Nguyen-Quoc-An.pdf [5] http://www.epu.edu.vn/cnck/Default.aspx?BT=14869 [6] Mạch thu phát wifi Esp8266 V1, truy cập 8h ngày 14/3/2018 http://hshop.vn/products/mach-thu-phat-wifi-esp8266-v1 [7] Cảm biến nhiệt độ độ ẩm DHT11 chân, truy cập 10h ngày 14/3/2018 http://hshop.vn/products/cam-bien-do-am-nhiet-do-dht11 [8] Báo cáo hướng dẫn sử dụng phần mềm mô proteus, truy cập 19h ngày 16/3/2018 http://doc.edu.vn/tai-lieu/bao-cao-huong-dan-su-dung-phan-mem-mo-phong-proteus59163/ [9] Phạm Quang Huy – Lê Cảnh Trung, Lập trình điều khiển với Arduino, NXB Khoa Học Kỹ Thuật, 2014 [10] Ngôn ngữ lập trình Arduino, truy cập 19h ngày 18/3/2018 http://arduino.vn/reference [11] Điều khiển giám sát qua điện thoại, truy cập 20h ngày 1/4/2018 https://hocarm.org/dieu-khien-va-giam-sat-qua-dien-thoai-voi-esp8266-va-blynk/#ftocheading-3 [12] Trang ThingSpeak web, truy cập ngày 24/4/2018 https://thingspeak.com/channels/480815/api_keys [13] Esp8266 kết nối internet phần 1, truy cập ngày 25/4/2018 http://arduino.vn/bai-viet/1496-esp8266-ket-noi-internet-phan-1-cai-dat-esp8266-lammot-socket-client-ket-noi-toi [14] Hướng dẫn sử dụng Module Wifi Esp8266 V1 với Arduino Uno R3, truy cập ngày 29/4/2018 http://tdhshop.com.vn/huong-dan-su-dung-module-wifi-esp8266-v1-voi-arduino-unor3 SVTH: Trần Xuân Minh 46

Ngày đăng: 21/12/2020, 22:04

Từ khóa liên quan

Mục lục

  • 1.1.3.5.1 Các cổng vào và ra

  • 1.1.3.5.2 Các chân cấp nguồn

  • 2.3.2.2.1 Giá trị

  • 2.3.2.2.2 Cấu trúc

  • 2.3.2.2.3 Các cấu trúc điều khiển

  • 2.3.2.2.4 Các hàm và thủ tục

  • 2.3.2.2.5 Giao tiếp giữa máy tính với Arduino

Tài liệu cùng người dùng

Tài liệu liên quan