200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO

สำหรับโครงงานนี้เป็นการทดลองเซนเซอร์อัลตร้าโซนิก 200LM450 ร่วมกับโมดูล SRM400 โดยใช้บอร์ดประมวลผล Arduino UNO ซึ่งลักษณะของการทำงานของเซนเซอร์ 200LM450 จะคล้ายกับตัวเซนเซอรที่ติดมากับโมดูล SRM400 โดยในการทดลองนี้จะใช้ลักษณะของการต่ออุปกรณ์และโปรแกรมในการทดสอบการทำงานเดียวกันกับโครงงานที่เคยนำเสนอที่ผ่านมา (SRM400 Sonar Ranging Module Controlled by Arduino UNO) แต่ปรับแต่ค่าที่ได้ด้วยโปรแกรมเพิ่มเติมเล็กน้อย เนื่องจากเซนเซอร์อัลตร้าโซนิกต่างกันครับ

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 1 ลักษณะของเซนเซอร์อัลตร้าโซนิก 200LM450 และโมดูล SRM400
200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 2 เซนเซอร์อัลตร้าโซนิก 200LM450

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

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 3 สเปกแบบสังเขปของเซนเซอร์อัลตร้าโซนิก 200LM450 [Datasheet Ref.2]
200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 4 การต่อร่วมกันระหว่างเซนเซอร์อัลตร้าโซนิก 200LM450 และโมดูล SRM400

รูปที่ 4 เป็นลักษณะของการเชื่อมต่อกันระหว่างเซนเซอร์อัลตร้าโซนิกเข้ากับบอร์ดประมวลผล Arduino UNO และอุปกรณ์แสดงผลการจ่ายไฟเลี้ยงให้กับโมดูล SRM400 ซึ่งในการทดลองโครงงานนี้จะเปลี่ยนหัวเซนเซอร์เดิมที่มากับโมดูล SRM400 มาเป็นตัวเซนเซอร์ 200LM450 แทน

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 5 การจ่ายไฟเลี้ยงและวัดสัญญาณให้กับเซนเซอร์อัลตร้าโซนิก 200LM450

รุปที่ 5 แสดงลักษณะของการทดลองจ่ายไฟเลี้ยงให้กับโมดูล SRM400 การวัดสัญญาณที่เกิดขึ้นจากการทำงานของโมดูล SRM400 และการรับส่งสัญญาณเพื่ออ่านค่าระยะทางที่เซนเซอร์ตรวจจับ

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 6 ตำแหน่งสายสัญญาณอินพุตและเอาต์พุตที่ต่อร่วมกับบอร์ด Arduino UNO (1)
200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 7 ตำแหน่งสายสัญญาณอินพุตและเอาต์พุตที่ต่อร่วมกับบอร์ด Arduino UNO (2)

รูปที่ 6 และรูปที่ 7 เป็นลักษณะของการเชื่อมต่อระหว่างโมดูล SRM400 และเซนเซอร์อัลตร้าโซนิก 200LM450 โดยจะต้องเชื่อมต่อกราวด์ของสายชีลด์ (Shield Cable) เข้ากับกราวด์ของแหล่งจ่ายไฟเลี้ยงเพิ่มเติม

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 8 ลักษณะของตัวโมดูล SRM400 และการต่อร่วมกับอุปกรณ์อื่นเพิ่มเติม
200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 9 แสดงวงจรและตำแหน่งขาเชื่อมต่อกับบอร์ด SRM400 [Ref.8]

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

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 10 ลักษณะการเตรียมการทดลองเซนเซอร์อัลตร้าโซนิก 200LM450
200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 11 การทดลองวัดระยะทางของเซนเซอร์อัลตร้าโซนิก

รูปที่ 11 แสดงลักษณะของการทดลองวัดระยะทางเบื้องต้น โดยนำเซนเซอร์อัลตร้าโซนิก 200LM450 ยึดติดกับแผ่นอคิลิกและวางบนโต๊ะโดยให้ตัวเซนเซอร์วัดระยะทางจากข้างล่างและทดลองปรับระยะใหม่ ด้วยการนำแผ่นทดลองเซนเซอร์ปรับระยะให้ใกล้ขึ้น

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 12 ลักษณะสัญญาณที่เกิดขึ้นที่ตำแหน่งเซนเซอร์อัลตร้าโซนิก

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

/*
 200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
 MCU : Arduino UNO
 Dev by : www.electronicsDNA.com
 */

 // Defines pins numbers for SRM400
 const int trigPin = 9;        //  PIN High Level Pulse or Control 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= duration0.047/2;  // 5-4-63  
distance= duration*0.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) ซึ่งสามารถใช้ได้เป็นปกติแต่เราจะต้องปรับชดเชยค่าที่อ่านได้เล็กน้อยที่คำสั่ง Serial.println(distance+26); (ปรับชดเชยเป็นค่าคงที่) ทั้งนี้ตัวเซนเซอร์อัลตร้าโซนิก 200LM450 ที่นำมาใช้กับโมดูล SRM400 จะมีความไวของการรับ/ส่งสัญญาณเพื่อวัดค่าที่ไม่เท่ากันนั้นเอง

200LM450 Ultrasonic Transducer and SRM400 module Control by using Arduino UNO
รูปที่ 13 การแสดงผลที่ได้จากการทดลองด้วยการวัดระยะทาง

สำหรับโครงงานนี้เป็นการทดลองใช้เซนเซอร์อัลตร้าโซนิก 200LM450 ร่วมกับโมดูล SRM400 โดยใช้บอร์ดประมวลผล Arduino UNO ที่วัดระยะทางคล้ายกับโมดูล SRM400 ทีเคยนำเสนอในโครงงานก่อนหน้านี้ ทั้งนี้แอดมินได้ทดลองโครงงานนี้ใกล้เคียงกันแต่ยังไม่ได้นำมาเสนอและคิดว่าโครงงานเล็กๆ นี้ น่าจะเป็นประโยชน์กับผู้อ่านและเป็นแนวทางเบื้องต้นสำหรับท่านที่ต้องการพัฒนาเพื่อใช้ในการวัดระยะทางด้วยเซนเซอร์อัลตร้าโซนิก 200LM450 กันครับ.

Reference

  1. https://www.farnell.com/datasheets/81208.pdf
  2. http://www.prowave.com.tw/pdf/undertx.pdf
  3. https://th.element14.com/prowave/srm400/module-pw-0268-sonar-ranging/dp/1007370
  4. http://www.pro-wave.com.tw/english/products/sr/srm400.htm
  5. https://static.rapidonline.com/pdf/35-1830.pdf
  6. http://www.prowave.com.tw/pdf/SRM400.pdf
  7. https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/
  8. https://www.midassensors.com/getattachment/bba39a6f-c31f-4fc1-bd3f-07f3571f6739/Underwater-transducer-driver-circuit