Arduino Sensor Example เซนเซอร์ตรวจจับ น้ำฝน/ความชื้น

Rain/Water Detection Sensor
เซนเซอร์ตรวจจับ น้ำฝน/ความชื้น
สวัสดี FC ทุกๆท่านนะครับ .......วันนี้เรามา "พับกบ" เอ้ยยย!!! "พบกับ" เอ้ยย .....ถูกแล้ว "เซนเซอร์ตรวจจับ น้ำฝน/ความชื้น กันนะหมู่เฮา"
โดยเซนเซอร์ตัวนี้จะมีความสามารถในการครวจจับน้ำและความชื้น จากนั้นจะเปลี่ยนเป็นสัญญาณทางไฟฟ้าให้กับ Arduino เรารู้แค่นี้พอ เพราะความสามารถและสเปคลึกๆก็คงหาได้ทั่วๆไป (กดตรงนี้ก็มีนะ>> Rain/Water Detection Sensor) .....อ่าววว!!! แล้วบทความนี้จะเขียนเพื่อ ?? ....ในบทความนี้เราจะมา ทดสอบ อธิบายโค๊ดโปรแกรม และแนะแนวการต่อยอดว่าจะเอาไปทำอะไรได้บ้างกันนะครับ อุปกรณ์ที่จำเป็นต้องใช้ มีดังนี้
1. บอร์ด Arduino Uno R3 หรือ Arduino Mega 2560 R3 (สาย USB ด้วยนะอย่าลืม)3. สายจั๊ม ผู้-เมีย4. Rain/Water Detection Sensor เซนเซอร์ตรวจจับ น้ำฝน/ความชื้น
วิธีเชื่อมต่ออุปกรณ์
ทำการเชื่อมต่อ Rain/Water Detection Sensor เข้ากับ Control Board โดยที่สามารถต่อสายฝั่งไหนก็ได้ไม่มีขั่ว จากนั้นต่อขา VCC ของ Control Board เข้ากับ 5V และขา GND ของ Control Board เข้ากับขา GND บนบอร์ด Arduino จากนั้นต่อขา D0 เข้าที่ขา A0 ของ Arduino ตามรูป
| Control Board | Arduino | |
| A0 | >> | A0 |
| GND | >> | GND |
| VCC | >> | 5V |
หลักการทำงาน
เมื่อหน้าสำผัสของ Rain/Water Detection Sensor ได้รับความชื้นหรือน้ำ จะทำให้ตัวเซนเซอร์นำไฟฟ้า กระแสจะไหลจาก Control Board ผ่าน Rain/Water Detection Sensor กลับมายัง Control Board จากนั้นตัว Control Board จะส่งค่าที่รับได้กลับมายัง Arduino
โค๊ดโปรแกรม
/** Coding By : Arduinos Pro
* Sample Coding : Rain/Water Detection Sensor
*/
int sensor_Pin = A0; //สร้างตัวแปรชื่อ sensor_Pin ชนิด int เพื่อเก็บ A0 (ตำแหน่งของขารับสัญญาณ)
void setup() {
Serial.begin(9600); //กำหนดช่องความถี่ในการเชื่อมต่อกับ Serial เพื่อดูค่าต่างๆที่รับได้
}
void loop() {
int sensor_Value = analogRead(sensor_Pin); //สร้างตัวแปรชื่อ sensor_Value ชนิด int เพื่อเก็บค่า analog ที่ได้จาก sensor_Pin
Serial.print("Rain/Water Detection Sensor Value = "); //แสดงค่าออกทาง Serial Monitor ว่า "Rain/Water Detection Sensor Value = "
Serial.println(sensor_Value); //แสดงค่าที่รับได้จากเซนเซอร์ออกทาง Serial Monitor จากนั้นขึ้นบรรทัดใหม่ (println)
delay(500); //หน่วงเวลา 500 มิลลิวินาที
}
การทดลอง
โปรแกรมจะรับค่าจากเซ็นเซอร์วัดน้ำฝน/ความชื้น เข้ามาในแบบอนาล็อกผ่านพอร์ต A0 จากนั้นจะทำการแสดงผลออกทาง Serial Monitor (ค่าอนาล็อกอยู่ในช่วง 0-1023) คอนเซปมีอยู่เท่านี้ เอาหล่ะ!! ไปดูผลการทดลองกันครับ

การทดลองที่ 1 เซ็นเซอร์แห้ง ไม่ได้สัมผัสน้ำหรือความชื้นใดๆ เซ็นเซอร์สามารถรับค่าได้ประมาณ 1021 ถึง 1023 ....ซึ่งถือว่าไม่เลวเลยนะครับ (หืมมมม..... ออกตัวค่อนข้างดี)
การทดลองที่ 2 ทดสอบด้วยการเติมน้ำให้ท่วมเซ็นเซอร์ประมาณ 1 ใน 3 ผลปรากฏว่าค่าที่ได้อยู่ในช่วง 29-30 
การทดลองที่ 3 ทดสอบด้วยการเติมน้ำให้ท่วมเซ็นเซอร์ประมาณ 2 ใน 3 ผลปรากฏว่าค่าที่ได้อยู่ในช่วง 29 ถึง 30
การทดลองที่ 4 ทดสอบด้วยการเติมน้ำให้ท่วมพื้นที่เซ็นเซอร์ทั้งหมด ผลปรากฏว่าค่าที่ได้อยู่ในช่วง 29 ถึง 30
การทดลองที่ 5 ทดสอบด้วยการหยดน้ำลงบนเซ็นเซอร์จำนวน 2 หยดเพื่อจำลองการฝนตก ผลปรากฏว่าค่าที่ได้อยู่ในช่วง 29 ถึง 30 เริ่มเห็นภาพกันแล้วใช่ไหมครับ ...เอาละมาฟังบทสรุปกันสรุป
จะเห็นว่าตัวเซ็นเซอร์ตรวจจับน้ำฝน/ความชื้น มีความไวต่อการรับรู้และตอบสนองความชื้นและน้ำเป็นอย่างมากเหมาะสำหรับนำไปใช้ในการตรวจจับน้ำฝน ยกตัวอย่างเช่น นำไปตรวจจับน้ำฝนสำหรับ โปรเจ็คราวตากผ้าอัตโนมัติ (ไว้จะสอนทำกันนะครับ) หรืออื่นๆ ซึ่งก็แล้วแต่การนำไปประยุกต์ใช้ และสามารถนำไปประยุกต์ใช้ในการตรวจจับน้ำในรูปแบบคนอื่นเช่นกัน เช่น ตรวจจับน้ำรั่วซึมจากท่อ แต่ไม่สามารถนำไปใช้ในการตรวจจับปริมาณของน้ำในภาชนะได้ เนื่องจากตัวเซ็นเซอร์มีความไวต่อการรับรู้ทุกตำแหน่งของพื้นที่บนเซ็นเซอร์ พูดภาษาบ้านๆตามการทดลองเลย ก็คือน้ำแต่นิดเดียวก็ได้ค่า 29 ถึง 31 อะครับหมู่เฮา
x
ไม่มีความคิดเห็น:
แสดงความคิดเห็น