Lab.Vatli365
← Cấp độ 3 · Cảm biến đơn giản

Bài 15 · Công nghệ · Địa lí

Cảm biến mưa
đo độ ướt bằng những giọt nước có kiểm soát

Tấm cảm biến mưa là nhiều đường dẫn điện đặt sát nhau. Nước nối các đường ấy lại và làm tín hiệu thay đổi. Bài học có vẻ đơn giản, nhưng muốn kết luận đúng phải kiểm soát số giọt, vị trí nhỏ và thời gian lau khô.

Thời lượng
1 tiết (45 phút)
Chi phí một nhóm
≈ 20 nghìn đồng (chưa tính bo)
Cấp độ
3 / 12
Trạng thái
Đã có phần cứng, đang hoàn thiện
01

Mục tiêu và yêu cầu cần đạt

Mục tiêu không phải làm một trạm dự báo thời tiết. Tôi dùng bài này để học sinh thấy rằng một cảm biến rẻ tiền chỉ cho tín hiệu tương đối, và quy trình đo quyết định chất lượng dữ liệu nhiều không kém chương trình.

Sau bài này học sinh làm được

  • Nêu được nguyên lí nước làm thay đổi độ dẫn giữa các vạch trên tấm dò.
  • Đọc ngõ analog của module bằng ADC1 trên GPIO34.
  • Thiết kế phép thử có biến độc lập là số giọt nước.
  • Chọn ngưỡng ướt từ số liệu của chính tấm cảm biến.
  • Phân biệt phát hiện bề mặt ướt với dự báo mưa.
Gắn với chương trình
  • Công nghệ — cảm biến, hệ thống cảnh báo và quy trình thử sản phẩm.
  • Địa lí — yếu tố thời tiết và giới hạn của dữ liệu tại một điểm đo.

Khi soạn KHBD, chọn yêu cầu cần đạt phù hợp khối lớp và ghi nguồn văn bản chính thức.

02

Lí thuyết

Nước không được “đếm” trực tiếp

Hai nhóm đường kim loại trên tấm dò xen kẽ nhưng không chạm nhau. Khi khô, dòng giữa chúng rất nhỏ. Nước có ion tạo đường dẫn, làm điện trở giảm. Bo module biến thay đổi ấy thành điện áp ở chân AO; ESP32 đổi điện áp thành số ADC.

Vì sao cùng năm giọt mà số có thể khác

Một giọt lớn không bằng một giọt nhỏ. Nước nằm thành vũng nối nhiều vạch hơn nước trải mỏng. Khoáng chất trong nước, vết bẩn và lớp oxi hoá cũng làm độ dẫn thay đổi. Vì thế thí nghiệm phải dùng cùng ống nhỏ giọt, cùng loại nước và cùng vị trí.

Ngõ AO khác ngõ DO

AO cho cả dải số để ta tự chọn ngưỡng trong chương trình. DO chỉ cho hai trạng thái theo biến trở trên module. Bài này dùng AO để học sinh nhìn được dữ liệu và hiệu chuẩn, không dùng DO.

03

Linh kiện

Linh kiệnMô tả, lưu ý khi muaSố lượng · giá
ESP32 DevKit V1Bo 30 chân1 · 90–150k
Module cảm biến mưaTấm dò và bo so sánh có chân AO1 · 15–25k
LED 5 mm và điện trở 220 ΩĐèn cảnh báo1 bộ · 700đ
Ống nhỏ giọtGiúp giữ lượng nước gần giống nhau1
Khay nhựa và khăn giấyGiữ nước xa bo mạch1 bộ
04

Lắp mạch và sơ đồ nối dây

