SRM400 Sonar Ranging Module Controlled by Arduino UNO

สำหรับโครงงานนี้เราจะมาทดลองใช้โมดูล SRM400 ตรวจจับวัตถุหรือการวัดระยะทางอีกแบบหนึ่ง ซึ่งปกติเราจะเห็นโมดูลอัลตร้าโซนิกส์ HC-SR04 และ HC-SR05 กันบ้างแล้ว โดยตัวโมดูล SRM400 นี้จะต่างจากโมดูลอัลตร้าโซนิกส์จากที่กล่าวคือ จะใช้ตัวรับและส่งสัญญาณโซน่าในตัวเดียวกัน และที่ตัวบอร์ดจะมีจุดเชื่อมต่อกับบอร์ดควบคุมไมโครคอนโทรลเลอร์เพียง 1 ขาเช่นกัน แต่จะอาศัยปรับช่วงเวลาการส่งสัญญาณและรับสัญญาณเหลื่อมเวลาทำงาน ซึ่งจะเป็นเทคนิคนึ่งที่น่าสนใจและนำโมดูล SRM400 ไปประยุกต์ใช้งานในด้านต่างๆ ต่อไป

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 1 ลักษณะของโมดูล SRM400 (Picture by : http://www.prowave.com.tw/pdf/SRM400.pdf)

รูปที่ 1 ลักษณะของตัวโมดูล SRM400 ซึ่งจะมีขนาดค่อนข้างเล็ก ประมาณ 2X3.5 เซนติเมตร และตัวเซนเซอร์โซน่าจะมีเส้นผ่าศูนย์กลางปนะมาณ 1.5 เซนติเมตร จุดเชื่อต่อกับบอร์ดควบคุมจะมี 3 ขาคือ +5V, GND และขา I/P ที่ขาเดียวกัน

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 2 แสดงสเปคการทำงานของโมดูล SRM400 (Picture by : http://www.prowave.com.tw/pdf/SRM400.pdf)

รูปที่ 2 แสดงสเปกการทำงานของโมดูล SRM400 ที่สำคัญ ซึ่งจะช่วยให้เราเข้าใจการทำงานของโมดูลพอสังเขป ช่วยให้เราประเมินการนำโมดูลใปใช้งานในด้านต่างๆ เพิ่มขึ้น โดยรายละเอียดทั้งหมดสามารถเข้าไปตามลิ้งก์อ้างอิงใต้รูปได้ครับ

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 3 การต่อใช้งานของโมดูล SRM400 (Picture by : http://www.prowave.com.tw/pdf/SRM400.pdf)

รูปที่ 3 แสดงลักษณะของการต่อใช้งานและวงจรภายในโมดูล SRM400 ช่วยให้เราเข้าใจวงจรการทำงานเพิ่มขึ้น เช่นการกำหนดความถี่ของสัญญาณพาหะ การสร้างสัญญาณขับให้กับโซน่าโมดูลเอาต์พุต และการปรับความไวในการรับสัญญาณเป็นต้น นอกจากนี้ที่ตำแหน่งขาอินพุตและเอาต์พุต (ขา 1) จะมีตัวอย่างการต่อทรานซิสเตอร์เข้ากับโมดูล SRM400 ให้ทราบเพิ่มเติม

***โค้ดโปรแกรมการทดลองอ้างอิงจาก : https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/ [6]

/*
 SRM400 Sonar Ranging Module 
 MCU : Arduino UNO
 Date : 15/6/2021 
 */

 // Defines pins numbers for SRM400
 const int trigPin = 9;        //  PIN High Level Pulse
 const int echoPin = 10;   //  PIN Out put to MCU
 // defines variables
 long duration;
 int distance;

 void setup() {
 pinMode(trigPin, OUTPUT);   // Sets the trigPin as an Output
 pinMode(echoPin, INPUT);   // Sets the echoPin as an Input
 Serial.begin(9600);   // Starts the serial communication
 }

 void loop() {
 digitalWrite(trigPin, LOW);
 delayMicroseconds(1);   // 2
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(150);   // 10 //  150  // 130
 digitalWrite(trigPin, LOW); 
 duration = pulseIn(echoPin, HIGH); 
 //distance= duration*0.034/2;
 //distance= duration0.047/2;  // 5-4-63  

distance= duration0.034/2;   // 5-4-63 

Serial.print(" Distance: ");
Serial.println(distance+26);

 //delayMicroseconds(150); 
 // Note V power supply 7.5-8.5V
 }

สำหรับโปรแกรมที่ใช้ในการทดลองนั้น จะเป็นลักษณะเดียวกับใช้ในโมดูลอัลตร้าโซนิกส์ทั่วไป ซึ่งจากตัวโปรแกรมนี้จะใช้สมการคำนวณค่าความเร็วเสียงเดียวกัน แต่อาจจะต้องปรับชดเชยบ้างเล็กน้อย (ตามคอมเม้นที่แทรกในแต่ละบรรทัด) ทั้งนี้ขึ้นอยู่กับการต่ออุปกรณ์ร่วมภายนอกและคุณสมบัติของตัวเซนเซอร์โซน่าและอัลตร้าโซนิกส์ที่ต่างกัน

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 4 เตรียมอุปกรณ์สำหรับประกอบเข้ากับโมดูล SRM400 (1)
SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 5 เตรียมอุปกรณ์สำหรับประกอบเข้ากับโมดูล SRM400 (2)

รูปที่ 4 และ 5 เป็นการเตรียมอุปกรณ์ที่ใช้ประกอบเพิ่มเติมกับโมดูล SRM400 แสดงในรูปที่ 4 และในรูปที่ 5 จะเป็นบอร์ดควบคุม Arduino UNO สำหรับเชื่อมต่อกับโมดูล SRM400 เพื่อสร้างสัญญาณทริก (Trig) รับสัญญาณสะท้อนกลับ (echo) รวมทั้งการแสดงผลที่ได้ให้เราทราบ

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 6 ลักษณะการประกอบอุปกรณ์เข้ากับโมดูล SRM400

รูปที่ 6 การประกอบอุปกรณ์ต่างๆ เข้ากับโมดูล SRM400 ซึ่งจะมีทรานซิสเตอร์, แอลอีดีแสดงผล และตัวเก็บประจะเพิ่มเติมโดยในการทดลองนี้จะบัดกรียึดเข้ากับตัวโมดูล SRM400 สำหรับวงจรต้นแบบ

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 7 การต่อบอร์ด Arduino UNO เข้ากับโมดูล SRM400

รูปที่ 7 เป็นลักษณะของการต่อร่วมกันระหว่างบอร์ด Arduino UNO เข้ากับโมดูล SRM400 โดยมี่ขา D10 ของบอร์ด Arduino UNO รับสัญญาณสะท้อนกลับ (echo) และที่ขา D9 จะทำหน้าที่กำหนดการส่งสัญญาณโซน่า (Trig) ออกไปนั้นเอง

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 8 การทดลองวัดระยะเทียบกับไม้บรรทัดเพื่อปรับแต่งโปรแกรม

รูปที่ 8 แสดงการทดลองและการทดสอบการทำงานของวงจรทั้งหมด โดยค่าที่วัดได้เทียบกับไม้บรรทัดและวัดลักษณะของสัญญาณที่เกิดขึ้นจากการรับและส่งไปยังบอร์ดควบคุม Arduino UNO

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 9 การต่อบอร์ด Arduino UNO และโมดูล SRM400 ที่คอนเน็กเตอร์

รูปที่ 9 แสดงตำแหน่งการต่อสายไฟของโมดูล SRM400 ที่คอนเน็กเตอร์ และอุปกรณ์ต่างๆ เพื่อให้วงจรทั้งหมดสามารถใช้งานได้ และเป็นต้นแบบสำหรับนำไปพัฒนาต่อไป

SRM400 Sonar Ranging Module Controlled by Arduino UNO
รูปที่ 10 แสดงผลการทดลองวัดระยะของโมดูล SRM400 และปรับแต่งค่าให้ถูกต้อง

รูปที่ 10 แสดงผลการทดลองที่ได้จากการวัดระยะของวัตถุ โดยให้แสดงผลที่ PortCOM จากโปรแกรม Arduino IDE ซึ่งจากผลที่ได้จะมีค่าใกล้เคียงกับค่าไที่ด้เทียบกับไม้บรรทัด แต่จะตัองปรับชดเชยค่าตัวแปรความเร็วของเสียงบ้างเล็กน้อยก็สามารถนำมาใช้งานได้

สำหรับโครงงานนี้เป็นการตรวจจับวัตถุหรือการวัดระยะทางอีกแบบหนึ่ง ซึ่งปกติเราจะเห็นเป็นโมดูลอัลตร้าโซนิกส์ทั่วไป เช่น โมดูล HC-SR04, HC-SR05, US-100 และ US-016 ซึ่งจะมีขา Trig PIN และ Echo PIN มาให้ใช้งานแล้ว แต่โมดูล SRM400 จะมีขาอินพุตและเอาต์พุตที่จุดเดียวกัน ซึ่งเราจะต้องต่ออุปกรณ์เพิ่มขึ้นอีกเล็กน้อยรวมทั้งกาปรับแต่งการทำงาน ถือเป็นการเรียนรู้และได้ประสบการณ์อีกแบบหนึ่งครับ

Reference

  1. https://www.farnell.com/datasheets/81208.pdf
  2. https://th.element14.com/prowave/srm400/module-pw-0268-sonar-ranging/dp/1007370
  3. http://www.pro-wave.com.tw/english/products/sr/srm400.htm
  4. https://static.rapidonline.com/pdf/35-1830.pdf
  5. http://www.prowave.com.tw/pdf/SRM400.pdf
  6. https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/