ว่าไงน้องๆ วันนี้พี่จะมาสอนทำเครื่องลอยวัตถุด้วยคลื่นเสียง (Ultrasonic Levitator) ด้วย Arduino Nano กัน งานนี้ทำง่ายมาก หวังว่าน้องๆ จะเอาไปประยุกต์ใช้กันได้เยอะเลย ถ้ามีคำถามหรือข้อเสนอแนะอะไร ก็คอมเมนต์ไว้ในคลิปวิดีโอของพี่ได้เลย และ อย่าลืมกดไลค์และกดติดตามช่อง YouTube ของพี่ด้วยล่ะ.
ดูวิดีโอสอนเต็มๆ พร้อมซอร์สโค้ดได้ที่นี่เลย.
ติดตามพี่ได้ที่ Instagram ด้วยนะ.
ของที่ต้องใช้ในโปรเจคนี้:
- Arduino Nano
- มอเตอร์ไดร์เวอร์ L298N
- โมดูลเซ็นเซอร์วัดระยะอัลตราโซนิก (HC-SR04)
เครื่องลอยวัตถุด้วยคลื่นเสียง (Ultrasonic Levitator) คืออะไร?
การลอยวัตถุด้วยเสียง (Acoustic levitation หรือ Acoustophoresis) เป็นวิธีการทำให้วัตถุลอยอยู่ในตัวกลางโดยใช้แรงดันจากการแผ่รังสีของเสียงจากคลื่นเสียงที่มีความเข้มข้นสูงในตัวกลางนั้น บางครั้งคลื่นเสียงความถี่อัลตราโซนิก (ที่หูมนุษย์ไม่ได้ยิน) ก็สามารถใช้ลอยวัตถุได้ เช่น ที่ห้องแล็บ Otsuka หรือบางที่ก็ใช้ความถี่ที่ได้ยินกันเลย มีหลายวิธีในการปล่อยคลื่นเสียง ตั้งแต่สร้างคลื่นใต้วัตถุแล้วสะท้อนกลับไปยังแหล่งกำเนิด ไปจนถึงการใช้แท็งก์ (แบบโปร่งใส) เพื่อสร้างสนามอะคูสติกขนาดใหญ่
เซ็นเซอร์อัลตราโซนิก (Ultrasonic Sensor) คืออะไร?
ตามชื่อเลย เซ็นเซอร์อัลตราโซนิกใช้วัดระยะทางด้วยคลื่นอัลตราโซนิก หัวเซ็นเซอร์จะปล่อยคลื่นอัลตราโซนิกออกไปและรับคลื่นที่สะท้อนกลับมาจากเป้าหมาย เซ็นเซอร์อัลตราโซนิกจะคำนวณระยะทางไปยังเป้าหมายโดยการวัดเวลาระหว่างการปล่อยคลื่นและการรับคลื่น
เซ็นเซอร์แบบออปติคัลจะมีตัวส่งและตัวรับแยกกัน ในขณะที่เซ็นเซอร์อัลตราโซนิกใช้องค์ประกอบอัลตราโซนิกตัวเดียวสำหรับทั้งการปล่อยและรับคลื่น ในเซ็นเซอร์อัลตราโซนิกแบบสะท้อน (reflective model) ตัวออสซิลเลเตอร์เดียวจะปล่อยและรับคลื่นอัลตราโซนิกสลับกันไปมา ซึ่งทำให้สามารถลดขนาดของหัวเซ็นเซอร์ให้เล็กได้
หลักการทำงาน: ฟิสิกส์ของการควบคุมด้วยเสียง
เครื่องลอยวัตถุด้วยคลื่นเสียง (Ultrasonic Levitator) นี่คือฟิสิกส์ที่เห็นกันจะๆ เลย มันเอาทรานสดิวเซอร์วัดระยะราคาถูกๆ สองตัวมาใช้ใหม่ แทนที่จะวัดการสะท้อนกลับของโซนาร์ Arduino จะสร้างคลื่นไฮเปอร์โซนิกที่แม่นยำมากและเฟสตรงข้ามกัน ซึ่งจะสร้างโหนดความดันทางกายภาพที่สามารถยกเม็ดสไตโรโฟมหรือหยดน้ำให้ลอยกลางอากาศได้จริงๆ
ไดร์เวอร์ฮาร์ดแวร์ (คณิตศาสตร์ความถี่ของ L298N)
น้องจะเสียบทรานสดิวเซอร์ตรงๆ กับขา Arduino ไม่ได้นะ ต้องใช้มอเตอร์ไดร์เวอร์ (L298N) ทำหน้าที่เป็นแอมป์ลิเฟอร์ความเร็วสูงมากๆ
- ทรานสดิวเซอร์ด้านบน หันลงตรงๆ ทรานสดิวเซอร์ด้านล่าง หันขึ้นตรงๆ พวกมันต้องเรียงตัวกันเป๊ะในทางคณิตศาสตร์
เรื่องความเที่ยงตรงทางเรขาคณิต
เขียนโค้ดน่ะง่าย แต่ปรับแต่งตัวฮาร์ดแวร์นี่สิ ทรมานสุดๆ
- ช่องว่างระหว่างทรานสดิวเซอร์ตัวบนกับตัวล่าง ต้องแม่นยำตามหลักวิทยาศาสตร์เลย มันต้องตรงกับความยาวคลื่นของเสียง 40kHz ในอากาศ (ประมาณ 8.5 มิลลิเมตร) เป๊ะๆ
- ถ้าตัวบนเบี้ยวไปแค่ 2 มิลลิเมตร โหนดก็พังทลาย ลูกโฟมก็ร่วงลงพื้นโต๊ะเลยจ้า
- เราก็ใช้คีมคีบลูกโฟมจิ๋วๆ วางลงไปในกระเป๋าอากาศที่มองไม่เห็นนั่น แรงดันจากการแผ่รังสีเสียง (Acoustic radiation pressure) จะกักลูกโฟมไว้ให้ลอยนิ่งๆ ต่อสู้กับแรงโน้มถ่วงโลกได้เป๊ะ!
อุปกรณ์ที่ต้องใช้สำหรับให้ของลอยได้
- Arduino Nano (ใช้สร้างพัลส์ขับ 40kHz โดยใช้ Timer registers)
- ทรานสดิวเซอร์อัลตราโซนิค 40kHz สองตัว (ปกติก็แย่งมาจากโมดูลโซนาร์ HC-SR04 นั่นแหละ!)
- โมดูลขับมอเตอร์ L298N (เอามาใช้เป็นแอมป์เสียงความถี่สูง)
- โครง C-frame ที่พิมพ์จากเครื่อง 3D พริ้นเตอร์ แข็งแรงมาก (ต้องแข็งจริงๆ เท่านั้น ห้ามงอ!)
ผลงานสุดท้าย:


