Arduino Cảm biến mưa Chuông

Trong hướng dẫn này, chúng ta sẽ khám phá quá trình sử dụng Arduino để phát hiện mưa và tạo hệ thống báo động bằng chuông.

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×cảm biến mưa
1×Relay
1×12V Active Buzzer
1×12V Power Adapter
1×DC Power Jack
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về còi 12V và cảm biến mưa

Nếu bạn chưa biết về buzzer 12V và cảm biến mưa (bản đồ chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu về chúng trong các bài hướng dẫn sau đây:

Sơ đồ đấu dây

sơ đồ đấu dây cảm biến mưa Arduino 12v với còi

This image is created using Fritzing. Click to enlarge image

Mã Arduino

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-rain-sensor-buzzer */ #define RAIN_SENSOR_PIN A0 // Arduino pin connected to the OUTPUT pin of rain sensor #define BUZZER_PIN A2 // Arduino pin connected to Buzzer's pin int rain_state = LOW; // current state of rain sensor's pin int prev_rain_state = LOW; // previous state of rain sensor's pin void setup() { Serial.begin(9600); // initialize serial pinMode(RAIN_SENSOR_PIN, INPUT); // set arduino pin to input mode pinMode(BUZZER_PIN, OUTPUT); // set arduino pin to output mode } void loop() { prev_rain_state = rain_state; // store old state rain_state = digitalRead(RAIN_SENSOR_PIN); // read new state if (prev_rain_state == LOW && rain_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Rain detected!"); digitalWrite(BUZZER_PIN, HIGH); // turn on buzzer } else if (prev_rain_state == HIGH && rain_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Rain stopped!"); digitalWrite(BUZZER_PIN, LOW); // turn off buzzer } }

Hướng dẫn từng bước

  • Kết nối Arduino với máy tính bằng cáp USB
  • Mở Arduino IDE, chọn board và cổng đúng
  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • Đưa tay trước cảm biến
  • Nghe tiếng buzzer 12V

Giải thích mã nguồn

Đọc giải thích từng dòng trong các chú thích của mã nguồn!

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.