[ESP32] ใครขยับจับได้แน่นอนกับโมดูล RCWL-0516 Microwave Radar

ESP32 Oct 25, 2018

ครับผมกลับมาอีกครั้งนึง สำหรับวันนี้ผมจะนำเสนอความสามารถของโมดูลตัวนึงที่ทำหน้าที่คล้ายๆ Redar คอยตรวจสอบว่ามีอะไรเคลื่อนไหวหรือไม่ หลายคนอาจนึกถึง PIR Sensor หรือเซ็นเซอร์ตรวจจับวัตถุด้วยคลื่นอินฟราเรดนั้นเอง แต่ไม่ใช่ครับวันนี้ผมจะเสนอตัวเลือกใหม่นั่นก็คือ RCWL-0516 Microwave Radar Sensor นั่นเอง ซึ่งตัวนี้ใช้คลื่นไมโครเวฟในการตรวจจับโดยใช้หลักการของ Doppler Effect จึงเป็น Motion Sensor ตัวนึงที่น่าสนใจเลยทีเดียว

มาเริ่มกันเลย!

เจ้าตัว RCWL-0516 ก็จะมีคุณสมบัติหรือสเปคคร่าวๆ ดังต่อไปนี้

  • รองรับแรงดันไฟที่ 4 ถึง 28 V
  • ตรวจจับการเคลื่อนไหวที่ช่วงระยะ 5 ถึง 9 เมตร (ขึ้นอยู่กับแรงดันไฟฟ้าที่จ่ายให้ ยิ่งมากระยะยิ่งเพิ่ม)
  • รัศมีทำการแบบ 360 องศารอบตัวเซ็นเซอร์
  • มี pin output แรงดันไฟ 3.3V(100mA MAX)
  • กระแสเวลาทำงาน 2.8 ถึง 3 mA
  • กำลังส่ง 30mW ทำงานที่ความถี่ 3.181GHz
  • Signal Output เป็นแบบดิจิทัล 0 ที่(0V) กับ 1 ที่(3.3+V)

ต่อไปก็เป็นวิธีการเชื่อมต่อใช้งาน

วิธีการต่อใช้งานก็ไม่ยากครับ ตามนี้เลย

ของผมเพิ่ม LED เข้าไปอีก 1 ดวง หากมีการเคลื่อนไหวมันก็จะติด

มาสู่การเขียนโปรแกรมต่อเลยครับ

สำหรับในส่วนของโปรแกรมก็ไม่มีอะไรซับซ้อนมากมายครับคำสั่งหลักๆ ก็จะเป็น digitalRead อ่านค่าที่ได้จากตัว RCWL-0516 ว่าได้ค่าเป็นอะไร ถ้าได้ 1 แสดงว่าตัวเซ็นเซอร์ตรวจเจอว่าบริเวณนั้นมีการเคลื่อนไหว หากได้ค่าเป็น 0 แสดงว่าไม่มีการเคลื่อนไหว [มีข้อสังเกตเล็กน้อยครับหากได้ค่า 0 ตลอดเวลาให้ลองเช็คก่อนว่าเสียบ pin ถูกไหม คำสั่งถูกไหม หรือบางทีอาจเป็นที่ pin บน esp32 ที่ท่านใช้ input ได้อย่างเดียว หรือ output ได้อย่างเดียวก็มี ลองเช็คๆกันดูก่อนตัดสินใจว่ามันเสียน่ะครับผม 555+]

ในส่วนส่วนของโปรแกรมครับ

#define Radar_PIN 36 //กำหนด pin ที่ต่อกับเซ็นเซอร์ RCWL-0516
#define LED_PIN 32 //กำหนด pin ที่ต่อกับหลอด LEDvoid setup() {
Serial.begin(115200);
pinMode(Radar_PIN,INPUT); //ตั้งโหมดของ pin ของตัวเซ็นเซอร์เป็น INPUT
pinMode(LED_PIN,OUTPUT); //ตั้งโหมดของ pin ของ LED เป็น OUTPUT
digitalWrite(LED_PIN,LOW); //กำหนดว่า LED แรกเริ่มต้องดับอยู่น่ะ
}void loop() {
if(digitalRead(Radar_PIN)==1){ //ถ้า ตัวเซ็นเซอร์มีค่าเท่ากับ 1 ให้แสดงคำว่า
Serial.println("Detect !"); // Detect ! และหลอด LED ติด
digitalWrite(LED_PIN,HIGH);
}else { // แล้ว ในที่นี้ก็คือตัวเซ็นเซอร์มีค่าเป็น 0
digitalWrite(LED_PIN,LOW); // จะทำให้ หลอด LED ดับ
}}

เมื่อขยับหรือเคลื่อนไหวตัวเซ็นฌซอร์จะตรวจจับได้ หลอด LED จึงติด
หน้าจอตรง Serial Monitor ก็จะมีคำว่า Detect ! ขึ้น

สรุปผล

ก็จากการลองเล่นดูแล้วก็นับว่าเป็นเซ็นเซอร์ที่น่าสนใจเลยทีเดียว โดยผมได้ทำการทดลองเพิ่มเติมนั้นก็คือ ลองเพิ่มแรงดันไฟเข้าไปจาก 5 เป็น 24 V บอกเลยว่าระยะมันไกลขึ้นเเละตอบสนองดีมาก ดีเกินไปอ่ะ แล้วก็กำแพงหรือพื้นเนี่ยครับถ้าไม่หนาจริง ขนาดอยู่หลังกำลังเซ็นเซอร์ยังตรวจเจอเลยครับว่าเราขยับ เพราะฉะนั้นก็จะแตกต่างจาก PIR ก็ตรงนี้แหละครับ เพราะอำนาจกระทะลุทะลวงของคลื่นไมโครเวฟ มันมากกว่าคลื่นอินฟาเรดใน PIR

ดังนั้นแล้วใครจะเอาไปประยุทธ์ เอ่ยประยุกต์ใช้งานอย่างไรก็ตามแต่ได้เลยครับ อ่อสำหรับเจ้าตัวนี้ราคาอยู่ที่ 32 บาท ห่ะอะไรน่ะ 32 ใช่แล้วครับท่านอ่านไม่ปิดหลอกครับ 32 บาท จากร้าน mcucity ตามลิงค์นี้ได้เลย RCWL-0516 microwave radar sensor module สำหรับบทความหน้าผมจะนำเสนอเกี่ยวกับเรื่องอะไรนั้น ท่านก็สามารถติดต่อได้ครับผม สำหรับวันนี้สวัสดีครับ

Tags