สอนใช้งานเซ็นเซอร์วัดระดับน้ำฝน Rain/Water Detection Sensor Module กับ Arduino UNO

บทความนี้จะสอนใช้งาน Arduino UNO เชื่อมต่อกับโมดูลเซ็นเซอร์ Rain/Water Detection Sensor ในการวัดระดับของน้ำ และเมื่อตัวเซ็นเซอร์ตรวจเจอระดับน้ำเกินกำหนดก็จะสั่งให้ LED สว่าง และ Buzzer ดัง จะมีวิธีการทำอย่างไรกันนั้น ไปดูกันเลยครับ

Rain/Water Detection Sensor Module

Rain/Water Detection Sensor เป็นโมดูลวัดค่าความชื้นหรือระดับน้ำฝน โดยค่าที่ได้ออกมาเป็นความต้านทาน (ADC) เมื่ออยู่ในสภาพปกติหรือแม้จะมีความต้านทานสูง ในขณะที่มีความชื้นมาก ๆ หรือมีปริมาณน้ำฝนในปริมาณมาก ค่าความต้านทานที่ได้จะลดลง ซึ่งสามารถปรับค่าความไวในการตรวจวัดได้อีกด้วย และสามารถให้ Output ได้ทั้ง Analog (ADC) และ Digital

Specification:

  • Voltage: 5V
  • Power indicator light, the output signal LED indicating lamp.
  • TTL level output, TTL output signal for low level drive capacity of around 100MA, can directly drive the relay, a buzzer, a small fan, etc.
  • Sensitivity adjustment via potentiometer
  • Control panel board size: 3*1.6 mm
  • A large area of raindrop detection board: 5.4*4.0 mm

อุปกรณ์ที่ต้องใช้

  1. Arduino UNO R3 board + USB CABLE
  2. Rain/Water Detection Sensor Module
  3. สาย Jumper 20 cm Male to Male
  4. บอร์ดทดลอง – 400 จุด
  5. LED เลือกสีตามใจชอบ
  6. ตัวต้านทาน
  7. Buzzer

หมายเหตุ หลอด LED กับตัวต้านทาน ขึ้นอยู่กับผู้ใช้ว่าจะสีอะไร และตัวต้านทานกี่โอห์ม ศึกษาเพิ่มเติม → คลิก

การต่อวงจร

Rain Sensor ⇒  Arduino UNO

A0         →    A0

VCC      →    5V

GND     →    GND

LED    ⇒  Arduino UNO

ขา + (ยาว)     →    Pin 13

ขา –  (สั้น)      →    GND

Buzer    ⇒  Arduino UNO

ขา +      →    Pin 2

ขา –      →    GND

การติดตั้งโปรแกรม Arduino IDE  →  คลิก

ทำความรู้จักกับ บอร์ด ARDUINO UNO R3  →  คลิก

ตัวอย่างโค้ด

int LED_Pin = 13;
int Sensor_Pin = A0;
int Buzzer_Pin = 2;

int value = 0;

void setup() {
Serial.begin(9600);
pinMode(LED_Pin, OUTPUT);
pinMode(Buzzer_Pin, OUTPUT);

}

void loop() {

value = analogRead(Sensor_Pin);

Serial.print(“Sensor value: “);
Serial.println(value);
delay(10);
if(value <= 180){
digitalWrite(LED_Pin, HIGH);
digitalWrite(Buzzer_Pin, HIGH);
}
else{
digitalWrite(LED_Pin, LOW);
digitalWrite(Buzzer_Pin, LOW);
}
}

ดาวโหลดโค้ด  → คลิก

ขั้นตอนในโปรแกรม Arduino IDE

1. ดาวน์โหลดโค้ดที่ผมอัพไว้ให้เมื่อข้างต้น และเปิดไฟล์ขึ้นมา ดังรูป

2. หลังจากนั้นให้เข้าไปเมนู Tools → Board : “xxxxxxx” →  Arduino AVR Boards  →  Arduino Uno

3. ไปที่เมนู Tools อีกครั้ง เลือก Port ที่บอร์ด Arduino UNO เชื่อมต่ออยู่ ในที่นี้เป็น COM9

4. กดอัปโหลดโปรแกรมลงบอร์ด รอจนเสร็จ

เมื่ออัพโหลดโค้ดลงบอร์ดเรียบร้อยแล้ว ทำการทดสอบจะได้ผล ดังรูป

จากโค้ดตัวอย่าง

เปิด Serial Monitor ขึ้นมาเพื่อดูค่า ถ้าเซ็นเซอร์ตรวจไม่เจอความชื้นในน้ำ จะส่งค่าสัญญาณ analog  1023 (ความต้านทานสูงสุด) มายัง Arduino UNO หลอดไฟ LED และ Buzzer จะยังไม่ติด ถ้าเซ็นเซอร์ตรวจเจอความชื้นในน้ำ สัญญาณ analog  มีค่าลดลง (ความต้านทานน้อยลง) และค่าตรงตามเงื่อนไขที่กำหนด ก็คือน้อยกว่าหรือเท่ากับ 180  และจะสั่งให้หลอดไฟ LED ติด และ Buzzer ติด

ตรวจเจอความชื้น

ตรวจไม่เจอความชื้น

Banner Content

0 Comments

Leave a Comment