Đỏ · nguồn dương Đen · GND Vàng · SCL Xanh dương · SDA Trắng · tín hiệu Xanh lá · 1-Wire
KhốiNối dâyNguồn
Nguồn moduleVCC → 3V3 · GND → GNDChỉ cấp 3,3 V để AO không vượt mức GPIO
Tín hiệu analogAO → GPIO34Không dùng DO trong bài này
Tấm dòCắm vào đầu nối của bo cảm biếnĐặt trong khay, thấp hơn ESP32
LEDGPIO23 → 220 Ω → LED → GNDĐúng bảng chân của hồ sơ bo
B15.1 Ảnh thực

Tấm dò nằm trong khay nhựa, bo cảm biến và ESP32 đặt cao, cách xa vùng có nước.

Khung giữ chỗ — thay bằng ảnh chụp thật khi có
B15.2 Hình vẽ

VCC 3V3, GND chung, AO nối GPIO34 và LED nối GPIO23 qua điện trở.

Khung giữ chỗ — thay bằng ảnh chụp thật khi có
B15.3 Ảnh quy trình

Ống nhỏ giọt đặt trên cùng một vị trí của tấm dò, bên cạnh là bảng 0, 1, 3 và 5 giọt.

Khung giữ chỗ — thay bằng ảnh chụp thật khi có

Tách nước khỏi phần điện tử

  1. Đặt ESP32 và bo module trên mặt bàn khô, cao hơn khay thử.
  2. Đặt riêng tấm dò trong khay nhựa rồi nối cáp của nó về module.
  3. Nối VCC → 3V3, GND → GND, AO → GPIO34.
  4. Lắp LED ở GPIO23 qua điện trở 220 Ω.
  5. Chạy thử khi tấm hoàn toàn khô trước khi lấy nước.
Nước chỉ ở trong khay

Không nhỏ nước khi đang cầm tấm dò phía trên ESP32. Nếu nước tràn ra ngoài khay, rút cáp USB, lau khô hoàn toàn rồi mới tiếp tục. Chỉ dùng nước sạch, không dùng dung dịch ăn mòn hay chất dễ cháy.

Cấp module bằng 3,3 V

Một số hướng dẫn trên mạng cấp module bằng 5 V. Ở đây chân AO đi thẳng vào ESP32 nên bảng chân đã chốt dùng 3,3 V để tín hiệu không vượt mức an toàn.

05

Mã nguồn

Mã dùng MicroPython cho ESP32. Chỉ nhỏ nước sạch lên tấm dò đặt trong khay; không để nước chạm bo ESP32 hay cổng USB.

Bước 1 — lấy mẫu theo số giọt
# Moi lan chay, doi SO_GIOT thanh 0, 1, 3 hoac 5
from machine import ADC, Pin
import time

cam_bien = ADC(Pin(34))
cam_bien.atten(ADC.ATTN_11DB)
SO_GIOT = 0

print("Chuan bi mau", SO_GIOT, "giot trong 5 giay")
time.sleep_ms(5000)

tong = 0
for lan in range(10):
    tong += cam_bien.read()
    time.sleep_ms(100)

