Báo cáo bài tập lớn thiết kế hệ thống nhúng đề tài thiết kế mạch đo nhiệt độ, độ ẩm rồi truyền dữ liệu lên máy tính qua wifi

30 13 0
Báo cáo bài tập lớn thiết kế hệ thống nhúng đề tài thiết kế mạch đo nhiệt độ, độ ẩm rồi truyền dữ liệu lên máy tính qua wifi

Đ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

.c om TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG co ng BÁO CÁO BÀI TẬP LỚN THIẾT KẾ HỆ THỐNG NHÚNG on g th an Đề tài: Thiết kế mạch đo nhiệt độ, độ ẩm truyền liệu lên máy tính qua wifi du Giảng viên hướng dẫn: Nguyễn Minh Tuân: 20179501 cu u Sinh viên: Nguyễn Việt Dũng: 20121427 Lê Văn Dưỡng : 20130767 Nguyễn Thanh Liêm: 20121969 Hà Nội, 12 - 2017 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC LỜI CẢM ƠN MỞ ĐẦU Chương I:Tổng quan giới thiệu chung thành phần mạch 1.1 ARDUINO 1.1.1 ? 1.1.2 1.1.3 Module Wifi ESP8266 V1 11 om 1.2 11 1.2.2 11 1.2.3 12 1.2.4 Giao tiếp lệnh AT với ESP8266 12 ng c 1.2.1 11 14 co 1.3 14 1.3.2 14 an 1.3.1 Giới thiệu Arduino IDE ngơn ngữ lập trình cho Arduino 17 1.5 Tìm hiểu ngơn ngữ lập trình web HTML giao thức HTTP 18 g th 1.4 HTML 18 1.5.2 Giao thức HTTP 19 du on 1.5.1 Chương II: Thiết kế mạch thực lắp mạch thực tế 21 Sơ đồ mạch code cho arduino 21 u 2.1 Sơ đồ mạch nguyên lý 21 2.1.2 CODE 22 cu 2.1.1 2.2 Thực nghiệm 24 2.2.1 Các bước thực nghiệm 24 2.2.2 Kết quả: 27 Kết luận 29 Tài liệu tham khảo 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt DANH MụC HÌNH ảNH c om CHƢƠNG I Hình 1: Board Arduino chức chân Hình 2: Máy in 3D Makerbot điều khiển Arduino Mega2560 Hình 3: Robot di động tự tránh vật cản Hình 4: Một thiết bị UAV Hình 5: Arduino Uno Hình 6: Module ESP8266 11 Hình 7: Sơ đồ chân module ESP8266 12 Hình 8: Cảm biến DHT11 14 Hình 9: Sơ đồ kết nối vi xử lý DHT11 14 Hình 10: Giao diện phần mềm Arduino IDE 17 Hình 11: Minh họa giao thức HTTP 19 Hình 12: Ví dụ URLs 20 CHƢƠNG II cu u du on g th an co ng Hình 1: Sơ đồ mạch nguyên lý 21 Hình 2: Arduino mega 2560 24 Hình 3: Cảm biến DHT11 24 Hình 4: Module ESP8266 25 Hình 5: Testboard 25 Hình 6: Dây cắm 25 Hình 7: Hình ảnh mạch thực tế 26 Hình 8: Đặt thơng số IDE kiểm tra kết nối với Arduino 26 Hình 9: Nạp code lên Arduino 27 Hình 10: Kết đo nhiệt độ phịng 27 Hình 11: Kết đo ngồi trời 28 Hình 12: Kết đo ngồi trời vị trí khác 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt LỜI CẢM ƠN Em xin gửi lời cảm ơn đến ‐ Thầy tận tâm dạy tận tình cho em trình thực đồ án cu u du on g th an co ng c om ‐ Các bạncùng nhóm đồ án phòng lab 618 – C9 tạo điều kiện giải đáp thắc mắc em lúc em gặp khó khăn việc làm đồ án CuuDuongThanCong.com https://fb.com/tailieudientucntt MỞ ĐẦU co ng c om Ngày khoa học công nghệ ngày phát triển, vi điều khiển AVR vi điều khiển PIC ngày thông dụng hồn thiện , nói xuất Arduino vào năm 2005 Italia mở hướng cho vi điều khiển Sự xuất Arduino hỗ trợ cho người nhiều 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ó q 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 Java lại vơ dễ sử dụng tương thích với ngơn ngữ C hệ thư viện phong phú chia sẻ miễn phí Chính lý nên Arduino dần phổ biến phát triển ngày mạnh mẽ toàn giới Trên sở kiến thức học môn học : Tin học đại cương , Điện tử tương tự số… với hiểu biết thiết bị điện tử, chúng em định thực đề tài : Thiết kế mạch đo nhiệt độ, cu u du on g th an dộ ẩm sử dụng board Arduino, truyền liệu lên máy tính theo chuẩn WIFI Với mục đích để tìm hiểu thêm Arduino, làm quen với thiết bị điện tử nâng cao hiểu biết cho thân Do kiến thức hạn hẹp, thêm vào lần đầu chúng em thực đồ án nên chắn không tránh khỏi thiếu sót , hạn chế chúng em mong có góp ý nhắc nhở từ thầy giáo để hồn thiện đề tài CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƢƠNG I TổNG QUAN VÀ GIớI THIệU CHUNG Về CÁC THÀNH PHầN CủA MạCH 1.1 ARDUINO 1.1.1 ? cu u du on g th an co ng c om Arduino thật bo mạch vi xử lý dùng để lập trình tương tác với thiết bị phần cứng cảm biến, động cơ, đèn thiết bị khác Đặc điểm bật Arduino môi trường phát triển ứng dụng dễ sử dụng, với ngơn ngữ lập trình học cách nhanh chóng với người am hiểu điện tử lập trình Và điều làm nên tượng Arduino mức giá thấp tính chất nguồn mở từ phần cứng tới phần mềm Hình 1: Board Arduino chức chân CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1.2 om Arduino đời thị trấn Ivrea thuộc nước Ý đặt theo tên vị vua vào kỷ thứ King Arduin Arduino thức đưa giới thiệu vào năm 2005 công cụ khiêm tốn dành cho sinh viên giáo sư Massimo Banzi, người phát triển Arduino, trường Interaction Design Instistute Ivrea (IDII) Mặc dù khơng tiếp thị cả, tin tức Arduino lan truyền với tốc độ chóng mặt nhờ lời truyền miệng tốt đẹp người dùng Hiện Arduino tiếng tới nỗi có người tìm đến thị trấn Ivrea để tham quan nơi sản sinh Arduino co ng c Arduino chọn làm não xử lý nhiều thiết bị từ đơn giản đến phức tạp Trong số có vài ứng dụng thực chứng tỏ khả vượt trội Arduino chúng có khả thực nhiều nhiệm vụ phức tạp Sau danh sách số ứng dụng bật Arduino cu u du on g th an Máy in 3D Hình 2: Máy in 3D Makerbot điều khiển Arduino Mega2560 CuuDuongThanCong.com https://fb.com/tailieudientucntt Một cách mạng khác âm thầm định hình nhờ vào Arduino, phát triển máy in 3D nguồn mở Reprap Máy in 3D công cụ giúp tạo vật thể thực trực tiếp từ file CAD 3D Công nghệ hứa hẹn nhiều ứng dụng thú vị có cách mạng hóa việc sản xuất cá nhân Robot cu u du on g th an co ng c om Do kích thước nhỏ gọn khả xử lý mạnh mẽ, Arduino chọn làm xử lý trung tâm nhiều loại robot, đặc biệt robot di động Hình 3: Robot di động tự tránh vật cản dùng camera CMUCam Arduino nano CuuDuongThanCong.com https://fb.com/tailieudientucntt Thiết bị bay không người lái UAV an co ng c om UAV ứng dụng đặc biệt thích hợp với Arduino chúng có khả xử lý nhiều loại cảm biến Gyro, accelerometer, GPS…; điều khiển động servo khả truyền tín hiệu từ xa th Hình 4: Một thiết bị UAV g Gametương tác u cu 1.1.3 du on Việc đọc cảm biến tương tác với PC nhiệm vụ đơn giản Arduino Do nhiều ứng dụng game tương tác có sử dụng Arduino Hình 5: Arduino Uno CuuDuongThanCong.com https://fb.com/tailieudientucntt Chúng ta xem xét chi tiết thành phần Arduino Uno: ‐ Ở dãy bảng mạch, có 14 chân tín hiệu kỹ thuật số Input/Output (từ đến 13) Đây chân linh hoạt Arduino hoạt động hai chức đầu vào đầu ra, chúng mối quan tâm dự án bạn Chân tín hiệu kỹ thuật số có nghĩa tín hiệu từ chân ghi đọc bật tắt .c om ‐ số chân kỹ thuật số (3, 5, 6, 9, 10,11), đánh dấu dấu ngã ―~― chân điều chế độ rộng xung (Pulse Width Modulation), chúng cung cấp tín hiệu đầu với mức khác Ví dụ làm mờ đèn LED điều khiển động tốc độ khác an co ng ‐ Chân 13 đặc biệt chỗ có gắn trực tiếp đèn LED (built-in LED) Bởi tiện lợi mục đích kiểm thử Bạn sử dụng đèn LED on-board cách cần xuất chân 13 - sử dụng chuẩn chân vào/ra (I/O) g th ‐ Tại góc bên phải chân đầu vào tương tự (analog input) Chúng đọc giá trị cảm biến tương tự, ví dụ cảm biến ánh sáng biến trở du on ‐ Góc bên trái kế bên chân đầu vào analog chân nguồn (power) Các chân mà bạn nên quan tâm GND, 3.3v 5v cu u ‐ Chân cịn lại chân reset Nó khởi động lại chương trình có nhớ Arduino ‐ Arduino có giới hạn dung lượng nhớ, chương trình bạn trở nên lớn trình biên dịch đưa cảnh báo lỗi 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Byte : giá trị phần thập phân nhiệt độ (TC)§ Byte : kiểm tra tổng  Nếu Byte = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) giá trị độ ẩm nhiệt độ xác, sai kết đo khơng có nghĩa  Đọc liệu: Bit 1: cu u du  on g th an co ng c om Sau giao tiếp với DHT11, DHT11 gửi liên tiếp 40 bit MCU, tương ứng chia thành byte kết Nhiệt độ độ ẩm  Bit 0: 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sau tín hiệu đưa 0, ta đợi chân DATA MCU DHT11 kéo lên Nếu chân DATA khoảng 26-28 us 0, cịn tồn 70us Do lập trình ta bắt sườn lên chân DATA, sau delay 50us Nếu giá trị đo ta đọc bit 0, giá trị đo giá trị đo Cứ ta đọc bit Các bạn thao khảo theo CODE gửi kèm theo 1.4 Giới thiệu Arduino IDE ngơn ngữ lập trình cho Arduino cu u du on g th an co ng c om Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính thơng dụng mang lại nhiều lợi cho Arduino, nhiên sức mạnh thực 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 dựa tảng C/C++ quen thuộc với người làm kỹ thuật Và quan trọng số lượng thư viện code viết sẵn chia sẻ cộng đồng nguồn mở lớn Hình 10: Giao diện phần mềm Arduino IDE 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt om Arduino IDE phần mềm dùng để lập trình cho Arduino Mơi trường lập trình Arduino IDE chạy ba tảng phổ biến Windows, Macintosh OSX Linux Do có tính chất nguồn mở nên mơi trường lập trình hồn tồn miễn phí mở rộng thêm người dùng có kinh nghiệm Ngơn ngữ lập trình mở rộng thông qua thư viện C++ Và ngơn ngữ lập trình dựa tảng ngơn ngữ C AVR nên người dùng hồn tồn nhúng thêm code viết AVR vào chương trình muốn Tìm hiểu ngơn ngữ lập trình web HTML giao thức HTTP 1.5.1 HTML ng c 1.5 co 1.5.1.1 HTML cu u du on g th an HTML ứng dụng đơn giản SGML, sử dụng tổ chức công nghệ truyền thông HTMLđã trở thành chuẩn cho trang web Internet tổ chức World Wide Web Consortium (W3C) trì Phiên nhất: HTML HTML lưu trữ tập tin văn - máy chủ, để người dùng truy cập thơng qua mạng internet - ngồi tập tin HTML cịn lưu trữ máy tính cá nhân - sử dụng trình duyệt để xem liệu hiển thị sử dụng editor ( phầm mềm soạn thảo mã notepad, notepad++, codelobster, dreamweaver, ) để soạn mã HTML Các file HTML chứa thẻ đánh dấu, thị cho chương trình cách hiển thị, xử lý văn dạng túy Phần đuôi mở rộng tập tin HTML thường có dạng htm hay html - ngồi cịn có phtml ( nhũng mã nguồn php), cshtml ( nhũng mã nguồn asp.net - c#) 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.5.1.2 Cấu Trúc Một Trang HTML Giao thức HTTP co 1.5.2 ng c om Gồm phần bản: Phần HTML: Mọi tài liệu HTML phải bắt đầu thẻ mở kết thúc thẻ đóng Cặp thẻ báo cho trình duyệt biết nội dung chúng tài liệu HTML Phần đầu: Phần đầu bắt đầu thẻ kết thúc thẻ Phần chứa tiêu đề hiển thị điều hướng trang Web Tiêu đề phần quan trọng Các mốc dùng để đánh dấu Website, trình duyệt sử dụng tiêu đề để lưu trữ mốc Do đó, người dùng tìm kiếm thông tin, tiêu đề trang Web cung cấp từ khố yếu cho việc tìm kiếm Phần thân: Phần nằm sau phần tiêu đề Phần thân bao gồm văn bản, hình ảnh liên kết mà bạn muốn hiển thị trang Web Phần thân bắt đầu thẻ kết thúc thẻ an 1.5.2.1 Khái niệm cu u du on g th HTTP cho phép giao tiếp nhiều máy chủ khách hàng , hỗ trợ hỗn hợp cấu hình mạng.Điều trở thành stateless protocol Giao tiếp thường diễn qua giao thức TCP / IP, giao thông vận tải đáng tin cậy sử dụng Cổng mặc định cho giao thức TCP / IP 80, cảng khác sử dụng Gửi yêu cầu / Thực yêu cầu Hình 11: Minh họa giao thức HTTP Tiêu đề tùy chỉnh tạo gửi khách hàng 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt Giao tiếp máy chủ khách hàng xảy ra, thông qua yêu cầu /cặp phản hồi Các máy khách khởi tạo thông báo yêu cầu HTTP, dịch vụ thơng qua tin nhắn phản hồi HTTP trở lại Ta xem xét điều thông điệp đôi phần Phiên giao thức HTTP/1.1, có thêm vài tính bổ sung cho 1,0 phiên trước Điều quan trọng số này, theo ý kiến tôi, bao gồm kết nối liên tục, chunked chuyển-mã hóa tiêu đề nhớ đệm hạt mịn URLs on g th an co ng c om Trọng tâm truyền thông web thông báo yêu cầu, gửi qua Uniform Resource Locators (URL) Tôi chắn bạn quen thuộc với URL, đầy đủ, tơi đưa Các URL có cấu trúc đơn giản mà bao gồm thành phần sau: Cấu trúc URL Hình 12: Ví dụ URLs cu u du Giao thức thường http, https cho truyền thông bảo mật Các cổng mặc định 80, thể thiết lập cách rõ ràng, minh họa hình ảnh Các đường nguồn tài nguyên đường địa phương để nguồn tài nguyên máy chủ 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƢƠNG II: THIếT Kế MạCH VÀ THựC HIệN LắP MạCH THựC Tế 2.1 Sơ đồ mạch code cho arduino Sơ đồ mạch nguyên lý th an co ng c om 2.1.1 g Hình 1: Sơ đồ mạch nguyên lý on Module esp8266 URXD(RX): dùng để nhận tín hiệu giao tiếp UART với vi điều khiển (TX3)  VCC: đầu vào 3.3V  CH_PD: kích hoạt chip, sử dụng cho Flash Boot updating lại module, nối với mức cao (3.3V qua trở 100k)  GND: nối với mass(GND)  UTXD (TX): dùng để truyền tín hiệu giao tiếp UART với vi điều khiển (RX3) cu u du  Cảm biến DHT11    Vcc: cấp nguồn dương (5V) Data: truyền liệu độ ẩm, nhiệt độ (D8) GND: nối với mass (GND) Với kiểu lắp mạch ta nạp code cho module esp8266 gián tiếp qua arduino mega bẳng cổng UART 21 CuuDuongThanCong.com https://fb.com/tailieudientucntt CODE cu u du on g th an co ng c om 2.1.2 22 CuuDuongThanCong.com https://fb.com/tailieudientucntt om c ng co an th g on du u cu 23 CuuDuongThanCong.com https://fb.com/tailieudientucntt 2.2 Thực nghiệm 2.2.1 Các bước thực nghiệm Chuẩn bị dụng cụ: Arduino UNO R3 g th an co ng c om  Cảm biến nhiệt độ, độ ẩm DHT11 cu u  du on Hình 2: Arduino UNO R3 Hình 3: Cảm biến DHT11 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt  Module Wifi ESP 8266 Hình 4: Module ESP8266 om Dây cắm , testboard Hình 5: Testboard cu u du on g th an co ng c  Hình 6: Dây cắm 25 CuuDuongThanCong.com https://fb.com/tailieudientucntt co ng c om Lắp mạch theo sơ đồ nguyên lý: an Hình 7: Hình ảnh mạch thực tế th Kết nối arduino với máy tính tiến hành nạp code Tiến hành chỉnh thông số kiểm tra kết nối Arduino IDE Arduino Mega cu u du on g  Hình 8: Đặt thông số IDE kiểm tra kết nối với Arduino 26 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nạp code lên arduino co ng c om  an Hình 9: Nạp code lên Arduino on Kết quả: cu u du 2.2.2 g th Kết nối wifi máy tính với module wifi truy cập vào địa 192.168.4.1 trình duyệt Hình 10: Kết đo nhiệt độ phịng 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt an co ng c om Hình 11: Kết đo ngồi trời th Hình 12: Kết đo ngồi trời vị trí khác cu u du on g Nhận xét: Độ ẩm nhiệt độ đo với thực tế, độ trễ gửi tin lên mạng wifi thấp 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt KếT LUậN ‐ Sau khoảng thời gian nghiên cứu Arduino ứng dụng em cảm thấy có ích cho việc học tập nghiên cứu sau Nó có ưu điểm dễ làm quen, phổ biến nguồn tài liệu tham khảo lớn om ‐ Đề tài truyên liệu qua mạng wifi hữu ích sống nay, phát triển nhiều ứng dụng nhà thông minh, camera giám sát, loại thiết bị điều khiển từ xa…, có hộ em mong thực dự án tương lai không xa Em xin chân thành cảm ơn! cu u du on g th an co ng c ‐ Kết đồ án phần đáp ứng yêu cầu giáo viên hướng dẫn, cịn nhiều thiếu sót em mong nhận thêm bảo thầy học trường 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt TÀI LIệU THAM KHảO Website: http://vietjack.com/http/http_overview.jsp (giao thức HTTP) https://www.arduino.cc (download Arduino IDE, thư viện, kiến thức chuyên sâu arduino)  http://arduino.vn/ (diễn đàn Arduino Việt Nam)  https://www.stdio.vn (Giao tiếp module ESP8266 Arduino)  https://vi.wikipedia.org/ (bách khoa toàn thư)   Arduino tutorial AT Commands Reference Guide HTML tutorial cu u du on g th an co ng   c  om Giáo trình: 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Ngày đăng: 13/05/2023, 06:13

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

Tài liệu liên quan