ความเร็วเสียงในแก๊สอุดมคติเนี่ย มันสัมพันธ์กับคุณสมบัติ 2 อย่างของสารที่เป็นแก๊สนั่นแหละ นั่นคือ มวลโมเลกุล (หน่วย kg/mol) และค่าคงที่อะเดียแบติก (Adiabatic Constant) หรืออัตราส่วนความจุความร้อน (Heat Capacity Ratio) หรือถ้าเป็นแก๊สผสมก็ใช้ค่าเฉลี่ยของมันนั่นเอง
ด้วยเหตุนี้แหละ การวัดความเร็วเสียงเลยถูกใช้เป็นวิธีเบื้องต้นในการระบุว่าแก๊สที่เรามีอยู่เป็นแก๊สบริสุทธิ์หรือเป็นสารผสม
เราสามารถทำการวัดได้โดยใช้เซ็นเซอร์วัดระยะอัลตราโซนิก (Ultrasonic Proximity Sensor) เพื่อวัดเวลาการเดินทางไป-กลับ (Round Trip Time, **t/2**) ของคลื่นเสียงในท่อที่มีความยาวที่เรารู้ค่า (**x**) (วิธีสะท้อนกลับ หรือ Echo Method) ที่บรรจุด้วยแก๊สที่เราต้องการศึกษา (**v = 2x/t**)
และเพราะความเร็วเสียงมันยังขึ้นกับอุณหภูมิสัมบูรณ์ (**K**) ด้วย เราก็เลยต้องวัดอุณหภูมิควบคู่ไปด้วยโดยใช้เซ็นเซอร์วัดอุณหภูมิ

ค่าที่วัดได้จากเซ็นเซอร์ทั้งหมด จะถูกเก็บและประมวลผลโดยไมโครคอนโทรลเลอร์ Arduino จากนั้นส่งข้อมูลผ่านบลูทูธไปยังแอปพลิเคชันบนมือถือ ซึ่งออกแบบด้วย MIT App Inventor 2 แอปนี้จะช่วยให้เราสามารถปรับเทียบความยาวของท่อได้ โดยใช้แก๊สอ้างอิงที่เรารู้ความเร็วเสียงของมันอยู่แล้ว
แอปพลิเคชันจะใช้ข้อมูลนี้ในการคำนวณความเร็วเสียงของแก๊สตัวอย่างที่ไม่รู้จัก และทำการระบุเบื้องต้นว่ามันคือแก๊สอะไร
**หมายเหตุ:** โปรเจกต์นี้เป็นส่วนหนึ่งของซีรีส์ที่อยากจะแสดงให้เห็นว่าเราสามารถใช้ Arduino เป็นเครื่องมือในการพัฒนาทักษะการคิดแบบวิทยาศาสตร์ได้ที่บ้านเลย
โปรเจกต์นี้เป็นการสร้างเครื่องมือวิเคราะห์ในห้องแล็บที่มีความแม่นยำสูง ด้วยการวัดความเร็วเสียงผ่านเซลล์ที่พิมพ์จากเครื่องพิมพ์ 3D ระบบนี้สามารถหาคุณสมบัติทางกายภาพที่สำคัญของแก๊สได้ ทำให้เราสามารถระบุสารที่ไม่รู้จักได้ ตั้งแต่ไนโตรเจนบริสุทธิ์ไปจนถึงแก๊สทำความเย็นทั่วไป
**ความเร็วเสียงในแก๊ส** เป็นค่าคงที่ทางฟิสิกส์ที่ชัดเจน ถูกกำหนดโดยตัวแปรหลักสองตัวคือ มวลโมเลกุลของสาร และ **ค่าคงที่อะเดียแบติก (Adiabatic Constant)** หรืออัตราส่วนความจุความร้อน โปรเจกต์นี้ใช้ไมโครโปรเซสเซอร์ Arduino และแอปพลิเคชัน Android ที่ออกแบบเอง เพื่อสร้าง "เครื่องสเปกโตรมิเตอร์เสมือน" (Virtual Spectrometer) เปลี่ยนเทคโนโลยีเสียงสะท้อน (Echo) ให้กลายเป็นเครื่องมือระบุสารเคมีระดับมืออาชีพได้เลย จัดไปวัยรุ่น!
วิเคราะห์แบบนักวิทย์ และภาพรวมของ Acoustic Telemetry
หัวใจของ Gas Identification Cell นี้คือ Echo Method นั่นเองจ้า โดยการยิงพัลส์อัลตราซาวด์ผ่านท่อที่วัดความยาวมาอย่างแม่นยำ แล้วจับเวลา "ไป-กลับ" (Time-of-Flight) ระบบจะคำนวณหาความเร็วได้ (v = 2x/t) เพราะความเร็วเสียงมันขึ้นอยู่กับอุณหภูมิของตัวกลางแบบสุดๆ เลยต้องมีเทอร์โมมิเตอร์ดิจิตอลความแม่นยำสูงมาช่วยชดเชยค่าทางคณิตศาสตร์แบบเรียลไทม์ รับรองว่าข้อมูลแม่นยำไม่ว่าสภาพแวดล้อมจะเป็นยังไงก็ตาม
โครงสร้างฮาร์ดแวร์ และชั้นการวิเคราะห์
- Arduino Nano V3.0: ตัว "สมองประมวลผล" จัดการจับเวลาในระดับไมโครวินาทีที่จำเป็นสำหรับเซ็นเซอร์อัลตราซาวด์ HC-SR04 พร้อมทั้งดึงข้อมูลจากเซ็นเซอร์อุณหภูมิแบบ 1-Wire
- HC-SR04 Ultrasonic Sensor: ตัว "ส่ง-รับสัญญาณเสียง" ติดตั้งที่ปลายท่อที่พิมพ์จาก 3D พริ้นเตอร์ ส่ง "Ping" ออกไปแล้วรอเสียงสะท้อนจากแผ่นเรียบที่ปลายอีกด้าน
- DS18B20 Digital Thermometer: ให้ข้อมูลอุณหภูมิสำคัญที่ใช้ปรับค่าความเร็วเสียงให้เป็นค่าอ้างอิง (ปกติก็ 0°C หรือ 20°C)
- 3D Printed Measurement Cell: ออกแบบเองด้วย Autodesk 123D Design เซลล์นี้สร้างสภาพแวดล้อมที่ปิดสนิทสำหรับแก๊สที่เราศึกษา ความยาวท่อปรับได้ (63.5mm ถึง 98.4mm) ทำให้ปรับช่วงความไวได้หลากหลาย
- HC-06 Bluetooth Module: ส่งผลลัพธ์ดิบไปยังแอปพลิเคชันบนมือถือเพื่อประมวลผลทางคณิตศาสตร์ที่ซับซ้อนและระบุตัวตนโดยเทียบกับฐานข้อมูลแก๊สในตัว
ตรรกะทางเทคโนโลยี และ Mobile ID Engine
ระบบทำงานผ่านวงจรชีวิตของ Sampling and Comparison ที่เข้มงวด:
- ช่วง Probe Sampling: Arduino จะอ่านค่าอะคูสติกความเร็วสูงเฉลี่ย 7 ครั้งเพื่อกรองสัญญาณรบกวนและความปั่นป่วนในท่อออก
- Bluetooth Data Burst: ค่าเฉลี่ยนั้น พร้อมกับค่าอุณหภูมิที่แก้ไขแล้ว จะถูกส่งไปยังแอปที่สร้างด้วย MIT App Inventor 2
- ขั้นตอนการปรับเทียบ: เพื่อความแม่นยำในระดับต่ำกว่ามิลลิเมตร ผู้ใช้ต้อง "ตั้งศูนย์" เครื่องด้วยแก๊สอ้างอิงที่รู้ความเร็ว (เช่น อากาศแห้งหรือไนโตรเจนบริสุทธิ์)
- ฐานข้อมูลการระบุตัวตน: แอปจะเปรียบเทียบความเร็วที่วัดได้กับเส้นโค้งทฤษฎีของแก๊สต่างๆ เช่น ฮีเลียม อาร์กอน หรือสารทำความเย็น R134a ตัวที่มีเปอร์เซ็นต์ความผิดพลาดต่ำที่สุดจะถูกระบุว่าเป็น "สารที่น่าจะเป็น"
ทำไมโปรเจคนี้ถึงสำคัญ
การเชี่ยวชาญการวิเคราะห์แก๊สด้วยเสียงคือก้าวที่ก้าวหน้าเข้าสู่โลกของ Analytical Instrumentation มันสอนพื้นฐานของ Signal Decomposition (แยกผลของอุณหภูมิออกจากความหนาแน่นของแก๊ส) และ Sensor Fusion นอกเหนือจากความอยากรู้อยากเห็นของนักเล่นแล้ว หลักการเหล่านี้ถูกใช้ใน Industrial Gas Leak Detection, Medical Anesthesia Monitors และ HVAC Refrigerant Analyzers โปรเจคนี้พิสูจน์ว่า ด้วยการผสมผสานระหว่างการออกแบบ 3D และคณิตศาสตร์ฝังตัวที่เหมาะสม ไมโครคอนโทรลเลอร์ตัวจิ๋วก็ทำงานแทนอุปกรณ์ในห้องแล็บราคาแพงได้
Measurement Cell
เซลล์วัดที่พิมพ์จาก 3D ประกอบด้วยท่อทรงกระบอกที่ถอดประกอบได้ ขนาดเส้นผ่านศูนย์กลาง 46 มม. ความยาวสามารถปรับเปลี่ยนได้ระหว่าง 63.5 มม. ถึง 98.4 มม. ขึ้นอยู่กับประเภทของตัวอย่างที่ต้องการวิเคราะห์และความแม่นยำที่ต้องการ
ที่ปลายท่อด้านที่ตรึงไว้ จะมีเซ็นเซอร์อัลตราซาวด์และเซ็นเซอร์อุณหภูมิ รวมถึงช่องทางเข้าและออกของตัวอย่างแก๊ส
ปลายอีกด้านของท่อทั้งสองที่ถอดได้จะเป็นพื้นเรียบ เพื่อให้คลื่นพัลส์อัลตราซาวด์สะท้อนกลับมาที่ไมโครโฟนของเซ็นเซอร์อัลตราซาวด์อย่างสมมาตร
มีท่อยางอ่อนติดอยู่ที่ช่องทางเข้าและออกของแก๊ส เพื่อใช้เป็นวาล์วปิด (ใช้คลิปหนีบกระดาษเล็กๆ หนีบท่อไว้) เมื่อเซลล์ถูกเติมแก๊สจนเต็มแล้ว



การต่อวงจร Arduino และการปรับเทียบ
การเชื่อมต่อเซลล์วัดเข้ากับคอนโทรลเลอร์ Arduino แสดงไว้ในแผนภาพ Fritzing ที่แนบมา
ควรทราบว่า ในขณะที่โมดูลบลูทูธ HC-06 สามารถทำงานกับแรงดันอินพุตระหว่าง 3.3 ถึง 5 โวลต์ แต่เราเลือกใช้ค่าที่สูงกว่า มิฉะนั้นสัญญาณจะขาดบ่อย
มีโค้ดโปรแกรมสำหรับ Arduino Nano V3.0 CH340 แนบมาด้วย ซึ่งมีสองจุดสำคัญที่ควรทราบ
- อย่างแรกคือค่าคงที่แบบ float ชื่อ CorrecTemp เป็นการแก้ไขที่ทำกับค่าอุณหภูมิเริ่มต้นจากเซ็นเซอร์ การแก้ไขนี้ประมาณได้โดยอ่านค่าอุณหภูมิที่เซ็นเซอร์แสดงเมื่อจุ่มลงในอ่างน้ำแข็ง (น้ำแข็งลอยในน้ำ) ค่าความเบี่ยงเบนจาก 0°C ซึ่งเป็นค่าที่อ่างน้ำแข็งควรมี คือค่าที่ใช้เป็นค่าการแก้ไขเซ็นเซอร์อุณหภูมิ
- อีกจุดคือค่า delay(150) ซึ่งต้องน้อยกว่าหรือเท่ากับความเร็วสัญญาณนาฬิกาของบลูทูธในแอป App Inventor 2 เพื่อให้การส่งและรับข้อมูลจาก Arduino ไปยังแอปมือถือเป็นไปอย่างลื่นไหล
อัพโหลดโค้ดลง Arduino Nano โดยใช้ IDE 1.8.19 และใช้ Power Bank (6000 mAh 3.7V, Out 5V, Output Max. 2.4A) เป็นแหล่งจ่ายไฟ



คำอธิบายแอป SoundSpeed_2023 App Inventor
ข้อมูลที่ประมวลผลโดยไมโครโพรเซสเซอร์ Arduino จะถูกส่งผ่านบลูทูธไปยังแอปบนมือถือ (Android 12) ที่ออกแบบโดยใช้สภาพแวดล้อมการเขียนโปรแกรมแบบ visual ที่เรียกว่า MIT App Inventor 2
มีไฟล์แอปแนบมาให้
หมายเหตุ: มีเวอร์ชันใหม่ที่เข้ากันได้กับ Android 12 เพิ่มเข้ามาด้วย

แอปพลิเคชันประกอบด้วย หน้าจอเริ่มต้น ซึ่งหลังจากเชื่อมต่อบลูทูธกับเซลล์วัดแล้ว (ปุ่ม Bluetooth Icon) จะรายงานค่าความเร็วเสียง ( m/s ) ของแก๊สที่อยู่ในโพรบ
ค่าที่รายงานคือค่าเฉลี่ยของ 7 ครั้งวัด และยังรายงานอุณหภูมิขณะวัด ( °C ) รวมถึงค่าเบี่ยงเบนมาตรฐานของข้อมูลทั้งสองนี้ด้วย ข้อมูลนี้สามารถบันทึกลงมือถือได้หลังจากกำหนดชื่อไฟล์ (ปุ่ม SAVE )
หน้าจอเริ่มต้นนี้ยังแสดงปุ่มห้าปุ่มที่อนุญาตให้คุณ:
• ดูวงจรและส่วนประกอบพื้นฐานที่ประกอบเป็นอุปกรณ์วัด (ปุ่ม CIRCUIT )
• วัดความยาวของโพรบวัด ( m ) โดยใช้แก๊สอ้างอิง (ปุ่ม CALIBRATE )
• เมื่อปรับเทียบอุปกรณ์แล้ว ให้ระบุตัวตนโดยประมาณของสารแก๊สที่กำลังวัด (ปุ่ม IDENTIFY )
• ตัดการเชื่อมต่อเซ็นเซอร์บลูทูธ (ปุ่ม DISCONECT )
• ออกจากแอปพลิเคชัน (ปุ่ม EXIT )

หน้าจอที่แสดงเมื่อกดปุ่ม CALIBRATE จะแสดงปุ่มสี่ปุ่มที่อนุญาตให้คุณ:
• เลือกแก๊สอ้างอิง (ปุ่ม REFERENCE GAS ) ที่จะใช้ปรับเทียบความยาวของโพรบวัด
• บันทึกค่าความยาวเซลล์วัด (โพรบ) ที่วัดได้ เพื่อใช้ในการวัดตัวอย่างแก๊สที่ไม่รู้จัก (ปุ่ม SAVE )
• ลบค่าความยาวเซลล์วัดที่บันทึกไว้ (ปุ่ม DELETE )
• ทำการวัดกับตัวอย่างแก๊สที่ไม่รู้จัก (ปุ่ม MEASURE ) ซึ่งจะพาเรากลับไปยังหน้าจอเริ่มต้น

เมื่อปรับเทียบเซลล์วัดและทำการวัดแก๊สที่ไม่รู้จักแล้ว การระบุตัวตนจะดำเนินการโดยกดปุ่ม IDENTIFY ซึ่งจะพาเราไปยังหน้าจอที่สามที่แสดงค่าความเร็วเสียงที่วัดได้ รวมถึงค่าสัมประสิทธิ์การแปรผัน และรายการความเป็นไปได้ในการระบุตัวตนของสารแก๊สที่กำลังศึกษา
ในรายการนี้ ผู้สมัครที่มีค่า % error ต่ำกว่าจะถูกนำมาเป็นผู้สมัครที่น่าจะเป็นมากที่สุด
บนหน้าจอนี้มีปุ่มที่จะพาเรากลับไปยังหน้าจอเริ่มต้น (ปุ่ม RETURN )

การติดตั้ง
เมื่อคุณมีอุปกรณ์วัดที่ประกอบแล้ว (เซลล์วัดและการเชื่อมต่อกับ Arduino) ต้องดาวน์โหลดและติดตั้งแอป SoundSpeed_2023.apk (Android 11 หรือต่ำกว่า) หรือ SoundSpeed_2024.apk (Android 12 หรือต่ำกว่า) ลงบนมือถือ เนื่องจากแอปพลิเคชันนี้ไม่ได้มาจากแหล่งที่เป็นทางการ คุณควรทำตามขั้นตอนต่อไปนี้:
• มือถือจะขออนุญาตให้เปลี่ยนการตั้งค่าความปลอดภัยเพื่อติดตั้งแอปจากแหล่งที่ไม่รู้จัก คุณต้องทำการเปลี่ยนแปลงตามที่แนะนำ อย่าลืมกลับไปตั้งค่าเดิม หลังการติดตั้งเสร็จสิ้น
• เมื่อเปิดแอปครั้งแรก โปรแกรมจะขออนุญาตให้ SoundSpeed_2024 ค้นหาอุปกรณ์ใกล้เคียง เชื่อมต่อกับอุปกรณ์เหล่านั้น และกำหนดตำแหน่งสัมพัทธ์ เนื่องจากแอปต้องเชื่อมต่อผ่านบลูทูธกับไมโครโพรเซสเซอร์ Arduino ต้องอนุญาตการเข้าถึงนี้และรีสตาร์ทแอปพลิเคชัน
• จากนั้นต้องเชื่อมต่อไมโครโพรเซสเซอร์ Arduino เข้ากับ Power Bank เพื่อเปิดใช้งานโมดูลบลูทูธ
• จากนั้นต้องเปิดใช้งานการค้นหาอุปกรณ์บลูทูธบนมือถือและจับคู่กับตัวส่งสัญญาณบลูทูธของไมโครโพรเซสเซอร์ Arduino (ชื่อเฉพาะของตัวส่งบลูทูธจะแตกต่างกันไปในแต่ละอุปกรณ์ แต่สามารถเปลี่ยนได้หากต้องการ)
• เมื่อจับคู่ตัวส่งแล้ว ให้กดปุ่มที่มี ไอคอนบลูทูธ ในแอปพลิเคชัน ซึ่งจะแสดงรายการอุปกรณ์บลูทูธที่พร้อมใช้งาน เลือกอันที่ตรงกับตัวส่งสัญญาณของไมโครคอนโทรลเลอร์ Arduino
การปรับเทียบ
เมื่อเลือกตัวส่งบลูทูธแล้ว ตามที่ระบุในขั้นตอนก่อนหน้า แอปจะเริ่มทำการวัด อย่างไรก็ตาม เนื่องจากยังไม่ได้ทำการปรับเทียบความยาวเซลล์วัดเริ่มต้น ค่าที่ได้จึงยังไม่ถูกต้อง ดังนั้น ควรทำการปรับเทียบเริ่มต้นโดยทำตามขั้นตอนต่อไปนี้: