วัดระยะทางและส่วนสูงด้วย Ultrasonic

เป็นอีกโปรเจคหนึ่งที่ผมได้ทดลองทำดูครับ เป็นการวัดระยะทาง และส่วนสูงด้วยคลื่นเสียง หรือ Ultrasonic และแสดงค่าในมือถือ โดยใช้อุปกรณ์ที่เรียกว่า Ultrasonic Sensor Module (HC-SR04) 5V ร่วมกับ NodeMCU ESP8266 โดยหลักการทำงานคร่าวๆ ก็คือ เมื่อ Ultrasonic Sensor ทำการวัดส่วนสูง หรือ วัดระยะได้แล้วจะส่งผ่านข้อมูลต่อไปให้กับ NodeMCU เพื่อทำการ วิเคราะห์ประมวลผล จากนั้นข้อมูลจะถูกส่งขึ้นไปยัง Blynk Server ผ่าน Internet WiFi ที่อยู่ภายในตัว NodeMCU แล้วนำข้อมูล ไปแสดงผลที่หน้าจอโทรศัพท์มือถือที่ได้ติดตั้ง Blynk Application เชื่อมต่อกับ Blynk Server ไว้ก่อนหน้านั้นแล้ว โดยข้อมูลที่แสดง จะเป็นแบบ Real time

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

1. NodeMCU ESP8266 WiFi Module

NodeMCU ESP82666
NodeMCU ESP82666 (ขาใช้งาน)

2. บอร์ดขยายขา NodeMCU Base 1.0

บอร์ดขยายขา NodeMCU Base 1.0

3. LED 2 ตัว (แดง และ เขียว)

LED สีแดง, LED สีเขียว

4. Ultrasonic Sensor Module (HC-SR04) 5V

Ultrasonic Sensor Module (HC-SR04) 5V

5. สายไฟ Jumper Arduino

สายไฟ jumper Arduino
Blynk Application เชื่อมต่อกับอุปกรณ์วัดระยะ

ตัว Ultrasonic Sensor นั้น เป็นอุปกรณ์สำคัญที่ใช้วัดระยะทาง โดยที่ไม่ต้องมีการสัมผัสกับตำแหน่งวัตถุหรือพื้นผิว ที่เราต้องการวัดครับ สามารถวัดได้ตั้งแต่ 2 cm ถึง 400 cm โดยมันจะส่งสัญญาณ อัลตร้าโซนิค ที่ความถี่ 40 kHz ไปที่วัตถุหรือพื้นผิวที่เราต้องการวัด และรับสัญญาณที่สะท้อนกลับมา พร้อมทั้งจับเวลาเพื่อนำมาใช้ในการคำนวณหาระยะทางครับ

หลักการทำงาน

ความสูงของคน = ความสูงตำแหน่งเซนเซอร์ – ระยะทางที่วัดได้

เมื่อเราต้องการทดลองวัดระยะทาง หรือส่วนสูงของคน ถ้าหากเราเอาตัวอัลตร้าโซนิคนี้ไปติดตั้งไว้ที่ตำแหน่งความสูงระดับหนึ่งโดยที่ไม่ได้วัดค่าเปรียบเทียบอะไรก่อนเลยแล้วทดลองเอาคนไปยืนเพื่อวัดส่วนสูงดู ก็จะพบว่า อัลตร้าโซนิคเซนเซอร์นั้นไม่สามารถคำนวณระยะทาง หรือความสูงให้ถูกต้องและแม่นยำได้ ที่เป็นเช่นนี้ก็เพราะว่า ความสูงตำแหน่งติดตั้งเซนเซอร์
นั้นได้ถูกเขียนและกำหนดตำแหน่งไว้ใน Code ที่ Upload ไปใส่ไว้ใน NodeMCU ESP8266 WiFi Module เป็นที่เรียบร้อยแล้ว ซึ่ง NodeMCU ก็จะอ้างอิงถึงทุกครั้ง ที่ทำงาน

ความสูงของวัตถุหรือคนที่ถูกวัด = ความสูงตำแหน่งติดตั้งเซนเซอร์ – ระยะทางที่วัดได้

Object Height คือ ความสูงของวัตถุหรือคนที่ถูกวัด
Instruments Height คือ ความสูงตำแหน่งติดตั้งเซนเซอร์
Distance คือ ระยะทางที่วัดได้
* Warning คือ ค่าที่ได้ถูกกำหนดไว้ใน Code แล้วหากวัตถุเข้าใกล้ Sensor มากเกินไปในรัศมี 40cm Warning จะแสดงขึ้น และไฟ LED สีแดง จะสว่างเป็นการแจ้งเตือน หากเป็นสภาวะปกติ ไฟ LED สีเขียวจะสว่าง

ค่าที่แสดงในมือถือ ผ่าน Blynk Application

ส่วนของข้อมูลทั้งหมดที่ถูกคำนวณแล้ว จะถูกส่งผ่าน Internet WiFi ที่อยู่ภายในตัว NodeMCU ผ่านไป Blynk Server ก็จะถูกแสดงออกที่หน้าจอโทรศัพท์มือถือที่ได้ติดตั้ง Blynk Application ซึ่งจะเห็นตามภาพที่แสดงไว้ด้านบน

สิ่งที่ได้จากโปรเจคนี้ :
สำหรับโปรเจค วัดระยะทางและส่วนสูงด้วย Ultrasonic แสดงค่าในมือถือนี้สามารถเอาไปประยุกต์ใช้งานได้หลากหลาย เช่นการ วัดส่วนสูงของคนเรา การวัดระยะห่างของตัว Ultrasonic กับวัตถุ เช่นติดตั้งไว้ท้ายรถยนต์เพื่อเตือนกันชนเวลารถถอยหลัง หรือ วัดระยะห่างของกำแพง ผลที่ได้จากการทดลองทำโปรเจคในครั้งนี้ พอจะบอกได้ว่าอาจจะไม่ค่อย เที่ยงตรง หรือแม่ยำมากเท่าที่ควร อาจเป็นไปได้หลายสาเหตุ เช่น คุณภาพของตัวอัลตร้าโซนิคเซนเซอร์ หรือการประกอบในบอร์ดทดลอง สายจั๊มเปอร์ รวมทั้งสัญญาณ Internet รวมทั้ง Blynk Application ในขณะทำการทดสอบก็มีส่วนที่ทำให้เกิดการคลาดเคลื่อนได้ครับ

สามารถ Download Code ได้ที่ : https://github.com/PoleSupakorn/Measure distance and height with ultrasonic sensor