1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Đồ Án Cơ Sở 4 Đề Tài Xây Dựng Hệ Thống Cảm Biến Nhiệt Độ, Độ Ẩm.pdf

35 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Báo Cáo Đồ Án Cơ Sở 4 Đề Tài Xây Dựng Hệ Thống Cảm Biến Nhiệt Độ, Độ Ẩm
Tác giả Phạm Văn Quân, Phùng Đức Nghĩa
Người hướng dẫn Th.S Nguyễn Thị Huyền Trang
Trường học Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt Hàn
Chuyên ngành Kỹ Thuật Máy Tính Và Điện Tử
Thể loại báo cáo đồ án
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 35
Dung lượng 2 MB

Cấu trúc

  • CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG (7)
    • 1.1 Giới thiê b u chung (0)
    • 1.2 Các yêu cdu cơ bản (0)
    • 1.3 Phương pháp , phạm vi và giới hạn nghiên cứu (0)
    • 1.4 i nghja thực tiễn (0)
  • CHƯƠNG II: NGHIÊN CỨU TỔNG QUAN LINH KIỆN (9)
    • 2.1 Phân tích cảm biến (DHT11) (9)
      • 2.1.1 Thông số kj thuật (0)
      • 2.1.2 Ưu điểm (10)
      • 2.1.3 Nhược điểm (10)
      • 2.1.4 Chức năng (10)
      • 2.1.5 Nguyên lí hoạt động (10)
    • 2.2 Phân tích bộ điều khiển MODULE ESP32 (11)
      • 2.2.1 Tổng quan về ESP32 (11)
      • 2.2.2 CPU (11)
      • 2.2.3 Ngoại vi (12)
      • 2.2.4 WIFI (13)
      • 2.2.5 Ultra-Low Power (13)
      • 2.2.6 Bluetooth (14)
    • 2.3 Breadboard (14)
    • 2.3 Dây cắm (16)
  • CHƯƠNG III: NGÔN NGỮ VÀ PHẦN MỀM LẬP TRÌNH (16)
    • 3.1 Tìm hiểu về ngôn ngữ lập trình (16)
      • 3.1.1 Ngôn ngữ PHP (16)
      • 3.1.2 Ngôn ngữ C (17)
    • 3.2 Các phdn mềm lập trình (0)
      • 3.2.1 Arduino IDE (18)
      • 3.2.2 XAMPP (19)
      • 3.3.3 VS code (20)
    • 3.3 Mã nguồn PHP (21)
      • 3.3.1 data.php (22)
      • 3.3.2 index.php (22)
      • 3.3.3 page.php (25)
    • 3.4 Mã nguồn Arduino IDE (26)
  • CHƯƠNG IV: THIẾT KẾ HỆ THỐNG (29)
    • 4.1 Thiết kế sơ đồ khối hệ thống (29)
    • 4.2 Thiết kế mạch đo và xử lý tín hiệu (0)
    • 4.3 Cơ sở dữ liệu - webserver (30)
      • 4.3.1 Khởi động XAMPP (30)
      • 4.3.2 Admin (31)
      • 4.3.3 Lịch sử cập nhật (31)
    • 4.4 Webserver (32)
      • 4.4.1 Giao diện nguời dùng (32)
      • 4.4.2 View History (32)
    • 4.5 App blink (33)
  • TÀI LIỆU THAM KHẢO (34)
  • MỞ ĐẦU (0)

Nội dung

Đặ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ể

TỔNG QUAN VỀ HỆ THỐNG

i nghja thực tiễn

- Giám sát dữ liê bu thông qua app blynk và webserver.

- 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ệu quả

Có thể lắp đặt hệ thống điều khiển nhiệt độ và độ ẩm từ xa trong các cơ sở nhà kính nuôi trồng rau sạch, giúp tối ưu hóa điều kiện phát triển cây trồng thông qua thiết bị kết nối internet.

NGHIÊN CỨU TỔNG QUAN LINH KIỆN

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

Khoảng nhiệt độ đo: 0 – 60ºC

Sai số nhiệt độ: ±0.5ºC

Ngõ ra analog điện áp.

Cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp one wire

Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.

Giới hạn đo khá thấp

Sai số đô b ẩm khá cao.

Cảm biến DHT11 là thiết bị phổ biến để đo nhiệt độ và độ ẩm, được trang bị NTC chuyên dụng cho việc đo nhiệt độ và bộ vi điều khiển 8 bit để xuất dữ liệu nhiệt độ và độ ẩm dưới dạng nối tiếp Với việc được hiệu chuẩn tại nhà máy, DHT11 dễ dàng giao tiếp với các bộ vi điều khiển khác, mang lại sự tiện lợi cho người sử dụng.

Bài viết này mô tả về một linh kiện cảm biến độ ẩm, bao gồm cảm biến nhiệt độ NTC và một IC ở phía sau Để đo độ ẩm, cảm biến sử dụng hai điện cực với chất giữ ẩm giữa chúng, giúp phát hiện sự thay đổi độ dẫn hoặc điện trở khi độ ẩm biến đổi Sự thay đổi này được IC xử lý, cho phép vi điều khiển luôn sẵn sàng để thực hiện việc đọc dữ liệu.

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ở.

Phân tích bộ điều khiển MODULE ESP32

ESP32 là một dòng vi điều khiển giá rẻ, tiết kiệm năng lượng, hỗ trợ WiFi và Bluetooth dual-mode Sử dụng bộ vi xử lý Tensilica Xtensa LX6, ESP32 có hai biến thể lõi kép và lõi đơn Dòng vi điều khiển này còn tích hợp các công tắc antenna, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng, mang đến hiệu suất tối ưu cho các ứng dụng IoT.

ESP32 là một module được sản xuất bằng công nghệ 40 nm với mức tiêu thụ năng lượng cực thấp từ TSMC, giúp việc thiết kế các ứng dụng chạy bằng pin như thiết bị đeo, thiết bị âm thanh và đồng hồ thông minh trở nên dễ dàng hơn.

CPU: Được đặt tên là "PRO_CPU" và "APP_CPU" Xtensa Dual-Core

LX6 Khi chúng ta dùng FreeRTOS sẽ ứng với Core 0 và Core 1 (protocol cpu và application cpu).

Tốc độ xử lý 160MHZ 240 MHz

Tốc độ xung nhịp đọc flash chip 40mhz 80mhz (tùy chỉnh khi lập trình) ROM: 448 Kbyte ROM.

Hình 3: CPU của Module ESP32

18 kênh Bộ chuyển đổi Analog-to-Digital (ADC), 3xSPI, 3xUART, 2xI2C, 16 kênh đdu ra PWM, 2 Bộ chuyển đổi Digital-to-Analog (DAC), 2 x 12S, 10 GPIO cảm biến điện dung

Các chân ADC và DAC trên chip ESP32 được gán cố định, nhưng bạn có thể tùy chọn các chân cho các giao thức như UART, I2C, SPI, PWM, v.v bằng cách khai báo trong mã code Tính năng ghép kênh của ESP32 cho phép sự linh hoạt này, ví dụ như sử dụng các chân từ 34 trở đi cho nhiều mục đích khác nhau.

39 là Input only pins nên không thể cấu hình chúng là ouput).

Station mode (STA hay Wi-Fi client) ESP32 sẽ kết nối tới các điểm truy 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ết nố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.

Vấn đề năng lượng luôn luôn quan trọng Và năng lượng 1 điều hạn chế của ESP là nó tương đối ngắn điện

Chế độ ngủ của ESP32 là trạng thái tiết kiệm năng lượng khi thiết bị không hoạt động, chỉ cung cấp đủ năng lượng cho RAM để lưu trữ dữ liệu Trong khi đó, chế độ hoạt động cho phép tất cả tính năng hoạt động với mức tiêu thụ điện năng khoảng 240mA, và có thể tăng lên tới 790mA khi sử dụng đồng thời Bluetooth và Wi-Fi.

Light sleep : Tắt hết Wifi, BLE, RAM và CPU được định mức clock, dòng tiêu thụ -0.8mA

Giấc ngủ sâu: Trong chế độ ngủ sâu, CPU và các thiết bị ngoại vi sẽ tắt hoàn toàn, chỉ còn lại bộ điều khiển RTC, ngoại vi RTC (bộ đồng xử lý ULP) và bộ nhớ RTC hoạt động Mức tiêu thụ điện năng trong trạng thái này chỉ khoảng 0.15mA.

Hibernate: Trong chế độ Hibernate, mọi hoạt động đều bị ngừng lại ngoại trừ một bộ đếm thời gian RTC và một số GPIO RTC vẫn hoạt động Chúng có nhiệm vụ đánh thức chip khỏi trạng thái Hibernate.

Hình 6: Ultra-Low Power 2.2.6 Bluetooth:

Bluetooth: v4.2 BR/EDR và BLE

ESP32 hỗ trợ Bluetooth, cho phép tương tác với các thiết bị như bàn phím, chuột và điện thoại mà không cần Wi-Fi Bạn có thể tùy chỉnh chức năng thành BLE hoặc Bluetooth Classic tùy thuộc vào yêu cầu về chức năng, tốc độ và mức tiêu thụ năng lượng của dự án.

Bluetooth và Wi-Fi có khả năng hoạt động song song, nhưng việc truyền nhận dữ liệu phải diễn ra tuần tự, không thể đồng thời xử lý gói tin Bluetooth và dữ liệu Wi-Fi Mặc dù ESP32 có hai core riêng biệt, nhưng chúng sử dụng chung một ăng-ten Việc chạy đồng thời hai chức năng này cũng dẫn đến việc tiêu tốn nhiều năng lượng.

Breadboard

Breadboard, hay còn gọi là test board, là công cụ thiết yếu trong thiết kế và thử nghiệm mạch điện Với breadboard, bạn không cần hàn dây và linh kiện, giúp việc lắp ráp trở nên dễ dàng và linh hoạt hơn Nó cho phép bạn gắn các linh kiện và tái sử dụng chúng một cách thuận tiện Nhờ vào tính năng không hàn, bạn có thể thay đổi thiết kế mạch một cách nhanh chóng và dễ dàng ở bất kỳ thời điểm nào.

Breadboard là một bo mạch trắng có lỗ khoan giống như mắt lưới, cho phép kết nối điện dễ dàng Các lỗ này được nối dẫn điện theo cách cụ thể, với 64 hàng được đánh số nối với nhau, tạo thành một mạch điện Giữa bo mạch có một rãnh không dẫn điện, giúp phân tách các kết nối.

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, dẫn đến việc hai chân của chip trong hàng 5 không thể nối với nhau Để kết nối chân phải phía trên của chip, bạn có thể thực hiện nối tại bất kỳ điểm nào ở vị trí G5, H5, I5 hoặc J5.

Các bus dọc chạy dọc theo các cạnh bên trái và bên phải của breadboard được sử dụng để kết nối điện cho các cực dương hoặc nối đất của nguồn Khi nối nguồn 5V vào một lỗ bất kỳ trên cột, tất cả các lỗ khác trên cùng cột đó sẽ có hiệu điện thế 5V.

Sơ đồ 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

Dây cắm

Dây cắm testboard là giải pháp lý tưởng để kết nối các mạch điện với linh kiện và thiết bị ngoại vi Sản phẩm này không chỉ có chất lượng tốt mà còn có giá thành rất hợp lý, phù hợp cho nhiều ứng dụng thực tế khác nhau.

NGÔN NGỮ VÀ PHẦN MỀM LẬP TRÌNH

Tìm hiểu về ngôn ngữ lập trình

Ngôn ngữ PHP, viết tắt của Personal Home Page (hiện nay là Hypertext Preprocessor), là một ngôn ngữ kịch bản mạnh mẽ, lý tưởng cho việc phát triển ứng dụng trên máy chủ.

Khi phát triển phần mềm bằng ngôn ngữ PHP, các lệnh sẽ được xử lý trên máy chủ, tạo ra mã HTML cho trình duyệt Nhờ vào quá trình này, các ứng dụng trên website của bạn sẽ hoạt động một cách hiệu quả và mượt mà.

PHP thường được sử dụng để phát triển các ứng dụng web trên máy chủ Mã PHP có thể được nhúng vào trang HTML thông qua 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ác trên hệ thống mạng internet.

PHP là một ngôn ngữ lập trình mã nguồn mở và miễn phí, tương thích với nhiều nền tảng như Windows, MacOS và Linux Nhiều trang web phổ biến mà bạn sử dụng hàng ngày cho học tập, làm việc và giải trí, như Facebook, Pinterest, Wikipedia và WordPress, đều được xây dựng bằng PHP.

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.

Các phdn mềm lập trình

Ngôn ngữ C được xem là "ngôn ngữ mẹ" của ngành công nghệ thông tin, vì nó là nền tảng cho nhiều ngôn ngữ lập trình khác như C++, C# và Java Học tốt ngôn ngữ C sẽ giúp bạn dễ dàng hơn trong việc tiếp cận và chinh phục các ngôn ngữ lập trình khác.

Ngôn ngữ lập trình C, được phát triển bởi Dennis M Ritchie vào năm 1972 trên máy tính DEC PDP-11, đã đóng vai trò quan trọng trong việc phát triển hệ điều hành UNIX tại Bell Labs Ngôn ngữ này được ứng dụng rộng rãi trong việc tạo ra các ứng dụng hệ thống, đặc biệt là trong việc tương tác trực tiếp với phần cứng của thiết bị điện tử như Kernels và 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 là nền tảng cho việc phát triển nhiều ngôn ngữ lập trình khác như JVMs, Kernels, C++, và C# Nó cung cấp các khái niệm cốt lõi và khả năng xử lý tập tin một cách hiệu quả.

