TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu đề tài
Ngày nay việc nuôi yến là một việc không còn xa lạ gì nữa, việc nuôi yến mang lại tiềm năng rất lớn và cực kì triển vọng
Các vùng miền Trung và Đông Nam Bộ, với điều kiện tự nhiên và khí hậu lý tưởng, rất thuận lợi cho sự phát triển của nghề nuôi chim yến Nghề này không chỉ tạo ra việc làm và nguồn cung đáng kể cho địa phương mà còn góp phần bảo vệ môi trường sinh thái Kể từ khi nghề nuôi yến thương mại xuất hiện vào năm 2014, nó đã phát triển mạnh mẽ với nhiều loại khác nhau Yến có nhiều công dụng như bổ phổi, thanh nhiệt, tăng sức đề kháng, đồng thời mang lại thu nhập cao và giúp kiểm soát sâu bệnh mà không gây ô nhiễm môi trường.
Hình 1: Hình ảnh nhà yến thực tế
Để xây dựng và nuôi yến hiệu quả, cần tuân thủ quy trình cụ thể nhằm tránh thiệt hại về thời gian và tiền bạc Nhà yến phải đạt tiêu chuẩn về ánh sáng, nhiệt độ, độ ẩm phù hợp với đặc tính sinh sản của loài yến Hệ thống âm thanh cũng rất quan trọng để thu hút yến vào nhà để sinh sản Việc áp dụng máy móc và công nghệ vào nuôi yến là cần thiết để nâng cao năng suất và chất lượng Mục tiêu của tôi là đưa kỹ thuật khoa học vào chăn nuôi yến trong nước một cách thực tế hơn.
Hình 2: Hình ảnh yến làm tổ trong nhà yến
Nuôi nhà yến có nhiều điều kiện thuận lợi, nhưng cũng gặp khó khăn do tiếng ồn từ loa ngoài và loa dẫn dụ yến Do đó, việc xây dựng nhà yến nên được thực hiện ở những khu vực ít dân cư, như rừng, nơi có môi trường lý tưởng cho yến tìm kiếm thức ăn.
- Đo nhiệt độ, độ ẩm
- Giám sát nhiệt độ, độ ẩm trên LCD
- Đưa dữ liệu lên Webserver
- Điều khiển động cơ phun sương trên Webserver và App điện thoại
- Tự động điều khiển động cơ phun sương khi nhiệt độ vượt mức
- Lấy dữ liệu trên Cloud cụ thể là trên ThingSpeak
- Hoạt động của hệ thống
Hệ thống bắt đầu hoạt động khi cấp nguồn 5V vào mạch
Bộ cảm biến DHT11 sẽ thu thập và xử lý tín hiệu nhiệt độ, độ ẩm, sau đó gửi tín hiệu analog đến bộ vi xử lý ESP32 Bộ vi xử lý này sẽ giải mã tín hiệu và hiển thị thông số Nhiệt độ và Độ ẩm trên màn hình LCD Khi nhiệt độ vượt quá ngưỡng cài đặt, Relay sẽ kích hoạt, cho phép động cơ phun sương hoạt động cho đến khi nhiệt độ giảm xuống mức an toàn, tại đó Relay sẽ tắt và động cơ phun sương ngừng hoạt động.
Webserver và App điện thoại sẽ là nơi điều khiển động cơ phun sương
Cloud ThingSpeak sẽ ghi nhận dữ liệu nhiệt độ và độ ẩm từ cảm biến DHT11 gửi đến vi xử lý ESP32 Ngoài ra, ThingSpeak còn hiển thị biểu đồ thể hiện sự biến đổi của nhiệt độ và độ ẩm.
Hệ thống hoạt động như thế cho đến khi ngưng cấp nguồn cho toàn bộ hệ thống
- Ứng dụng vào các nhà yến thông minh
- Giúp việc quan sát và lấy dữ liệu bên trong phòng yến trở nên dễ dàng hơn bao giờ hết
- Nâng cao chất lượng sản phẩm và đạt năng suất cao
Mục đích nghiên cứu
Áp dụng kiến thức lý thuyết vi điều khiển từ trường, em sử dụng vi điều khiển ESP32 để thực hiện các dự án Bên cạnh đó, em cũng vận dụng hiểu biết về linh kiện điện tử như relay, cảm biến DHT11 và các động cơ phun sương trong quá trình thực hiện.
- Áp dụng những kiến thức đã học về môn lập trình như lập trình C Ở đồ án này em viết code trên Arduino IDE.
- Tìm hiểu thêm về làm App trên điện thoại cụ thể là MIT Inventor.
- Từ những thứ trên nhằm tạo mục đích cho việc làm đồ án về nhà yến thông minh.
Đối tượng nghiên cứu
- ESP32, module relay 5V, động cơ phun sương mini 5V, LCD 16x2, cảm biến nhiệt độ DHT11.
- Phần mềm lập trình Arduino IDE, phần mềm MIT Inventor.
- Bộ nguồn 5VDC và các linh kiện khác
- Mô hình về nhà yến thông minh.
Phạm vi nghiên cứu
Điều khiển thiết bị và giám sát nhiệt độ độ ẩm trên nhà yến
Dự đoán kết quả
- Hệ thống dựa trên kết quả xử lí của vi điều khiển ESP32 đưa ra màn hình LCD bao gồm nhiệt độ, độ ẩm.
- Điều khiển động cơ phun sương trên điện thoại và webserver.
- Tự động kích hoạt hệ thống khi quá ngưỡng cho phép
CƠ SỞ LÝ THUYẾT
IoT là gì?
Internet vạn vật (IoT) là một hệ thống kết nối các thiết bị và đồ vật thông qua cảm biến, phần mềm và công nghệ hiện đại Nhờ vào IoT, các thiết bị có khả năng thu thập và chia sẻ dữ liệu một cách hiệu quả, tạo ra một mạng lưới thông minh giúp tối ưu hóa quy trình và nâng cao trải nghiệm người dùng.
Internet vạn vật (IoT) mở rộng lợi ích của mạng internet đến mọi thiết bị kết nối, không chỉ giới hạn ở máy tính Khi một vật thể được kết nối với internet, nó trở nên thông minh hơn nhờ khả năng gửi và nhận thông tin, từ đó tự động hoạt động dựa trên dữ liệu thu thập được.
Các ứng dụng công nghệ từ Internet vạn vật (IoT) đang tạo ra những giá trị đáng kể cho con người Gần đây, chúng ta chứng kiến sự phát triển mạnh mẽ của hệ thống nhà thông minh và các thiết bị gia dụng thông minh, cho phép điều khiển bằng giọng nói.
Hình 3: Hình ảnh tổng quan về IoT
2.1.3 Cấu trúc của hệ thống IoT
An IoT system consists of four key components: Devices (Things), Gateways for connectivity, Network and Cloud infrastructure, and Services for data analysis and processing.
Hình 4: Cấu trúc của hệ thống IoT 2.1.4 Tầm quan trọng của IoT
Khi một vật thể được kết nối với internet, nó có khả năng gửi và nhận thông tin, tạo nên sự thông minh cho các thiết bị IoT giúp mọi thứ trở nên thông minh hơn, và điều này đang trở thành xu hướng phát triển không thể thiếu trong cuộc sống hiện đại.
Điện thoại thông minh cho phép người dùng nghe bất kỳ bài hát nào trên thế giới mà không cần lưu trữ chúng trực tiếp trên thiết bị Thay vào đó, điện thoại gửi yêu cầu đến một nguồn lưu trữ khác và nhận thông tin để phát trực tuyến bài hát Điều này cho thấy sức mạnh của công nghệ kết nối và khả năng truy cập thông tin từ xa.
ThingSpeak là gì?
ThingSpeak là nền tảng mạnh mẽ cho việc trực quan hóa và phân tích dữ liệu trên đám mây, được phát triển bởi Matlab Nền tảng này cho phép người dùng xử lý và phân tích dữ liệu trực tiếp từ đám mây, đặc biệt hữu ích trong các dự án IoT ThingSpeak hỗ trợ theo dõi và phân tích các thay đổi về giá trị cảm biến, giúp nâng cao hiệu quả và khả năng quản lý dữ liệu trong các ứng dụng IoT.
Hình 5: Ảnh minh họa về ThingSpeak
2.2.2 Thingspeak hoạt động như thế nào?
Thingspeak hoạt động trên nền tảng điện toán đám mây, yêu cầu tất cả các thiết bị thu thập dữ liệu phải kết nối với mạng và cơ sở dữ liệu đám mây Nó cũng cho phép kết nối với cơ sở dữ liệu này để hiển thị luồng dữ liệu một cách trực quan.
Để theo dõi nhiệt độ và độ ẩm trong phòng làm việc, bạn cần lắp đặt một bộ điều khiển cùng với các cảm biến, sau đó kết nối chúng qua API REST Bộ điều khiển sẽ thu thập dữ liệu từ cảm biến và gửi thông tin này lên đám mây, giúp bạn hiển thị dữ liệu một cách trực quan trên Thingspeak.
Bạn có thể dễ dàng kiểm tra tình trạng phòng của mình từ bất kỳ đâu thông qua điện thoại thông minh hoặc trang web, chỉ cần đăng nhập vào tài khoản Thingspeak.
Hình 6: Cách hoạt động của ThingSpeak 2.2.3 Các tính năng của ThingSpeak
- Thu thập dữ liệu trong các kênh riêng
- MATLAB phân tích và trực quan hóa
2.2.4 Ưu điểm, nhược điểm của ThingSpeak
Lưu trữ miễn phí cho các kênh
Dễ hình dung, trực quang
Cung cấp các tính năng bổ sung cho Ruby, Node.js và Python
Tải lên dữ liệu hạn chế cho API
API ThingSpeak là một trở ngại cho người mới bắt đầu
App MIT Inventor là gì?
App Inventor là một nền tảng phát triển ứng dụng chỉ hoạt động trên hệ điều hành Android Người dùng có thể tạo ra các ứng dụng bằng cách kéo thả các khối hộp chứa mã lập trình vào bảng mã, giúp việc lắp ghép ứng dụng trở nên dễ dàng và trực quan Với giao diện thân thiện, App Inventor mang đến trải nghiệm đơn giản cho người dùng trong việc phát triển ứng dụng di động.
Nhà yến
Nhà yến là không gian sống lý tưởng cho chim yến, được thiết kế để tái tạo các điều kiện tự nhiên như nhiệt độ, độ ẩm, ánh sáng và âm thanh, tương tự như môi trường trong các hang yến ở đảo xa Để thu hút và duy trì sự sinh sống của chim yến, môi trường trong nhà yến cần phải phù hợp với đặc điểm tự nhiên của khu vực mà chúng sinh sống.
2.4.2 Nuôi yến cần tuân thủ các nguyên tắc gì ?
- Để đảm bảo môi trường sinh sống tương tự như ngoài tự nhiên thì ta cần phải tuân thủ các thông số sau:
- Ánh sáng: Từ 0.01 lux – 0.2 lux
Cường độ âm thanh bên ngoài nhà: 90dB – 100dB
Cường độ âm thanh bên trong nhà: 60dB – 80dB
Tần số âm thanh: 2KHz – 10KHz
2.4.3 Các thiết bị cần thiết trong nhà yến
- Máy phun sương tạo ẩm
- Thiết bị âm thanh (loa amply)
Thiết bị sử dụng
ESP32 với ESP32-WROOM-32 chạy Dual core, tích hợp Wifi và dual mode bluetooth Board hỗ trợ tự động upload chương trình thông qua dây micro-USB
2 Các thông số kĩ thuật
- Kích thước: 18 mm x 20 mm x 3 mm
- CPU: Xtensa Dual-Core 32-bit LX6 với tần số hoạt động lên đến 240 MHz
- 448 KBytes ROM cho booting và các tính năng của lõi chip.
- 520 KBytes SRAM trên chip dùng cho dữ liệu và các lệnh instruction.
- 8 KBytes SRAM trong RTC (gọi là RTC SLOW Memory) để truy xuất bởi các bộ co-processor
- 8 KBytes SRAM trong RTC (gọi là RTC FAST Memory) dùng cho lữu dữ liệu, truy xuất bở- i CPU khi RTC đang boot từ chế độ Deep-sleep.
EFUSE 1 Kbit bao gồm 256-bit dành cho hệ thống, sử dụng để lưu trữ địa chỉ MAC và cấu hình chip, trong khi 768 bit còn lại được sử dụng cho ứng dụng người dùng, bao gồm mã hóa bộ nhớ Flash và định danh cho chip.
- Bluetooth: BR/EDR phiên bản v4.2 và BLE
- Ethernet MAC hỗ trợ chuẩn: DMA và IEEE 1588
- Bus hỗ trợ mạng CAN 2.0
- Bộ chuyển đổi ADC 12 bit, 16 kênh
- Bộ chuyển đổi 8-bits DAC: 2 kênh
- 10 chân để giao tiếp với cảm biến chạm (touch sensor)
- Ngõ ra PWM cho điều khiển Motor
- Nhiệt độ hoat động ổn định: -40C đến 85C
- Dòng tiêu thụ ổn định: 80mA
- Giao tiếp: Cable Micro-USB (tương đương cáp sạc điện thoại)
Hình 9: Cấu tạo của ESP32-WROOM-32
2.5.2 Cảm biến nhiệt độ DHT11
DHT11 là một cảm biến nhiệt độ và độ ẩm có khả năng xuất tín hiệu số đã được hiệu chuẩn Cảm biến này có thể dễ dàng giao tiếp với các vi điều khiển như Arduino, mang lại kết quả tức thời Với giá thành phải chăng, DHT11 cung cấp độ tin cậy cao và ổn định lâu dài, là lựa chọn lý tưởng cho các ứng dụng đo lường nhiệt độ và độ ẩm.
Hình 10: Cảm biến đô nhiệt độ, độ ẩm DHT11
2 Thông số kĩ thuật Dải đo độ ẩm: 20% - 95%
Dải đo nhiệt độ: 0 ºC - 50 ºC Sai số độ ẩm: ±5%
Sai số nhiệt độ: ±2ºC Tần số lấy mẫu: 1Hz.
3 Nguyên lý hoạt động Bước 1: Gửi tin hiệu đến DHT11, sau đó DHT11 xác nhận lại.
Bước 2: Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được.
Hình 11: Sơ đồ kết nối DHT11 đến vi xử lý
Module relay 1 kênh opto cách ly 5V được trang bị opto và transistor cách ly, đảm bảo an toàn cho board mạch chính Thiết bị này cho phép đóng ngắt nguồn điện công suất cao AC hoặc DC, với tùy chọn kích hoạt ở mức cao hoặc mức thấp thông qua Jumper.
Sử dụng điện áp nuôi DC 5V.
Tiêu thụ dòng khoảng 80mA.
Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A.
Có đèn báo đóng ngắt trên Relay.
Có thể chọn mức tín hiệu kích 0 hoặc 1 qua jumper.
- Chức năng từng chân của LCD 1602:
1 - VSS: chân nối đất cho LCD
2 - VDD: chân cấp nguồn cho LCD
3 - VE: điều chỉnh độ tương phản của LCD
4 - RS: chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":
Trong chế độ "ghi", bus DB0 - DB7 sẽ kết nối với thanh ghi lệnh IR của LCD, trong khi ở chế độ "đọc", nó sẽ nối với bộ đếm địa chỉ của LCD.
+ Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
5 - R/W: chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0” để ghi hoặc nối với logic “1” đọc
Chân E (Enable) là tín hiệu quan trọng trong việc chấp nhận lệnh, chỉ khi có xung cho phép từ chân này, các tín hiệu được đặt lên bus DB0-DB7 mới được chấp nhận.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
Trong chế độ đọc, dữ liệu sẽ được LCD xuất ra các chân DB0-DB7 khi phát hiện sự chuyển đổi từ thấp sang cao (low-to-high transition) ở chân E Dữ liệu này sẽ được LCD giữ trên bus cho đến khi chân E trở về mức thấp.
Bus dữ liệu từ D0 đến D7 có 8 đường để trao đổi thông tin với MPU Có hai chế độ hoạt động cho 8 đường bus này: chế độ 8 bit, trong đó dữ liệu được truyền trên toàn bộ 8 đường với bit MSB là DB7, và chế độ 4 bit, khi dữ liệu được truyền trên 4 đường từ DB4 đến DB7, với bit MSB cũng là DB7.
Arduino IDE là phần mềm mã nguồn mở miễn phí, chủ yếu dùng để viết và biên dịch mã cho module Arduino Khi người dùng biên dịch mã, IDE sẽ tạo ra file Hex, là định dạng mà Arduino hiểu và được truyền đến bo mạch qua cáp USB.
- Những lí do mà Arduino IDE phổ biến:
Hỗ trợ lập trình cho board Arduino
Giao diện đơn giản, dễ dùng
Hỗ trợ nhiều nền tảng
Mạch phun sương mini được thiết kế nhỏ gọn có chức năng tạo hơi sương cung cấp độ ẩm
Mạch tạo hơi sương được kết nối qua cổng Micro USB và hoạt động với điện áp 5V, cho phép sử dụng nguồn điện từ sạc dự phòng, máy tính hoặc các thiết bị có cổng USB.
Kích Thước của đầu phun sương: 20x1.2mm
Cộng hưởng tần số của đầu phun sương: 1.70MHz
Hình 13: Động cơ phun sương mini 5V
THIẾT KẾ VÀ THI CÔNG
Sơ đồ khối
Động cơ phun sương LCD
DHT11 Webserver App điều khiển
- Là nơi cung cấp nguồn cho toàn bộ hệ thống hoạt động một cách trơn tru
- Những thiết bị cần nguồn để hoạt động
Động cơ phun sương Mini
- Tất cả các thiết bị trên hoạt động trên điện áp 5V, ngoại trừ DHT11 là lấy nguồn từ ESP32
Dòng tiêu thụ: 80mA + 80mA + 600uA + 0.4A = 560.6mA
Vi xử lý ESP32 hỗ trợ kết nối Wifi, giúp dễ dàng điều khiển thiết bị qua Webserver và các ứng dụng khác Nó nhận tín hiệu từ cảm biến và module relay để hiển thị trên LCD, đồng thời điều khiển động cơ phun sương thông qua relay trên Webserver và ứng dụng MIT Inventor Ngoài ra, ESP32 còn gửi thông tin về nhiệt độ và độ ẩm lên cloud ThingSpeak, cho phép giám sát các thông số này một cách thường xuyên và trực quan.
- Là thứ để đóng, ngắt động cơ phun sương
DHT11 là cảm biến chịu trách nhiệm gửi tín hiệu nhiệt độ và độ ẩm đến bộ vi xử lý trung tâm ESP32 Sau khi nhận tín hiệu, ESP32 sẽ mã hóa thông tin và hiển thị kết quả trên màn hình LCD.
- Là nơi hiển thị nhiệt độ, độ ẩm từ tín hiệu DHT11 đã mã hóa qua ESP32
- Thiết bị này hoạt động khi relay đóng
- Giúp lan tỏa hơi sương nhằm tăng độ ẩm, tăng nhiệt độ môi trường Phù hợp trong mô hình nhà yến
- Là nơi điều khiển relay thông qua wifi, cụ thể ở đây là mạng cục bộ
- Có thể truy cập bằng laptop hoặc điện thoại
- Là nơi điều khiển relay thông qua điện thoại nếu không có laptop
- Dễ dàng điều khiển hơn khi đa số mọi người đều có điện thoại trên tay
- ThingSpeak là nơi lưu trữ dữ liệu các giá trị nhiệt độ, độ ẩm
- Thời gian lấy mẫu mỗi 30 giây một lần
- Cũng có các biểu đồ về nhiệt độ, độ ẩm giúp hiển thị thông số một cách trực quan hơn
Giải thuật lập trình
Bắt đầu Đưa giá trị lên ThingSpeak Điều khiển động cơ trên webserver và App điều khiển
HIGH LOW Động cơ phun sương tắt Động cơ phun sương tắt
Hiển thị giá trị nhiệt độ, độ ẩm
Vi xử lý nhận tín hiệu từDHT11, Relay, Webserver,App điều khiển
3.2.2 Nguyên lý hoạt động của hệ thống
Khi hệ thống được cấp nguồn, cảm biến DHT11 sẽ bắt đầu ghi nhận nhiệt độ và độ ẩm từ môi trường Các giá trị này được gửi đến vi xử lý ESP32, nơi chúng được mã hóa và hiển thị trên màn hình LCD.
- Các giá trị nhiệt độ, độ ẩm được gửi lên Cloud ThingSpeak mỗi 30 giây một lần.
Trên nền tảng ThingSpeak, người dùng có thể truy xuất các giá trị đo trong suốt thời gian hoạt động của hệ thống Ngoài ra, ThingSpeak còn cung cấp khả năng hiển thị các giá trị này trên biểu đồ một cách trực quan, giúp người dùng dễ dàng theo dõi và phân tích dữ liệu.
Khi DHT11 hoạt động, module relay ở chế độ LOW Khi truy cập vào webserver và bật "ON", relay chuyển sang chế độ HIGH, kích hoạt động cơ phun sương.
Để tắt động cơ phun sương, bạn chỉ cần chọn chế độ “OFF” Tương tự, trên ứng dụng MIT Inventor, có hai chức năng chính là “ON” và “OFF”, cho phép bạn điều khiển động cơ phun sương Khi nhấn “ON”, động cơ sẽ hoạt động, còn khi nhấn “OFF”, động cơ sẽ ngừng hoạt động.
Khi nhiệt độ vượt quá 30 độ, relay sẽ tự động kích hoạt và động cơ phun sương bắt đầu hoạt động Ngược lại, nếu nhiệt độ dưới 30 độ, relay sẽ mở và động cơ phun sương sẽ ngừng hoạt động.
Lưu đồ giải thuật trên App điện thoại
Vi xử lý nhận tín hiệu từWebserver, App điều khiển
THỰC NGHIỆM
Giao diện trên webserver
Hình 14: Giao diện Webserver Điều khiển động cơ trên App điều khiển
HIGH Động cơ phun sương tắt
LOW Động cơ phun sương tắtTín hiệu từ relay
Giao diện App điều khiển
Hình 15: Giao diện App điều khiển
Thiết bị để mô phỏng
Hình 16: Các thiết bị mô phỏng
Hình 17: Các thiết bị mô phỏng
- Sau khi cấp nguồn vào thì DHT11 bắt đầu nhận ghi nhận giá trị môi trường và được mã hóa bởi ESP32 và hiển thị trên LCD
Hình 18: Hiển thị giá trị nhiệt độ, độ ẩm
- Như hình trên thì giá trị đo được
- Tiếp đến là điều khiển relay trên webserver
Hình 19: Khi relay ON trên webserver
Hình 20: Khi relay OFF trên webserver
- Tiếp đến là điều khiển trên App điện thoại
Hình 21: Khi relay ON trên app điện thoại
Hình 22: Khi relay OFF trên app điện thoại
- Cuối cùng là ghi nhận giá trị nhiệt độ, độ ẩm trên ThingSpeak
Hình 23: Giá trị nhiệt độ, độ ẩm và biểu đồ
Hình 24: File lưu các giá trị nhiệt độ, độ ẩm
- Như đã đề ra ở chương 1 em đã thực hiện được
Hiển thị nhiệt độ, độ ẩm trên LCD
Điều khiển relay trên webserver và app điện thoại
Lưu lại dữ liệu nhiệt độ, độ ẩm trên ThingSpeak