IoTLabs

Nghiên cứu, Sáng tạo và Thử nghiệm

Thiết bị chăm sóc chậu cây tự động trên bàn làm việc với ESP32

Một chậu cây xanh nhỏ trên bàn làm việc có thể giúp góc học tập, làm việc trở nên dễ chịu và thoáng đãng hơn. Tuy nhiên, không phải ai cũng nhớ tưới cây đều đặn mỗi ngày. Có lúc quá bận, có lúc đi vắng vài ngày, cây dễ bị khô đất, héo lá hoặc chết dần mà chúng ta không để ý.

Với ESP32, cảm biến độ ẩm đất, bơm nước mini và kết nối MQTT Cloud, chúng ta có thể tạo ra một thiết bị chăm sóc chậu cây tự động trên bàn làm việc. Thiết bị này giúp theo dõi tình trạng của cây, tự động tưới nước theo lịch hoặc theo độ ẩm đất, đồng thời gửi dữ liệu lên Cloud để người dùng dễ dàng quan sát từ xa.

Thiết bị chăm sóc chậu cây tự động là gì?

Thiết bị chăm sóc chậu cây tự động là một hệ thống IoT nhỏ gọn được đặt cạnh chậu cây trên bàn làm việc. Thiết bị có thể đo độ ẩm đất, theo dõi ánh sáng, kiểm tra nhiệt độ môi trường và điều khiển bơm nước mini để tưới cây khi cần.

Thay vì phải nhớ tưới cây thủ công mỗi ngày, người dùng có thể để thiết bị tự động chăm sóc cây theo lịch trình đã thiết lập. Nếu kết hợp thêm MQTT Cloud, dữ liệu từ chậu cây có thể được gửi lên dashboard để theo dõi theo thời gian thực.

Vì sao nên làm dự án này?

Nhiều người thích đặt một chậu cây nhỏ trên bàn làm việc để tạo cảm giác thư giãn và gần gũi với thiên nhiên. Cây xanh giúp góc làm việc bớt khô cứng, tạo cảm giác trong lành và dễ chịu hơn.

Tuy nhiên, các vấn đề thường gặp là:

  • Quên tưới nước khi bận rộn.
  • Tưới quá nhiều khiến cây bị úng.
  • Không biết đất đang khô hay còn đủ ẩm.
  • Đặt cây ở nơi thiếu ánh sáng.
  • Đi công tác hoặc đi chơi vài ngày khiến cây bị héo.
  • Không có dữ liệu để biết cây cần chăm sóc như thế nào.

Dự án này giúp giải quyết các vấn đề đó bằng một thiết bị nhỏ gọn, dễ làm, dễ mở rộng và rất phù hợp cho người yêu thích IoT, ESP32 và các ứng dụng thông minh trong đời sống hằng ngày.

Ý tưởng hoạt động của hệ thống

Thiết bị sử dụng ESP32 làm bộ điều khiển trung tâm. Cảm biến độ ẩm đất được cắm vào chậu cây để đo lượng nước còn lại trong đất. Nếu đất quá khô, ESP32 sẽ kích hoạt bơm nước mini để tưới một lượng nước vừa đủ.

Ngoài ra, thiết bị có thể đọc thêm dữ liệu từ cảm biến ánh sáng, cảm biến nhiệt độ và độ ẩm không khí. Các dữ liệu này được hiển thị trên màn hình OLED nhỏ và gửi lên Cloud qua MQTT.

Luồng hoạt động cơ bản:

Cảm biến đo độ ẩm đất
↓
ESP32 xử lý dữ liệu
↓
Nếu đất khô → bật bơm mini tưới cây
↓
Cập nhật trạng thái lên màn hình OLED
↓
Gửi dữ liệu lên MQTT Cloud
↓
Dashboard hiển thị lịch sử chăm sóc cây

Các tính năng chính của thiết bị

1. Đo độ ẩm đất

Cảm biến độ ẩm đất giúp thiết bị biết cây đang thiếu nước hay đất vẫn còn đủ ẩm. Đây là dữ liệu quan trọng nhất trong hệ thống.

Ví dụ:

  • Độ ẩm đất dưới 35%: cây cần được tưới.
  • Độ ẩm đất từ 40% đến 70%: trạng thái tốt.
  • Độ ẩm đất trên 80%: đất quá ướt, không nên tưới thêm.

Nên sử dụng cảm biến độ ẩm đất điện dung thay vì loại điện trở thông thường, vì loại điện dung bền hơn và ít bị ăn mòn khi cắm lâu trong đất.

2. Tự động tưới nước

Khi đất khô, ESP32 sẽ kích hoạt bơm mini để bơm nước từ bình chứa vào chậu cây thông qua ống silicon nhỏ.

Để tránh tưới quá nhiều, hệ thống không nên bật bơm liên tục. Thay vào đó, có thể tưới theo từng đợt ngắn.

Ví dụ:

Nếu độ ẩm đất < 35%
→ Bật bơm 3 giây
→ Chờ 30 giây
→ Đọc lại độ ẩm đất
→ Nếu vẫn khô, tưới thêm
→ Nếu đủ ẩm, dừng tưới

