Đặc biệt góp phdn vào sự phát triển đó thì ngành kj thuật điện tử đãgóp phdn không nhỏ trong sự nghiệp xây dựng và phát triển đất nước .Trong đó môn kỹ thuật vi điều khiển được phát triể
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT HÀN
KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
BÁO CÁO ĐỒ ÁN CƠ SỞ 4
ĐỀ TÀI XÂY DỰNG HỆ THỐNG CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM
Sinh viên thực hiện: Phạm Văn Quân
Phùng Đức Nghĩa Giảng viên hướng dẫn: Th.S Nguyễn Thị Huyền Trang
Đà Nẵng, tháng 11 năm 2023
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT HÀN
KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ
BÁO CÁO ĐỒ ÁN CƠ SỞ 4
ĐỀ TÀI XÂY DỰNG HỆ THỐNG CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM
Sinh viên thực hiện: Phạm Văn Quân
Phùng Đức Nghĩa Giảng viên hướng dẫn: Th.S Nguyễn Thị Huyền Trang
Trang 3Nguyễn Thị Huyền Trang , cô đã nhiệt tình hướng dẫn cho chúng em hoàn thành báo cáo cuối kỳ
Chúng em xin gửi lời cảm ơn sâu sắc tới tất cả các cô, những người đã giảng dạy, trang bị cho em những kiến thức quý báu trong suốt những năm học vừa qua Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo của cô, đến nay chúng
em đã có thể hoàn thành bài báo cáo này – trường Đại học CNTT&TT Việt Hàn đã tạo điều kiện tốt cho chúng em hoàn thành đồ án này
Mặc dù chúng em đã cố gắng hoàn thiện thật tốt đồ án nhưng do kiến thức có hạn do đó không thể tránh khỏi những sai sót, chúng em rất mong nhận được
sự cảm thông, ý kiến đóng góp của các quý cô và các bạn!
Chúng em xin chân thành cảm ơn!
NHẬN XÉT CỦA GIẢNG VIÊN
Trang 4
MỤC LỤC CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG 8
1.1 Giới thiê bu chung: 8
1.2 Các yêu cdu cơ bản: 9
1.3 Phương pháp , phạm vi và giới hạn nghiên cứu: 9
1.4 i nghja thực tiễn: 10
Trang 5- Biết và lên kế hoạch điều chỉnh môi trường của chuồn trại 10
CHƯƠNG II: NGHIÊN CỨU TỔNG QUAN LINH KIỆN 10
2.1 Phân tích cảm biến (DHT11): 10
2.1.1 Thông số kj thuật: 10
2.1.2 Ưu điểm: 11
2.1.3 Nhược điểm: 11
2.1.4 Chức năng: 11
2.1.5 Nguyên lí hoạt động: 12
2.2 Phân tích bộ điều khiển MODULE ESP32: 12
2.2.1 Tổng quan về ESP32: 12
2.2.2 CPU: 12
2.2.3 Ngoại vi: 13
2.2.4 WIFI: 14
2.2.5 Ultra-Low Power: 14
2.2.6 Bluetooth: 15
2.3 Breadboard: 16
2.3 Dây cắm: 17
CHƯƠNG III: NGÔN NGỮ VÀ PHẦN MỀM LẬP TRÌNH 18
3.1 Tìm hiểu về ngôn ngữ lập trình: 18
3.1.1 Ngôn ngữ PHP: 18
3.1.2 Ngôn ngữ C: 19
3.2 Các phdn mềm lập trình: 20
3.2.1 Arduino IDE: 20
3.2.2 XAMPP: 21
3.3.3 VS code: 22
3.3 Mã nguồn PHP: 23
3.3.1 data.php: 23
3.3.2 index.php: 24
3.3.3 page.php: 26
3.4 Mã nguồn Arduino IDE: 27
CHƯƠNG IV: THIẾT KẾ HỆ THỐNG 30
4.1 Thiết kế sơ đồ khối hệ thống: 30
4.2 Thiết kế mạch đo và xử lý tín hiệu: 31
4.3 Cơ sở dữ liệu - webserver: 31
4.3.1 Khởi động XAMPP: 31
4.3.2 Admin: 32
4.3.3 Lịch sử cập nhật: 32
4.4 Webserver : 33
4.4.1 Giao diện nguời dùng: 33
4.4.2 View History: 33
4.5 App blink: 34
TÀI LIỆU THAM KHẢO 35
Trang 6DANH MỤC HÌNH ẢNH
Hình 1: Cảm biến DHT11 11
Hình 2: Module ESP32 12
Hình 3: CPU của Module ESP32 13
Hình 4: Ngoại vi 14
Hình 5: WIFI 14
Hình 6: Ultra-Low Power 15
Hình 7: Bluetooth 15
Hình 8: Breadboard 16
Hình 9: Cấu tạo của Breadboard 17
Hình 10: Dây cắm 17
Hình 11: Ngôn ngữ PHP 18
Hình 12: Ngôn ngữ C 19
Hình 13: Arduino IDE 20
Hình 14: XAMPP 21
Hình 15: VS code 22
Hình 16: Sơ đồ khối 30
Hình 17: Mô phỏng hệ thống 31
Hình 18: Khởi động XAMPP 31
Hình 19: Cơ sở dữ liệu hiển thị trên webserver 32
Hình 20: Cơ sở dữ liệu [View Hítory] 32
Hình 21:Webserver 33
Hình 22: View History 33
Hình 23: App Blink 34
MỞ ĐẦU
Ngày nay, sự phát triển mạnh mẽ của khoa học công nghệ, cuộc sống của con người đã có những thay đổi ngày càng tốt hơn, với những trang
Trang 7thiết bị hiện đại phục vụ công cuộc công nghiệp hoá, hiện đại hoá đấtnước Đặc biệt góp phdn vào sự phát triển đó thì ngành kj thuật điện tử đãgóp phdn không nhỏ trong sự nghiệp xây dựng và phát triển đất nước Trong đó môn kỹ thuật vi điều khiển được phát triển mạnh dựa trênnhững tiến bộ của công nghệ tích hợp các linh kiện bán dẫn và hệ lậptrình có bộ nhớ kết hợp với máy tính điện tử Từ những thời gian đduphát triển đã cho thấy sự ưu việt của nó và cho tới ngày nay tính ưu việt
đó ngày càng được khẳng định thêm Những thành tựu của nó đã có thểbiến được những cái tưởng chừng như không thể thành những cái có thể,góp phdn nâng cao đời sống vật chất và tinh thdn cho con người
CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG
1.1 Giới thiê X u chung:
Cuộc sống ngày càng phát triển nhanh chóng và hiện đại hơn, nhữngcông nghệ mới ngày càng được phát minh và phát triển để đưa vào phục
Trang 8vụ cuộc sống hằng ngày của con người Những ứng dụng của IoTs được
sử dụng ngày càng rộng rãi và trong rất nhiều ljnh vực: nông nghiệp, y tế,giáo dục, nhằm mang lại sự tiện nghi, an toàn hơn cho người sử dụng.Trong đó không thể không kể đến những dự án, nghiên cứu về ljnh vựcđiều khiển và giám sát thông minh với sự tiên tiến vượt trội Điều khiển
và giám sát thông minh, là tích hợp các hệ thống như hệ thống điều khiển
và giám sát nhiệt độ, độ ẩm, ánh sáng, cường độ gió, … thành một hệthống nhất Mỗi chức năng của điều khiển và giám sát thông minh đều cókhả năng tự vận hành hoặc dưới sự điều khiển của người dùng, thông quatin nhắn cung cấp nhiều chế độ sử dụng Người dùng có thể truy cập từ xa
để kiểm tra báo và tắt hệ thống khi cdn thiết, tự động gửi theo thời giancài đặt sẵn Vì thế hiện nay điều khiển và giám sát thông minh là mộttrong những đề tài công nghệ ứng dụng được áp dụng trong rất nhiều dự
án Không chỉ hạn chế với những tính năng nêu trên, ngày càng có nhiềunghiên cứu đề xuất phát triển hệ thống điều khiển và giám sát để bám kịptheo sự phát triển của công nghệ, tối ưu hóa hiệu năng sử dụng cũng nhưgiá cả hợp lý
1.2 CZc yêu c[u cơ bản:
- Hoạt đô bng ổn định trong môi trường cho ph‘p và đáp ứng được yêu cdu
đă bt ra
- Có khả năng nhâ bn biết và thông báo cho người dùng biết các sự cố nhưnhiê bt đô b và đô b ẩm tăng đô bt ngô bt…
- Tốc đô b xử lý nhanh
- An toàn ,dễ sử dụng,phù hợp với túi tiền và đạt hiê bu quả cao
- Có thể cải thiê bn và nâng cấp để phù hợp với môi trường lắp đă bt
1.3 Phương phZp , phạm vi v` giới hạn nghiên cứu:
- Phương pháp nghiên cứu:
- Tìm hiểu thu thâ bp thông tin thực tế liên quan đến hê b thống
- Phân tích, thiết kế và lâ bp trình cho hê b thống
- Thử nghiê bm và vâ bn hành cho hê b thống
- Phạm vi và giới hạn nghiên cứu:
- Hê b thống chỉ ở mức đô b giám sát và cảnh báo từ xa
Trang 9- Chưa kiểm tra giá trị cảm biến offline bằng điê bn thoại được.
- Giám sát dữ liê bu thông qua app blynk và webserver
1.4 a nghĩa thực tiễn:
- Biết và lên kế hoạch điều chỉnh môi trường của chuồn trại
- Giảm bớt chi phí lắp đặt hệ thống an toàn khác mà vẫn đảm bảo độ hiệuquả
- Có thể lắp đă bt trong các cơ sở nhà kính nuôi trồng rau sạch để điềukhiển nhiê bt đô b và đô b ẩm từ xa thông qua thiết bị có kết nối internet
CHƯƠNG II: NGHIÊN CỨU TỔNG QUAN LINH KIỆN2.1 Phân tích cảm biến (DHT11):
2.1.1 Thông số kĩ thuật:
Điện áp hoạt động: 4.75 – 5.25V
Dòng tiêu thụ: 2mA
Khoảng độ ẩm đo: 20 – 95%
Trang 102.1.5 Nguyên lí hoạt động:
Trang 11Chúng bao gồm một linh kiện cảm biến độ ẩm, cảm biến nhiệt độNTC(hoặc nhiệt điện trở) và một IC ở phía sau của cảm biến.
Để đo độ ẩm, họ sử dụng thành phdn cảm biến độ ẩm có hai điện cựcvới chất giữ ẩm giữa chúng.Vì vậy, khi độ ẩm thay đổi, độ dẫn của chấtnền thay đổi hoặc điện trở giữa các điện cực này thay đổi Sự thay đổiđiện trở này được đo và xử lý bởi IC khiến cho vi điều khiển luôn sẵnsàng để đọc
Mặt khác, để đo nhiệt độ, các cảm biến này sử dụng cảm biến nhiệt
độ NTC hoặc nhiệt điện trở
2.2 Phân tích bộ điều khiển MODULE ESP32:
Hình 2: Module ESP32Một điều quan trọng khác cdn biết về ESP32 là nó được sản xuất bằngcông nghệ 40 nm công suất cực thấp của TSMC Vì vậy, việc thiết kế cácứng dụng hoạt động bằng pin như thiết bị đeo, thiết bị âm thanh, đồng hồthông minh, , sử dụng ESP32 sẽ rất dễ dàng
2.2.2 CPU:
CPU: Được đặt tên là "PRO_CPU" và "APP_CPU" Xtensa Dual-Core
Trang 12LX6 Khi chúng ta dùng FreeRTOS sẽ ứng với Core 0 và Core 1(protocol cpu và application cpu).
Các tính năng ADC và DAC được gán cho các chân cố định Tuynhiên, bạn có thể quyết định các chân nào là UART, I2C, SPI, PWM,v.v - chúng ta chỉ cdn khai bảo trong code Điều này có thể thực hiệnđược do tính năng gh‘p kênh của chip ESP32 (VD: Các chân từ 34
39 là Input only pins nên không thể cấu hình chúng là ouput)
Trang 132.2.4 WIFI:
802.11 b/g/n/e/i (Wi-Fi 2,4 GHz)
Station mode (STA hay Wi-Fi client) ESP32 sẽ kết nối tới các điểmtruy cập
Hoạt động như một điểm truy cập (Access Ponit mode hay Soft-AP)
Nó giống như trung tâm của mọi thông tin liên lạc Các Station sẽ kếtnối tới ESP32(lúc này là Access-Point)
AP-STA mode ESP32 sẽ đồng thời là điểm truy cập và truy cập đếnđiểm khác
Các chế độ bảo mật khác nhau cho những điều trên (WPA, WPA2,WEP, ) Lưu ý: Không thể sử dụng chân ADC2 khi sử dụng Wi-Fi
Hình 5: WIFI 2.2.5 Ultra-Low Power:
Vấn đề năng lượng luôn luôn quan trọng Và năng lượng 1 điều hạnchế của ESP là nó tương đối ngắn điện
Sleep mode: là trạng thái ESP32 tiết kiệm năng lượng của ESP32 khikhông sử dụng Năng lượng chỉ đủ truyền cho RAM để lưu trữ dữ liệuChế độ Hoạt động : Tất cả tính năng hoạt động Dòng chip yêu cdu là240mA, đôi khi nếu sử dụng cả Bluetooth và wifi có thể lên tới790mA
Light sleep : Tắt hết Wifi, BLE, RAM và CPU được định mức clock,dòng tiêu thụ -0.8mA
Deep Sleep: Ở chế độ ngủ sâu, CPU, hdu hết RAM và tất cả ngoại vi
bị tắt Các phdn của chip vẫn được bắt là, bộ điều khiến RTC, ngoại
vi RTC (bộ đồng xử lý ULP) và RTC memories Dòng tiêu thụ 15µA0.15mA
Hibernate: Mọi thứ khác đều bị tất ngoại trừ chỉ một bộ đếm thời gianRTC và một số GPIO RTC đang hoạt động Chúng chịu trách nhiệmđánh thức chíp khỏi Hibernate
Trang 142.2.6 Bluetooth:
Bluetooth: v4.2 BR/EDR và BLE
Việc hỗ trợ cả bluetooth khiến ESP32 có thể tương tác với các thiết bịnhư là bàn phím, chuột, điện thoại khi mà không có Wi-Fi Bạn có thểtùy biến chức năng là BLE hay Bluetooth Classic tùy theo chức năng,tốc độ, năng lượng mà project cdn đáp ứng
Bluetooth và Wi-Fi có thể chạy song song nhau nhưng việc gửi nhận
dữ liệu phải xảy ra tudn tự không thể đồng thời nhận gói tin Bluetooth
và nhận dữ liệu với Wifi Bởi vì dù có 2 core riêng nhưng lại chungăng-ten Việc chạy song song 2 chức năng này cũng làm cho ESP32ngốn rất nhiều năng lượng
Hình 7: Bluetooth
2.3 Breadboard:
Breadboard (hay còn gọi là test board) là công cụ được sử dụng rất nhiều
để thiết kế và thử nghiệm mạch Với breadboard, bạn không cdn phải hàndây và các linh kiện để tạo mạch Nó giúp gắn các linh kiện cũng như tái
sử dụng rất dễ Bởi vì không hàn các linh kiện điện tử nên bạn có thể thayđổi thiết kế mạch tại bất kỳ điểm nào rất tiện lợi
Trang 15Bạn có thể thấy breadboard giống như một bo mạch trắng có các lỗ khoannhư mắt lưới Các lỗ này được nối dẫn điện (theo trình tự sẽ nói bên dưới
ở phdn cấu tạo) Các hàng được đánh số từ 1-64 được nối điện với nhauvới một rãnh nằm ở giữa bo không dẫn điện
Hình 8: Breadboard
Cấu tạo của breadboard rất đơn giản:
Khu vực trung tâm chính của breadboard là một khối gồm hai cột.Mỗi cột được tạo thành từ nhiều hàng
Mỗi hàng được nối điện theo từng hàng
Dọc hai bên là hai bus dọc để cấp điện vào cột bên trong
Có một khoảng cách giữa các hàng E và F - do đó, hai chân của chiptrong hàng 5 không được nối với nhau Để nối chân phải phía trên củachip, có thể nối với bất kỳ điểm nào ở vị trí G5, H5, I5, J5
Chạy dọc theo các cạnh bên trái và bên phải của breadboard có các busdọc được nối điện theo chiều dọc Các bus này thường được sử dụng chocác cực dương hoặc nối đất của nguồn Như vậy nếu nối nguồn 5v ở một
lỗ bất kì trên cột thì tất cả các lỗ khác trên cùng cột đó đều có hiệu điệnthế 5v
Trang 16Sơ đồ bên dưới tóm tắt lại đường dẫn điện.
Hình 9: Cấu tạo của Breadboard
2.3 Dây cắm:
Dây cắm testboard giúp kết nối giữa các mạch điện và các linh kiện, thiết
bị ngoại vi Chất lượng tốt và giá thành cực kỳ rẻ, phù hợp với nhiều ứngdụng thực tế
Hình 10: Dây cắm
CHƯƠNG III: NGÔN NGỮ VÀ PHẦN MỀM LẬP TRÌNH3.1 Tìm hiểu về ngôn ngữ lập trình:
3.1.1 Ngôn ngữ PHP:
Trang 17Ngôn ngữ PHP là từ viết tắt của Personal Home Page (hiện nay làHypertext Preprocessor) Thuật ngữ này chỉ chuỗi ngôn ngữ kịch bản hay
mã lệnh, phù hợp để phát triển cho các ứng dụng nằm trên máy chủ.Khi viết phdn mềm bằng ngôn ngữ PHP, chuỗi lệnh sẽ được xử lý trênserver để từ đó sinh ra mã HTML trên client Và dựa vào đó, các ứngdụng trên website của bạn sẽ hoạt động một cách dễ dàng
Hình 11: Ngôn ngữ PHP Người ta thường sử dụng PHP trong việc xây dựng và phát triển các ứngdụng website chạy trên máy chủ Mã lệnh PHP có thể nhúng được vàotrang HTML bằng cách sử dụng cặp thẻ PHP
Nhờ đó, website bạn phát triển dễ dàng kết nối được với các website kháctrên hệ thống mạng internet
PHP cũng là ngôn ngữ lập trình mã nguồn mở và miễn phí PHP tươngthích với nhiều nền tảng khác nhau như Windows, MacOS và Linux, v.v
Đa phdn các trang website bạn đang sử dụng hàng ngày để học tập, làmviệc và giải trí đều sử dụng ngôn ngữ lập trình PHP Chẳng hạn nhưFacebook, Pinterest, Wikipedia, WordPress, v.v
3.1.2 Ngôn ngữ C:
C là ngôn ngữ lập trình được phát triển vào năm 1970 bởi Dennis Ritchie
để phát triển hệ điều hành UNIX
Trang 18Ứng dụng c là ngôn ngữ lập trình được sử dụng phổ biến để tạo ra nhiềuứng dụng, hệ điều hành điện tử & chương trình phức tạp nhưWindows, Python Interpreter, Oracle database, Git, ngôn ngữ lập trìnhJava, UNIX,… nhờ vào cấu trúc độc lập.
Hình 12: Ngôn ngữ CNgôn ngữ C được gọi là “ngôn ngữ mẹ” của ngành IT, bởi chúng được sửdụng như cơ sở, nền tảng chính dành cho những ngôn ngữ khác như: C++, C# & Java Do đó, khi học nhudn nhuyễn ngôn ngữ này thì việc chinhphục những ngôn ngữ còn lại sẽ dễ dàng hơn rất nhiều
Ngôn ngữ lập trình C được sử dụng trực tiếp trên máy tính DEC PDP-11bởi Dennis M Ritchie vào năm 1972 nhằm phát triển hệ điều hành UNIXcủa Bell Labs Với tính ứng dụng thực tế là tạo ra những ứng dụng hệthống trực tiếp chuyên tương tác với các thiết bị phdn cứng trong thiết bịđiện tử như: Kernels, trình điều khiển,…
Năm 1978, Brian Kernighan và Dennis Ritchie đã công khai ngôn ngữlập trình C và đưa ra những mô tả về nó, nay được gọi là tiêu chuẩn K &R
Ngôn ngữ lập trình C được sử dụng để viết ra những ngôn ngữ lập trìnhkhác như: JVMs, Kernels, C++, C#,… nhằm cung cấp chính xác các kháiniệm cốt lõi, xử lý tập tin,… cực kỳ tốt
3.2 CZc ph[n mềm lập trình:
3.2.1 Arduino IDE:
Arduino IDE là một phdn mềm mã nguồn mở chủ yếu được sử dụng đểviết và biên dịch mã vào module Arduino
Trang 19Đây là một phdn mềm Arduino chính thức, giúp cho việc biên dịch mã trởnên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹthuật cũng có thể làm được.
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux vàchạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vaitrò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega,Arduino Leonardo, Arduino Micro và nhiều module khác
Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình vàchấp nhận thông tin dưới dạng mã
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ramột file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo.Môi trường IDE chủ yếu chứa hai phdn cơ bản: Trình chỉnh sửa và Trìnhbiên dịch, phdn đdu sử dụng để viết mã được yêu cdu và phdn sau được
sử dụng để biên dịch và tải mã lên module Arduino
Môi trường này hỗ trợ cả ngôn ngữ C và C ++
Hình 13: Arduino IDE
3.2.2 XAMPP: