ผู้เขียนบทความ : 165404140048 นายสุธิพงษ์ สุธนอดิศรวงศ์ COE#15
คณะวิศวกรรมศาสตร์ : สาขาวิศวกรรมคอมพิวเตอร์
วิชา การโปรแกรมคอมพิวเตอร์ขั้นสูง 1/2566
1. ที่มาและความสำคัญ
ในปัจจุบันตลับเมตรแบบธรรมดาได้ถูกใช้กันอย่างแพร่หลายในยุคปัจจุบัน โดยเฉพาะกับผู้ที่ต้องใช้งานในด้านการช่างหรือด้านการก่อสร้าง ทำให้ตลับเมตรนั้นเป็นอีกหนึ่งอุปกรณ์ที่มีความสำคัญอย่างมากในงานเฉพาะทางเช่นนี้ งานวิจัยนี้เกิดจากแนวคิดที่ต้องการเพิ่มความสะดวกสบายในการใช้งานตลับเมตรเนื่องจากในการวัดตลับเมตรในแต่ละครั้งนั้นมีความลำบากและต้องใช้ความชำนาญประมาณนึงเลยทีเดียว โดยเฉพาะในการวัดระยะไกลและในการวัดในพื้นที่ที่มีข้อจำกัดต่าง ๆ และมีความเสี่ยงในการทำงาน เช่นท่อระบายน้ำ หรือหลุมหลบภัย
ผู้จัดทำโครงงานจึงมีแนวคิดและเห็นความสำคัญที่เกิดขึ้นจึงเกิดความสนใจที่จะแก้ไขและพัฒนาปัญหาดังกล่าวข้างต้นโดยการสร้างชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยง พร้อมบันทึกการวัดผ่านไลน์เป็นส่วนหนึ่งของกระบวนการช่วยอำนวยความสะดวกแก่การใช้งานในชีวิตประจำวัน
ตลับเมตรเป็นเครื่องมือวัดระยะทางที่สำคัญในชีวิตประจำวัน ใช้ในการวัดขนาดของวัตถุต่างๆ ในงานก่อสร้าง ช่างไม้ ช่างซ่อมแซม และงานทั่วไปอื่นๆ ในปัจจุบันตลับเมตรมีการพัฒนาให้ทันสมัยมากขึ้น โดยสามารถเชื่อมต่อกับอุปกรณ์อิเล็กทรอนิกส์อื่นๆ เช่น คอมพิวเตอร์ โทรศัพท์มือถือ หรือแท็บเล็ต เพื่อแสดงผลระยะทางที่วัดได้ ช่วยให้ผู้ใช้สามารถบันทึกข้อมูลการวัดได้ง่ายขึ้น และสามารถแบ่งปันข้อมูลกับผู้อื่นได้
2. วัตถุประสงค์
- เพื่อพัฒนาและสร้างนวัตกรรมใหม่ ๆ ในการวัดระยะให้แก่ผู้ประกอบอาชีพด้านการช่าง
- เพื่อตอบสนองต่อความต้องการของผู้ใช้งานตลับเมตรเป็นเครื่องมือหลักในการประกอบอาชีพ
- เพื่อพัฒนาระบบวัดไร้สายในพื้นที่เสี่ยงที่สามารถเชื่อมต่อกับแอปพลิเคชันไลน์ได้
3. ขอบเขต
- สร้างชิ้นงานเพื่อพัฒนาระบบวัดไร้สายในพื้นที่เสี่ยงภัยที่ใช้ในการวัดระยะทางได้โดยไม่ต้องใช้สายวัด
- สามารถรับค่าของด้านในแต่ละห้อง เพื่อการคำนวณพื้นที่ให้ออกมาเป็นตารางเมตรได้
- มีฟีเจอร์ในการส่งค่าผลลัพธ์ผ่านทาง Line Application
4. ประโยชน์ที่คาดว่าจะได้รับ
- สามารถนำไปใช้ในการวัดระยะในการทำงานด้านการช่างต่าง ๆ ได้
- นำไปใช้ในการวัดค่าระยะทางในพื้นที่ที่ยากแก่การใช้งานตลับเมตรแบบธรรมดา
- สร้างความสะดวกสบายและความทันสมัยในการการทำงาน
5. ความรู้ที่เกี่ยวข้อง
- Ultrasonic Module HC-SR04
คือ โมดูลเซ็นเซอร์ที่ใช้ในการวัดระยะทาง โดยใช้หลักการส่งคลื่นเสียงสะท้แระบบอัลตราโซนิก (Ultrasonic) หมายถึง คลื่นเสียงที่มีความถี่สูงเกินกว่าที่หูมนุษย์จะได้ยิน โดยทั่วไปแล้วหูของมนุษย์โดยเฉลี่ยจะได้ยินเสียงสูงถึงเพียงแค่ประมาณ 15 KHz เท่านั้น ดังนั้นคลื่นเสียงอัลตราโซนิกจึงหมายถึงคลื่นเสียงที่มีความถี่สูงกว่า 20 KHz ขึ้นไป แต่จะมีความถี่สูงแค่ไหนนั้นไม่ได้ระบุเอาไว้ เนื่องจากขึ้นอยู่กับลักษณะการใช้งาน
ข้อมูลและคุณสมบัติของโมดูล
– แรงดันที่ใช้ในการทำงาน 5V
– กระแสไฟฟ้าที่ใช้ 15mA
– คลื่นความถี่ในการทำงาน 40kHz
– ระยะสูงสุดที่สามารถวัดได้ 4 m (400 cm)
– ระยะต่ำสุดที่สามารถวัดได้ 0.02 m (2 cm)
– ความแม่นยำ ±3mm – องศาในการวัด 15 องศา
– Trigger Input Signal : 10us TTL Pulse
ตัวอย่างโค้ดโปรแกรมแสดงการทำงานของ Ultrasonic Module HC-SR04
2. I2C LCD 1602
I2C LCD คือ จอ LCD ที่เชื่อมต่อกับอุปกรณ์อื่นๆ โดยใช้โปรโตคอล I2C ซึ่งย่อมาจาก Inter-Integrated Circuit เป็นโปรโตคอลการสื่อสารแบบอนุกรมแบบสองทิศทางที่ใช้สัญญาณนาฬิกาเพียงเส้นเดียว (Single-Wire Serial Communication) โดยใช้สายเพียง 2 เส้น คือ SDA (Serial Data) และ SCL (Serial Clock)
หลักการทำงานของ I2C LCD แบ่งออกเป็น 2 ขั้นตอนหลัก คือ
- การกำหนดที่อยู่ของ I2C LCD
อุปกรณ์ที่เชื่อมต่อกับ I2C แต่ละตัวจะมีที่อยู่ (Address) ของตัวเอง โดยที่อยู่ของ I2C LCD จะอยู่ในช่วง 0x00 ถึง 0x7F โดยปกติแล้ว I2C LCD จะมีที่อยู่ 0x27 หรือ 0x3F
- การส่งคำสั่งและข้อมูลไปยัง I2C LCD
เมื่อกำหนดที่อยู่ของ I2C LCD แล้ว อุปกรณ์ที่ทำหน้าที่เป็น Master ก็สามารถส่งคำสั่งและข้อมูลไปยัง I2C LCD ได้ตามต้องการ โดยคำสั่งและข้อมูลจะถูกส่งในรูปแบบของไบต์ (Byte)
คำสั่งที่ใช้ควบคุม I2C LCD มีดังนี้
- คำสั่งพื้นฐาน เช่น คำสั่งเปิดจอ (Set LCD ON), คำสั่งปิดจอ (Set LCD OFF), คำสั่งเลื่อนเคอร์เซอร์ (Cursor Move), คำสั่งแสดงตัวอักษร (Character Display) เป็นต้น
- คำสั่งเสริม เช่น คำสั่งกำหนดขนาดตัวอักษร (Character Size), คำสั่งกำหนดรูปแบบตัวอักษร (Character Font), คำสั่งกำหนดสีตัวอักษร (Character Color) เป็นต้น
ข้อมูลที่ใช้ส่งไปยัง I2C LCD อาจเป็นตัวอักษร ตัวเลข สัญลักษณ์ หรือข้อมูลอื่นๆ ก็ได้
ข้อดีของ I2C LCD คือ ใช้สายเพียง 2 เส้นในการเชื่อมต่อ ช่วยลดจำนวนสายที่ต้องใช้ในการทำงาน ทำให้ประหยัดพื้นที่และค่าใช้จ่าย นอกจากนี้ยังสามารถเชื่อมต่ออุปกรณ์ I2C อื่นๆ ได้มากถึง 128 อุปกรณ์พร้อมกันอีกด้วย
ตัวอย่างโค้ดโปรแกรมแสดงการทำงานของ I2c LCD 1602
3. LINE Notify Platform
Line Notify เป็นบริการที่ให้ Line users สามารถสร้างและส่งการแจ้งเตือน (notifications) ไปยังแอพพลิเคชัน Line ของพวกเขาผ่าน API (Application Programming Interface) ของ Line Notify. ผู้ใช้สามารถใช้บริการนี้เพื่อรับข้อมูลการแจ้งเตือนเกี่ยวกับเรื่องต่าง ๆ เช่นข่าวสาร, ข้อมูลสภาพอากาศ, การแจ้งเตือนจากเว็บไซต์, และอื่น ๆ ผ่านแอพ Line ที่พวกเขาใช้ประจำ
สำหรับโปรแกรมเมอร์ นักพัฒนาซอฟต์แวร์นั้นมักใช้ในการนำไปใช้ต่อยอดพัฒนาโปรเจคต่างๆ เชื่อมต่อกับเว็บเซอร์วิส เช่น Github IFTTT และ Mackerl สร้างการแจ้งเตือนแบบข้อความไปยังกลุ่มหรือบัญชีส่วนตัวได้โดยไม่เสียค่าใช้จ่าย
การใช้งาน Line Notify นั้นง่ายและเหมาะสำหรับการสร้างการแจ้งเตือนที่กำหนดเอง และผู้ใช้สามารถตั้งค่าการแจ้งเตือนตามต้องการ รวมถึงกำหนดวิธีการรับข้อมูลแจ้งเตือน เช่น ข้อความ, รูปภาพ, หรือลิงก์เว็บไซต์ โดยใช้ API key ที่ได้จาก Line Notify
Line Notify เป็นเครื่องมือที่มีประโยชน์สำหรับการรับข้อมูลสด ๆ และแจ้งเตือนแบบทันทีผ่านแอพ Line ซึ่งเหมาะสำหรับการติดตามเหตุการณ์หรือข้อมูลที่สำคัญต่าง ๆ ตามความสะดวกของผู้ใช้
6.ผลการดำเนินงาน
แผนผังแสดงการทำงานของระบบ
วิธีการใช้งานระบบวัดไร้สายในพื้นที่เสี่ยงภัย
ส่วนประกอบต่าง ๆ ในโค้ดโปรแกรม
LCDController
คลาส
- คลาสนี้ใช้สำหรับควบคุม LCD และแสดงข้อมูลที่เกี่ยวกับระยะทางและพื้นที่บนหน้าจอ LCD.
initialize()
ใช้เพื่อเริ่มต้นใช้งาน LCD และแสดงข้อความ “Distance: “.clearDistance()
ใช้เพื่อเคลียร์ข้อมูลระยะทางที่แสดงบน LCD.displayDistance(int cm)
แสดงระยะทางที่วัดได้บน LCD.displayOverRange()
แสดงข้อความ “Over” บน LCD เมื่อระยะทางเกินค่าที่กำหนด.displayArea(float area)
แสดงข้อมูลพื้นที่บน LCD.
WiFiController
คลาส:
- คลาสนี้ใช้สำหรับการเชื่อมต่อกับเครือข่าย WiFi โดยใช้ข้อมูลเชื่อมต่อ (SSID และรหัสผ่าน) ที่ถูกกำหนดในคอนสตรักเตอร์.
LineNotifyController
คลาส:
- คลาสนี้ใช้สำหรับการส่งข้อมูล Line Notify โดยใช้ Token ที่ถูกกำหนดในคอนสตรักเตอร์.
send(float area)
ใช้สำหรับการส่งข้อมูล Line Notify โดยรับพื้นที่และสร้างข้อความที่จะถูกส่งไป.
ใน setup()
, คุณเริ่มต้นการทำงานของ Serial, สร้างวัตถุ LCDController
เพื่อควบคุม LCD, กำหนดการทำงานของขา buttonPin
เป็น INPUT_PULLUP
, และเริ่มต้นการเชื่อมต่อกับ WiFi ผ่าน WiFiController
.
ใน loop()
, คุณทำการวัดระยะทางและแสดงบนหน้าจอ LCD และตรวจสอบการกดปุ่ม buttonPin
เพื่อคำนวณพื้นที่ห้องและส่งข้อมูล Line Notify ด้วย LineNotifyController
. ส่วนอื่น ๆ เช่น การคำนวณระยะทางและการแสดงผลอยู่ใน LCDController
.
ส่วนการทำงานของระบบวัดไร้สายในพื้นที่เสี่ยงภัย
การทำงานของระบบวัดไร้สายในพื้นที่เสี่ยงภัยนั้น เริ่มต้นจากการเลื่อนสวิซต์เปิด-ปิด เพื่อทำการเปิดการทำงานของเครื่อง โดยตัวเซ็นเซอร์และหน้าจอแสดงผลจะเริ่มทำงานด้วยใน Step แรก หลังจากนั้นตัวเครื่องจะทำการวัดระยะโดยการรับค่าจากตัวเซ็นเซอร์และส่งค่าที่รับได้ไปยังกการประมวลผลด้วย ESP32 และนำไปแสดงผลที่หน้าจอ I2C LCD
ภาพด้านบนคือหน้าตาของโค้ดโปรแกรมและการแสดงผลในส่วนของการรับและคำนวณค่าระยะทางและแสดงผลค่าระยะทางโดยมีหน่วยเป็น cm.
ในตัวโค้ดโปรแกรมเราได้ทำการสร้างเงื่อนไขในการวัดระยะว่า หากมีวัตถุอยู่ใกล้หรือแนบชิดเซ็นเซอร์เกินไป หรือระยะทางที่วัดได้นั้นมีค่ามากกว่า 420 เซ็นติเมตร (4.2 เมตร) ให้แสดงค่าผ่านหน้าจอว่า Over ดังรูปด้านล่าง
จะเห็นได้ว่าบนตัวอุปกรณ์นั้นมีปุ่มกดถูกติดตั้งอยู่ นั่นคือปุ่มที่ใช้ในการเข้าถึงการคำนวณพื้นที่สี่เหลี่ยม โดยการกดปุ่ม 1 ครั้ง จะเป็นการรับค่าที่วัดได้ผ่านหน้าจอ ไปเก็บไว้ยังตัวแปร Side1 พร้อมทั้งแสดงผลผ่านหน้าจอ
และเมื่อกดปุ่มอีกครั้ง จะเป็นการรับค่าที่วัดได้จากหน้าจอนั้นมาเก็บไว้ที่ตัวแปร Side2 พร้อมทั้งทำการคำนวณหาค่าพื้นที่สี่เหลี่ยม โดยใช้สูตร Side1 x Side2 / 100 พร้อมทั้งนำค่าที่คำนวณได้นำไปแสดงผลที่หน้าจอ I2C LCD
หลังจากที่มีการแสดงผลผ่านทางหน้าจอแล้ว จะทำการส่งค่า Area ไปยัง LINE ผ่านทาง LINE Notify Platform
7. การทดลอง
ทดลองการวัดระยะทางโดยใช้ระบบวัดไร้สายในพื้นที่เสี่ยงภัยเปรียบเทียบกับการใช้ตลับเมตรของจริงว่าค่าที่วัดได้จากชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัยมีความเสถียรและเที่ยงตรงมากน้อยแค่ไหน โดยจะใช้การวัดระยะทางในมุมต่าง ๆ เทียบกับการใช้ตลับเมตรของจริงซึ่งจะแสดงให้เห็นได้อย่างชัดเจนว่าชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัยอัจฉริยะชิ้นนี้มีความเที่ยงตรงหรือคลาดเคลื่อนมากน้อยมากแค่ไหน โดยในการทดลองวัดความเที่ยงตรงของค่าที่ได้นั้น แบ่งเป็นทั้งหมด 5 รอบการวัดทดลอง โดยแต่ละกาทดลองนั้นจะมีมุมและลักษณะการวัดที่แตกต่างกัน
การทดลองรอบที่ 1 เป็นการทดสอบการวัดระยะห่างจากผนังโถงทางเดินจากฝั่งนึงไปยังอีกฝั่งนึง ดังภาพ
เมื่อทำการวัดด้วยตลับเมตรทั่วไป ค่าระยะห่างที่ได้คือ 101 ซม
และเมื่อทำการวัดด้วยชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัยอัจฉริยะ ค่าระยะห่างที่ได้คือ 98 ซม
จากการทดลองที่ 1 แสดงให้เห็นค่าความคลาดเคลื่อนระหว่างการวัดระยะด้วยตลับเมตรแบบทั่วไปและระบบวัดไร้สายในพื้นที่เสี่ยงภัยอยู่ที่ประมาณ 3 ซม ซึ่งถือว่าคลาดเคลื่อนน้อย
การทดลองรอบที่ 2 เป็นการทดสอบการวัดความกว้างของช่องทางเดินเข้า-ออก ดังภาพ
เมื่อทำการวัดด้วยตลับเมตรทั่วไป ค่าระยะห่างที่ได้คือ 133 ซม.
และเมื่อทำการวัดด้วยชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัย ค่าระยะคือ 130 ซม.
จากการทดลองที่ 2 แสดงให้เห็นค่าความคลาดเคลื่อนระหว่างการวัดระยะด้วยตลับเมตรแบบทั่วไปและระบบวัดไร้สายในพื้นที่เสี่ยงภัยอยู่ที่ประมาณ 3 ซม.
การทดลองรอบที่ 3 เป็นการทดสอบการวัดความสูงของราวตากผ้าอลูมิเนียม ดังภาพ
เมื่อทำการวัดด้วยตลับเมตรทั่วไป ค่าระยะความสูงจากจุดที่สูงสุดไปยังจุดที่ต่ำที่สุดคือ 151 ซม.
และเมื่อทำการวัดด้วยชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัย ค่าระยะความสูงจากจุดที่สูงสุดไปยังจุดที่ต่ำที่สุดคือ 150 ซม.
จากการทดลองที่ 3 แสดงให้เห็นค่าความคลาดเคลื่อนระหว่างการวัดระยะด้วยตลับเมตรแบบทั่วไปและระบบวัดไร้สายในพื้นที่เสี่ยงภัยอัจฉริยะอยู่เพียงแค่ประมาณประมาณ 1 ซม. ซึ่งถือว่ามีความคลาดเคลื่อนน้อยมาก
การทดลองรอบที่ 4 เป็นการทดสอบการวัดความสูงของร่องผนังสำหรับติดตั้งหน้าต่าง ดังภาพ
เมื่อทำการวัดด้วยตลับเมตรทั่วไป ค่าระยะความสูงที่ได้คือ 128.5 ซม.
และเมื่อทำการวัดด้วยชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัย
ค่าระยะห่างที่ได้คือ 125 ซม.
จากการทดลองที่ 4 แสดงให้เห็นค่าความคลาดเคลื่อนระหว่างการวัดระยะด้วยตลับเมตรแบบทั่วไปและระบบวัดไร้สายในพื้นที่เสี่ยงภัยอัจฉริยะอยู่เพียงแค่ประมาณประมาณ 3 ซม.
การทดลองรอบที่ 5 เป็นการทดสอบการวัดความกว้างของร่องผนังของดาดฟ้า ดังภาพ
เมื่อทำการวัดด้วยตลับเมตรทั่วไป ค่าระยะห่างความกว้างที่ได้คือ 262 ซม.
และเมื่อทำการวัดด้วยชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัย ค่าระยะห่างที่ได้คือ 260 ซม.
จากการทดลองที่ 5 แสดงให้เห็นค่าความคลาดเคลื่อนระหว่างการวัดระยะด้วยตลับเมตรแบบทั่วไปและระบบวัดไร้สายในพื้นที่เสี่ยงภัยอยู่เพียงแค่ประมาณประมาณ 2 ซม.
สรุปผลการทดลอง
จากตารางแสดงผลการทดลองทั้ง 5 รอบนั้น จะเห็นได้ว่าในทุกๆการทดลองทั้ง 5 รอบนั้นจะมีค่าความคลาดเคลื่อนอยู่ที่ประมาณครั้งละ 2.5 ซมเท่านั้น และมีเปอร์เซ็นต์ความคลาดเคลื่อนอยู่แค่ประมาณ 1.88 เปอร์เซ็นต์ ซึ่งแสดงให้เห็นว่าความคลาดเคลื่อนที่เกิดจากชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัยชิ้นนี้นั้นเกิดได้น้อยมาก สามารถใช้ทดแทนกันได้กับตลับเมตรแบบธรรมดาได้ได้กลับทุกงานที่ต้องการใช้ตลับเมตรได้
8. ข้อมูลอ้างอิง
[1] บริษัท เจดับบลิวเทค จำกัด (สำนักงานใหญ่). (2022). Ultrasonic Sensor ทำงานอย่างไร. สืบค้น 2 กันยายน 2566. จาก http://jwtech.co.th/activity/?p=881
[2] Zhang, L., & Zhao, L. (2011). “Research of ultrasonic distance measurement system based on DSP.” Proceedings of [2011 International Conference on Computer Science and Service System (CSSS)] (1-6). Shandong University of Technology, Zibo, Shandong, China.
[3] บริษัทอาดูลทรอนิกส์จำกัด (2015). การใช้งาน I2C LCD. สืบค้น 2 กันยายน 2566. จาก https://www.arduitronics.com/article/57/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-i2c-lcd
คลิปวิดีโอแสดงการทำงานของชิ้นงานระบบวัดไร้สายในพื้นที่เสี่ยงภัย
ตลับเมตรไร้สายอัจฉริยะ (Smart wireless tape measure) – YouTube