Cách này giúp nước có thời gian thấm vào đất và giảm nguy cơ cây bị úng.

3. Tưới cây theo lịch trình

Ngoài chế độ tưới theo độ ẩm đất, thiết bị có thể hỗ trợ tưới theo lịch.

Ví dụ:

  • Tưới mỗi ngày lúc 8:00 sáng.
  • Tưới cách ngày.
  • Chỉ tưới nếu đến giờ tưới và đất đang khô.
  • Không tưới nếu đất vẫn còn đủ ẩm.

Chế độ tốt nhất là kết hợp cả lịch trình và cảm biến. Thiết bị chỉ tưới khi đến lịch và đất thật sự cần nước.

4. Theo dõi ánh sáng quanh cây

Một số cây để bàn cần ánh sáng gián tiếp để phát triển tốt. Nếu chậu cây đặt ở góc quá tối, cây có thể vàng lá hoặc phát triển yếu.

Có thể dùng cảm biến ánh sáng BH1750 hoặc LDR để đo mức ánh sáng.

Thiết bị có thể cảnh báo:

Cây đang thiếu ánh sáng.
Hãy đặt chậu gần cửa sổ hơn.

5. Theo dõi nhiệt độ và độ ẩm không khí

Cảm biến DHT22 hoặc SHT31 có thể được dùng để đo nhiệt độ và độ ẩm xung quanh chậu cây.

Dữ liệu này giúp người dùng biết môi trường đặt cây có phù hợp hay không. Ví dụ, nếu nhiệt độ quá cao hoặc không khí quá khô, cây có thể mất nước nhanh hơn.

6. Gửi dữ liệu lên MQTT Cloud

Khi kết nối WiFi, ESP32 có thể gửi dữ liệu lên MQTT Cloud. Đây là điểm giúp dự án trở thành một ứng dụng IoT hoàn chỉnh.

Các dữ liệu có thể gửi gồm:

  • Độ ẩm đất.
  • Nhiệt độ.
  • Độ ẩm không khí.
  • Mức ánh sáng.
  • Trạng thái bơm nước.
  • Trạng thái bình nước.
  • Lần tưới gần nhất.
  • Trạng thái tổng thể của cây.

Ví dụ MQTT payload:

{
  "device_id": "desk_plant_001",
  "soil_moisture": 62,
  "temperature": 28.5,
  "humidity": 65,
  "light_level": 420,
  "pump_status": "off",
  "water_level": "ok",
  "plant_status": "healthy",
  "next_watering": "08:00"
}

Linh kiện cần chuẩn bị

Linh kiệnChức năng
ESP32 DevKitBộ điều khiển chính
Cảm biến độ ẩm đất điện dungĐo độ ẩm đất
Bơm nước mini 5VTưới cây
Ống silicon nhỏDẫn nước vào chậu
Bình nước miniChứa nước tưới
Relay 1 kênh hoặc MOSFET moduleĐiều khiển bơm
Cảm biến ánh sáng BH1750 hoặc LDRĐo ánh sáng
DHT22 hoặc SHT31Đo nhiệt độ, độ ẩm
Màn hình OLED 0.96 inchHiển thị trạng thái
Nút nhấnTưới thủ công
Buzzer hoặc LED RGBCảnh báo tại chỗ
Nguồn 5VCấp nguồn cho ESP32 và bơm

Sơ đồ kết nối cơ bản

Một phiên bản đơn giản có thể kết nối như sau:

Thiết bịKết nối với ESP32
Cảm biến độ ẩm đấtChân ADC, ví dụ GPIO34
Relay/MOSFET điều khiển bơmGPIO26
OLED I2C SDAGPIO21
OLED I2C SCLGPIO22
DHT22GPIO27
Nút tưới thủ côngGPIO25
LED trạng tháiGPIO2

Lưu ý: bơm mini nên dùng nguồn 5V ổn định. Nếu bơm tiêu thụ dòng cao, không nên cấp trực tiếp từ chân ESP32. Nên dùng relay hoặc MOSFET module để điều khiển.

Logic điều khiển đề xuất

Thiết bị có thể hoạt động theo 3 chế độ:

Chế độ 1: Tự động theo độ ẩm đất

Nếu đất khô dưới ngưỡng cài đặt, thiết bị tự động tưới.

Nếu soil_moisture < 35%
→ Bật bơm
→ Tưới 3 giây
→ Dừng bơm
→ Chờ đất thấm nước
→ Kiểm tra lại

Chế độ 2: Tưới theo lịch

Thiết bị tưới theo lịch cố định, ví dụ mỗi ngày lúc 8:00 sáng.

Nếu thời gian hiện tại = 08:00
và đất đang khô
→ Tưới cây

Chế độ 3: Tưới thủ công

Người dùng nhấn nút trên thiết bị hoặc gửi lệnh từ Cloud để tưới ngay.

Người dùng nhấn nút
→ Bơm bật trong 3 giây
→ Gửi log "manual watering" lên Cloud