3.2 CZc ph[n mềm lập trình:

Arduino IDE là phần mềm mã nguồn mở chính thức, được thiết kế để viết và biên dịch mã cho các mô-đun Arduino Phần mềm này giúp đơn giản hóa quy trình biên dịch, cho phép ngay cả những người không có kiến thức kỹ thuật cũng có thể sử dụng dễ dàng.

Phần mềm này hỗ trợ nhiều hệ điều hành như MAC, Windows, và Linux, hoạt động trên nền tảng Java Nó cung cấp các chức năng và lệnh cần thiết để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường lập trình.

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, hay còn gọi là sketch, được phát triển trên nền tảng IDE và tạo ra một file Hex để tải lên bộ điều khiển Môi trường IDE bao gồm hai phần chính: Trình chỉnh sửa, nơi viết mã, và Trình biên dịch, 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 ++.

XAMPP hoạt động dựa trên sự tích hợp của 5 phdn mềm chính là Cross-

Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đdu của 5 phdn mềm này:

Chữ X đdu tiên là viết tắt của hệ điều hành mà nó hoạt động với: Linux, Windows và Mac OS X.

Apache là máy chủ web mã nguồn mở phổ biến nhất toàn cầu, được sử dụng rộng rãi để phân phối nội dung trên Internet Ứng dụng này được phát triển và cung cấp miễn phí bởi Quỹ Phần mềm Apache.

MySQL và MariaDB đều là những hệ quản trị cơ sở dữ liệu quan hệ phổ biến, với MySQL được tích hợp trong XAMPP, kết hợp cùng Web Server Apache và ngôn ngữ lập trình PHP để cung cấp khả năng lưu trữ dữ liệu cho các dịch vụ Web Hiện tại, XAMPP đã thay thế MySQL bằng MariaDB, một nhánh của dự án MySQL do cộng đồng phát triển.

PHP là một ngôn ngữ lập trình phía máy chủ, cho phép người dùng phát triển các trang web và ứng dụng động Nó có khả năng cài đặt trên nhiều nền tảng khác nhau và hỗ trợ nhiều hệ thống cơ sở dữ liệu đa dạng.

Perl là một ngôn ngữ kịch bản phổ biến, thường được sử dụng trong quản trị hệ thống, phát triển web và lập trình mạng Tương tự như PHP, Perl cho phép người dùng phát triển các ứng dụng web động một cách hiệu quả.

Visual Studio Code, hay còn gọi là VS Code, là ứng dụng biên tập mã nguồn mạnh mẽ, hỗ trợ nhanh chóng trong việc xây dựng và thiết kế website Trình soạn thảo này hoạt động mượt mà trên các nền tảng như Windows, macOS và Linux, đồng thời tương thích với cả những thiết bị có cấu hình trung bình, giúp người dùng dễ dàng sử dụng.

Visual Studio Code là một trình soạn thảo mã nguồn mạnh mẽ với nhiều chức năng Debug, hỗ trợ Git và có Syntax Highlighting Nó nổi bật với tính năng tự hoàn thành mã thông minh, Snippets và khả năng cải tiến mã nguồn Với tính năng tùy chỉnh, lập trình viên có thể thay đổi Theme, phím tắt và nhiều tùy chọn khác Mặc dù nhẹ, Visual Studio Code vẫn tích hợp nhiều tính năng mạnh mẽ.

Mặc dù mới ra mắt, VSCode đã nhanh chóng trở thành một trong những trình biên tập mã nguồn mạnh mẽ và phổ biến nhất cho lập trình viên Với khả năng hỗ trợ nhiều ngôn ngữ lập trình thông dụng, cùng với tính năng tích hợp đầy đủ và khả năng mở rộng, VSCode đã trở thành công cụ quen thuộc cho mọi lập trình viên.

Mã nguồn PHP

$conn = mysqli_connect($hostname, $username,

$password, $database); if (!$conn) { die("Connection failed: " mysqli_connect_error());

// Fetch the latest temperature and humidity readings

$query = "SELECT * FROM dht11 ORDER BY id DESC LIMIT 1";

$result = mysqli_query($conn, $query); if ($result && mysqli_num_rows($result) > 0) {

$row = mysqli_fetch_assoc($result);

Ngày đăng: 19/12/2024, 21:37

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

TÀI LIỆU LIÊN QUAN

w