print(SO_GIOT, "giot - trung binh:", tong // 10)

Mỗi lần chạy chỉ đo một mức. Đổi SO_GIOT thành 0, 1, 3 hoặc 5; sau mỗi mức, thấm khô tấm và chờ số trở về vùng ban đầu rồi mới thử tiếp.

Bước 2 — cảnh báo bề mặt ướt
# Bai 15 - Cam bien mua analog
from machine import ADC, Pin
import time

# ===== CẤU HÌNH =====
CHAN_MUA = 34
CHAN_LED = 23
NGUONG_UOT = 2200      # thay bang nguong cua chinh tam cam bien
CHU_KY_MS = 500
# ====================

cam_bien = ADC(Pin(CHAN_MUA))
cam_bien.atten(ADC.ATTN_11DB)
led = Pin(CHAN_LED, Pin.OUT)

while True:
    do_uot = cam_bien.read()
    print("Do uot:", do_uot)

    # Voi module cua bai nay, be mat uot thuong cho so nho hon.
    if do_uot < NGUONG_UOT:
        led.on()
    else:
        led.off()

    time.sleep_ms(CHU_KY_MS)

Ngưỡng 2200 chỉ là số khởi đầu. Thay nó bằng giá trị nằm giữa vùng khô và vùng ướt đo được. Nếu module của bạn đổi chiều, chọn dấu so sánh theo dữ liệu thật.

Em mô tả bằng tiếng Việt, hệ thống dựng thuật toán và chương trình, rồi nạp thẳng xuống ESP32 qua Wi-Fi.

06

Hiệu chuẩn và kiểm thử

Bảng số liệu có kiểm soát

Số giọtLần 1Lần 2Lần 3Trung bình
0…………
1…………
3…………
5…………

Danh sách kiểm

  • AO nối GPIO34 và module chỉ nhận 3,3 V.
  • Tấm khô có vùng số ổn định trước khi thử.
  • Mỗi mức dùng cùng ống, cùng vị trí và cùng thời gian chờ.
  • Ngưỡng lấy từ bảng của chính tấm cảm biến.
  • Toàn bộ nước nằm trong khay, cách xa bo và máy tính.
07

Kinh nghiệm và cạm bẫy

Lau nhìn khô nhưng số chưa về

Khi dựng bài, tôi lau mặt trên rất kĩ mà số vẫn báo ướt. Một giọt nước đã chui xuống mặt dưới và mắc ở đầu nối. Từ đó tôi đặt tấm nghiêng, thấm cả hai mặt và chờ số trở về vùng khô trước mỗi lượt.

Tấm dò bị ăn mòn

Dòng điện một chiều qua bề mặt ướt làm các đường kim loại xuống màu theo thời gian. Chỉ cấp nguồn lúc đo, lau khô sau tiết học và không coi tấm rẻ tiền này là cảm biến ngoài trời dùng lâu dài.

08

Ứng dụng trong dạy học

Công nghệĐịa líToánSTEM

Công nghệ — thử sản phẩm bằng tiêu chí đo được

Không chấm sản phẩm chỉ vì LED đã sáng. Nhóm phải công bố vùng khô, vùng ướt, ngưỡng chọn và số lần cảnh báo sai trong năm lần thử lặp.

Địa lí — một điểm ướt không phải là dự báo

Tấm dò chỉ cho biết chính bề mặt của nó đang có nước. Dự báo thời tiết cần nhiều đại lượng, nhiều điểm quan trắc và mô hình. Đây là dịp tốt để tách dữ liệu quan sát tại chỗ khỏi một kết luận rộng hơn.

Bài học STEM 5 hoạt động — “Báo mưa cho cửa sổ lớp”

Hoạt động 1 — Xác định vấn đề. Mưa tạt vào cửa sổ khi phòng không có người.

Tiêu chí sản phẩm: phát hiện 3 giọt trong ba lần thử; không báo khi tấm khô; phần điện tử không tiếp xúc nước.

Hoạt động 2 — Kiến thức nền. Độ dẫn điện, ADC, ngưỡng và sai số phép thử.

Hoạt động 3 — Đề xuất phương án. Chọn góc đặt tấm, khay hứng và vị trí LED báo.

Hoạt động 4 — Chế tạo và thử. Thử mù với 0, 1, 3 hoặc 5 giọt do nhóm khác chuẩn bị.

Hoạt động 5 — Báo cáo và điều chỉnh. Lập ma trận đúng–sai, sửa ngưỡng rồi thử lại.

Hướng mở rộng
  • Đo thời gian khô trong nắng, bóng râm và trước quạt.
  • Thiết kế vỏ che để nước tới tấm dò nhưng không tới bo mạch.
  • So tấm điện trở với một cảm biến mưa điện dung.
  • Hướng thi Khoa học kĩ thuật: hệ cảnh báo rò nước thấp áp cho phòng thiết bị.