Dashboard IoT nên hiển thị gì?

Nếu gửi dữ liệu lên IoTLabs Cloud hoặc một MQTT dashboard, giao diện nên có các thành phần sau:

Thành phầnÝ nghĩa
Soil MoistureĐộ ẩm đất hiện tại
Plant StatusTrạng thái cây
Next WateringLịch tưới tiếp theo
Water LevelMức nước trong bình
TemperatureNhiệt độ quanh cây
HumidityĐộ ẩm không khí
Light LevelMức ánh sáng
Moisture HistoryBiểu đồ độ ẩm đất theo thời gian
Watering LogsLịch sử các lần tưới

Dashboard sẽ giúp người dùng biết cây đang trong trạng thái tốt hay cần chăm sóc thêm.

Trạng thái cây có thể hiển thị

Trạng tháiÝ nghĩa
Healthy PlantCây đang ổn
Need WaterĐất đang khô
Auto WateringThiết bị đang tưới
Too WetĐất quá ẩm
Need LightCây thiếu sáng
Water Tank LowBình nước sắp hết
Sensor ErrorCảm biến lỗi hoặc mất kết nối

Những trạng thái này giúp người dùng dễ hiểu hơn thay vì chỉ nhìn vào các con số kỹ thuật.

Lợi ích lâu dài của thiết bị

Thiết bị chăm sóc chậu cây tự động không chỉ là một dự án học ESP32 đơn giản. Nó còn mang lại nhiều lợi ích thực tế:

  • Giúp cây trên bàn làm việc luôn được chăm sóc đều đặn.
  • Giảm nguy cơ cây bị khô héo do quên tưới.
  • Tránh tưới quá nhiều gây úng cây.
  • Tạo góc làm việc xanh, dễ chịu và có sức sống hơn.
  • Giúp người dùng hình thành thói quen quan sát môi trường sống bằng dữ liệu.
  • Có thể mở rộng thành sản phẩm IoT mini cho gia đình, văn phòng hoặc lớp học STEM.

Đây cũng là một dự án rất phù hợp để giới thiệu IoT cho người mới bắt đầu, vì nó kết hợp được cảm biến, điều khiển thiết bị, tự động hóa, MQTT và dashboard Cloud.

Hướng mở rộng dự án

Sau khi hoàn thành phiên bản cơ bản, có thể mở rộng thêm nhiều tính năng:

1. Theo dõi mực nước trong bình

Dùng cảm biến mực nước hoặc cảm biến siêu âm để biết bình nước còn bao nhiêu phần trăm.

Khi nước gần hết, thiết bị gửi cảnh báo:

Water tank is low. Please refill.

2. Tự học thói quen tưới cây

Hệ thống có thể lưu lịch sử độ ẩm đất và số lần tưới để gợi ý lịch tưới phù hợp hơn cho từng loại cây.

3. Điều khiển qua app

Người dùng có thể mở app để:

  • Xem trạng thái cây.
  • Bật tưới thủ công.
  • Thay đổi lịch tưới.
  • Thay đổi ngưỡng độ ẩm.
  • Xem biểu đồ dữ liệu.

4. Tạo nhiều thiết bị cho nhiều chậu cây

Mỗi chậu cây có một device ID riêng. Dashboard có thể hiển thị nhiều chậu cây cùng lúc.

Ví dụ:

desk_plant_001
living_room_plant_002
balcony_plant_003

5. Đóng gói thành bộ kit học IoT

Dự án có thể phát triển thành một bộ kit học IoT gồm ESP32, cảm biến, bơm mini, bình nước, dây nối và hướng dẫn kết nối Cloud.

Ứng dụng trong học tập và đời sống

Dự án này phù hợp với nhiều nhóm người dùng:

  • Người mới học ESP32.
  • Người muốn làm dự án IoT thực tế.
  • Học sinh, sinh viên học STEM.
  • Người làm văn phòng thích cây xanh.
  • Người muốn xây góc làm việc thông minh.
  • Maker muốn tạo sản phẩm IoT nhỏ gọn, dễ demo.

Điểm hay của dự án là người dùng có thể nhìn thấy kết quả rõ ràng: cây được tưới, dữ liệu thay đổi, dashboard cập nhật và thiết bị hoạt động ngay trong đời sống hằng ngày.

Kết luận

Thiết bị chăm sóc chậu cây tự động trên bàn làm việc với ESP32 là một dự án IoT nhỏ nhưng rất thiết thực. Từ một chậu cây xanh bình thường, chúng ta có thể biến nó thành một hệ thống thông minh có khả năng theo dõi, tự động tưới nước và gửi dữ liệu lên Cloud.

Dự án này không chỉ giúp cây luôn khỏe mạnh, mà còn giúp góc làm việc trở nên xanh hơn, dễ chịu hơn và hiện đại hơn. Với ESP32, cảm biến độ ẩm đất, bơm nước mini và MQTT Cloud, đây là một ý tưởng rất phù hợp để bắt đầu hành trình xây dựng các thiết bị IoT gần gũi với đời sống gia đình.