KB-IDE [EP6]: วัดระยะทางด้วยเซ็นเซอร์เสียงสะท้อน Ultrasonic

Apirak Sang-ngenchai
Chiang Mai Maker Club
3 min readAug 23, 2019

Using the Ultrasonic sensor with KB-IDE

Ultrasonic คืออะไร ?
ต่อกับ KidBright ได้ไหม ?
แล้วจะเขียนโปรแกรมยังไง ?
วันนี้เรามีคำตอบ !

โมดูลอัลตราโซนิคคืออะไร

โมดูลอัลตราโซนิค (Ultrasonic Sensor) คือโมดูลที่ใช้คลื่นเสียงความถี่ในการส่ง และรับเพื่อระบุตำแหน่งระยะห่างของวัตถุนั้น ๆ โดยตัวส่งจะสร้างคลื่นเสียงออกไป และเมื่อคลื่นกระทบวัตถุ จะถูกสะท้อนมาให้กับตัวรับเพื่อนำไปประมวลผล ซึ่งในการทดลองนี้จะเลือกใช้โมดูล HC-SR04

cc. picture form www.arcbotics.com

หลักการทำงานของ Ultrasonic

HC-SR04 มีขา TRIG (ตัวส่ง) และ ECHO (ตัวรับ) เพื่อส่งคลื่นอัลตราโซนิคในการวัดแต่ละครั้ง จะต้องสร้างสัญญาณพัลส์ (Pulse width) ที่มีความกว้างอย่างน้อย 10 ไมโครวินาที (10 microssecond) ป้อนเข้าขา Trig และวัดความกว้างของสัญญาณพัลส์ช่วงที่เป็น High จากขา Echo ประมาณ 150 ไมโครวินาที ถึง 25 มิลลิวินาที (150 microsecond — 25 milliseconds)

cc. picture form www.arcbotics.com

การคำนวณระยะทาง

การคำนวณระยะทาง สามารถทำได้โดยการส่งสัญญาณพัลล์จากตารางการส่งข้อมูลด้านบนโดยส่งพัลส์ลอจิก High ความกว้างอย่างน้อย 10 microsecond ออกไปที่ขา TRIG จากนั้นทำการวัดความกว้างของสัญญาณพัลส์ที่สะท้อนกลับมายังจา Echo โดยใช้คำสั่ง pulseIn() จากนั้นนำค่าที่ได้มาคำนวนหาระยะทาง ซึ่งความเร็วเสียงที่อุณหภูมิปกติ จะได้ประมาณ 340 m/s ดังนั้นจึงสามารถหาระยะทางได้จากสมการ

S = Vt หรือ
S = (ระยะเวลาที่วัดได้ / 2) / 29.1

จะได้ระยะทางมีหน่วยเป็นเซนติเมตร (cm : centimeter)

ตัวอย่างการต่อวงจรร่วมกับบอร์ด ESP32 และบอร์ด KidBright

ตัวอย่างการต่อบล็อกในโปรแกรม KB-IDE

ขั้นตอนการทดลอง

  • ดาวน์โหลดโปรแกรม KB-IDE ( www.kbide.org )
www.kbide.org
  • เลือกบอร์ด Kidbright (Arduino API)
KidBright (Arduino API)
  • เปิดโปรแกรม KB-IDE เลือก Plugin Manager จากนั้นดาวน์โหลด Plugin Ultrasonic
ดาวน์โหลดปลั๊กอิน Ultrasonic
  • เลือกหัวข้อ Example & Tutorials ในส่วน Plugin Examples เลือก Ultrasonic จะปรากฏตัวอย่าง OPEN BLOCK และ OPEN CODE กดตัวอย่าง OPEN BLOCK จะปรากฏหน้าต่างดังภาพด้านล่าง
Example & Tutorials → Plugin Examples → Get Distance → OPEN BLOCK
  • กดปุ่ม Setup board เลือก COM port จากนั้นกด Compile & Run
กดเมนู Setup board เพื่อเลือก COM port
กด Compile & Run เพื่อตรวจสอบโปรแกรม และอัพโหลดลงบอร์ด
  • เลือก Serial monitor สังเกตุผลการทำงาน
กด Serial Monitor เพื่อดูผลการทำงาน
ผลการทำงาน แสดงใน Serial monitor
  • มุมด้านขวาของ Serial Monitor สามารถเลือกสลับเป็นการแสดงผลแบบ Text หรือแบบ Graph ได้
เลือกการแสดงผลแบบ Text หรือ Graph
  • กรณีเลือกแบบกราฟ (Graph) จะแสดงผลลัพท์ที่อ่านได้จากเซ็นเซอร์ เทียบกับระยะเวลาที่ส่งไปแสดงผล ในตัวอย่างโปรแกรมจะแสดงผลทุก ๆ 200 ms หรือ 0.2 วินาที
การแสดงผลแบบกราฟ (Graph)
  • ในส่วนด้านซ้าย สามารถปรับแต่งกราฟให้สวยงาม และดูได้ง่ายขึ้น โดยสามารถเปลี่ยนชื่อ สี ขนาดเส้น ความเอียง ความหนาของจุด
ปรับแต่งเส้นกราฟ
  • ในส่วนด้านขวา สามารถกดปุ่มเพื่อบันทึกภาพกราฟได้อีกด้วย
บันทึกภาพกราฟ

เพียงเท่านี้ ก็สามารถทำให้บอร์ด ESP32 ของเรา สามารถเชื่อมต่อกับโมดูลเซ็นเซอร์อัลตราโซนิค เพื่อวัดระยะทางได้แล้ว ใครมีโปรเจคอะไรเจ๋ง ๆ เอามาแชร์กันได้ที่กลุ่ม KidBright.club หรือมีข้อสงสัยเกี่ยวกับการใช้งาน KB-IDE สอบถามได้ที่เพจ KBIDE

แล้วพบกันใหม่ Happy Coding ครับ m(^^)m

--

--

Apirak Sang-ngenchai
Chiang Mai Maker Club

Sometime, We need to take a step away from certain things to reclaim your own self .