สร้างโคมไฟ AI สั่งงานด้วยเสียง (AI Mood Lamp) ทำงานแบบออฟไลน์ 100% ไม่ง้อเน็ต!

ฮายยยยชาว Maker! เคยเบื่อมั้ยครับ เวลาที่เราซื้ออุปกรณ์ Smart Home มาใช้ในบ้าน แล้วมันต้องคอยต่อ Wi-Fi ตลอดเวลา แถมข้อมูลเสียงของเราก็ถูกส่งขึ้น Cloud ไปให้ใครฟังก็ไม่รู้ พอยิ่งเน็ตช้า สั่งเปิดไฟทีนึงก็ต้องรอหน่วงไปหลายวินาที!

วันนี้เราเลยจะพาไปแก้ปัญหานั้นกัน ด้วยโปรเจกต์ "AI Mood Lamp" (โคมไฟอัจฉริยะปรับอารมณ์) ที่สามารถรับฟังคำสั่งเสียงของเรา (Voice Controlled) แล้วสั่งเปลี่ยนสีไฟ หรือหมุนทิศทางแสงได้แบบเรียลไทม์ โดยใช้การประมวลผลบนตัวบอร์ดล้วนๆ (Edge Computing) ทำงานจบในตัวแบบออฟไลน์ ไม่ง้ออินเทอร์เน็ตแม้แต่นิดเดียว!

ภาพปก: หน้าตาของโคมไฟ AI Mood Lamp ที่ประกอบขึ้นจากบอร์ดและชิ้นส่วน 3D Print

ฮาร์ดแวร์ "ของมันต้องมี" (Hardware Components)

โปรเจกต์นี้ใช้แพลตฟอร์มบอร์ดตระกูล RAKwireless เป็นแกนหลักครับ ซึ่งจุดเด่นคือมันเป็นระบบโมดูลาร์ (Modular) เอามาประกอบกันเหมือนต่อเลโก้ ไม่ต้องบัดกรีให้วุ่นวาย โดยใช้อุปกรณ์ดังนี้:

  • RAKwireless WisBlock LPWAN Module RAK4631 (สมองกลหลัก)
  • RAKwireless WisBlock Dual IO Base Board (ฐานสำหรับเสียบโมดูล)
  • RAKwireless PDM Stereo Microphone MP34DT06J (ไมค์รับเสียง)
  • RAKwireless RGB LED Matrix Module (โมดูลไฟ)
  • เส้นไฟ LED Strip แบบ NeoPixel (ไฟตกแต่ง)
  • Seeed Studio EMax 12g Servo (เซอร์โวมอเตอร์สำหรับหมุนทิศทางไฟ)
💡 Globalbyte Trick & Services: โปรเจกต์แนว AI ออฟไลน์ (TinyML) แบบนี้ บอร์ดประมวลผลและโมดูลไมโครโฟนมีความสำคัญมากครับ! หากเพื่อนๆ อยากทดลองทำโปรเจกต์ทำนองนี้ แวะมาหา บอร์ดไมโครคอนโทรลเลอร์ เซนเซอร์ และเซอร์โวมอเตอร์ เจ๋งๆ ได้ที่ Globalbyte ได้เลย!

นอกจากนี้ หากอยากได้เคสใส่โคมไฟเท่ๆ แบบในโปรเจกต์นี้ แต่ไม่มีเครื่องปริ้นท์ 3 มิติ ทางเราก็มี บริการรับปริ้นท์ 3D (3D Printing Service) ให้ด้วยนะครับ ส่งไฟล์มาให้เราจัดการให้ได้เลย งานเนียนกริบพร้อมประกอบแน่นอน!

ระบบทำงานยังไง? (How does it work?)

หลักการทำงานคือ ตัวไมโครโฟนจะคอยดักฟังเสียงของเราตลอดเวลา เมื่อเราพูดคำสั่ง เช่น "Hey Lamp" หรือ "Party mode" เสียงจะถูกส่งเข้าชิปเพื่อประมวลผลด้วยโมเดล AI (ที่ถูกเทรนและฝังไว้ในบอร์ด) จากนั้นบอร์ดก็จะสั่งงานไฟ LED ให้เปลี่ยนสี และสั่งเซอร์โวมอเตอร์ให้หันหลอดไฟมาหาเราได้ทันที

บอร์ดหลัก RAKwireless WisBlock และโมดูลที่นำมาประกอบกัน
เซอร์โวมอเตอร์สำหรับปรับทิศทางหน้าโคมไฟ
การประกอบชิ้นส่วนเข้ากับโครงสร้างที่สร้างจาก 3D Printer
แผนผังการทำงาน (Flowchart) ของระบบ AI แบบออฟไลน์
การบันทึกเสียงและฝึก AI (Training) บนแพลตฟอร์ม Edge Impulse

การสอนให้ AI รู้จักเสียงเรา (Training the Model)

หัวใจหลักของความฉลาดอยู่ที่แพลตฟอร์ม Edge Impulse Studio ครับ เขาใช้วิธีอัดเสียงคำสั่งซ้ำๆ ผ่านไมค์คอมพิวเตอร์ (เช่นคำว่า "Work mode", "Turn off") ให้ได้ความยาวคำละประมาณ 4 นาที แล้วหั่นเป็นคลิปสั้นๆ 1 วินาที เพื่อสร้างฐานข้อมูล (Dataset)

จากนั้นเขาก็นำข้อมูลไปเทรน (Training) ผ่านบล็อกประมวลผลเสียง MFCC และบล็อก Keras Neural Network จนได้ความแม่นยำ (Accuracy) ที่สูงมาก! (คำแนะนำ: ความแม่นยำ 100% ไม่ใช่เรื่องดีเสมอไปนะ เพราะแปลว่า AI อาจจะท่องจำมากเกินไปจนทายเสียงใหม่ๆ ไม่ถูก เรียกว่า Overfitting ครับ)

วิดีโอสาธิตการทำงาน (Testing and Demos)

มาดูความเจ๋งของโคมไฟเวลาที่มันโต้ตอบกับคำสั่งเสียงแบบเรียลไทม์กันครับ!

เตรียมเอาโมเดลลงบอร์ด (Deploy the Model)

เมื่อเราฝึก AI จนฉลาดแล้ว ขั้นตอนต่อไปคือการดาวน์โหลดตัวโมเดลออกมาเป็นไฟล์ Arduino Library แล้วนำไปแตกไฟล์ใส่ไว้ในโฟลเดอร์ /lib ของโปรแกรม PlatformIO IDE (หรือ Arduino IDE) จากนั้นก็สั่ง Build และ Flash ลงบอร์ด WisBlock ได้เลยครับ

ผังวงจร (Schematics)

เนื่องจาก WisBlock เป็นแบบ Modular การต่อสายจึงง่ายมาก มีแค่ฝั่งเซอร์โวมอเตอร์ที่ต้องต่อพินแยกออกมาเองนิดหน่อยครับ

ดาวน์โหลดไฟล์ 3D Print

ใครอยากทำเคสตาม สามารถโหลดไฟล์ .3mf ไปปริ้นท์ได้เลยครับ:

ดาวน์โหลด Source Code

คุณสามารถโคลน (Clone) โปรเจกต์ Source Code ตัวเต็มจาก GitHub เพื่อนำไปเปิดใน PlatformIO ได้เลยด้วยคำสั่งด้านล่างนี้ครับ:

git clone https://github.com/mcmchris/AI-Mood-Lamp.git

นอกจากนี้ คุณยังสามารถดู ตัวอย่างโมเดล Edge Impulse แบบ Public ที่เขาแชร์ไว้ได้ด้วยครับ

⚠️ เนื้อหาการสร้างโมเดล AI และเขียนโปรแกรมมีความซับซ้อน!
การทำงานกับ Edge Impulse (TinyML) การตั้งค่า PlatformIO และการดัดแปลงโค้ด C++ มีรายละเอียดเชิงวิศวกรรมค่อนข้างลึกครับ เราขอเชียร์ให้เพื่อนๆ เข้าไปศึกษา คู่มือต้นฉบับฉบับเต็มโดยตรงที่นี่ เพื่อความถูกต้องและเข้าใจกระบวนการทำงานทั้งหมดอย่างละเอียดครับ!
💡 คำแนะนำเพิ่มเติมจากเรา: หากเพื่อนๆ ตามไปอ่านบทความภาษาอังกฤษหรือดู Source Code จากเว็บต้นฉบับแล้วรู้สึกว่ามันเข้าใจยาก แนะนำให้ก๊อปปี้ลิงก์บทความไปให้ NotebookLM ของ Google ช่วยสรุปและอธิบายโค้ดให้ฟังแบบง่ายๆ ได้นะครับ เครื่องมือนี้จะช่วยเป็นติวเตอร์ส่วนตัวให้สาย Maker อย่างเราได้ดีมากๆ เลย!

🚀 สนุกกับไอเดีย AI และ IoT สุดเจ๋งไปกับ Globalbyte!

หาบอร์ดพัฒนา โมดูลไมค์ เซนเซอร์ หรือบริการ 3D Print แบบครบวงจรอยู่ใช่ไหม? ทักมาให้เราจัดให้ได้เลย!

คำเตือน / ข้อมูลอ้างอิง: บทความนี้เป็นการสรุปและแปลเนื้อหาจากต้นฉบับภาษาอังกฤษ (Hackster.io) การติดตั้ง Board Support Package และการตั้งค่า PlatformIO อาจมีการอัปเดตหรือเปลี่ยนแปลงเวอร์ชันในอนาคต ขอแนะนำให้เพื่อนๆ ตรวจสอบ คู่มือการติดตั้ง (Board Support Package Installation) อย่างเป็นทางการ เสมอก่อนลงมือแฟลชบอร์ดครับ

ที่มาต้นฉบับ: Voice controlled AI Mood Lamp by mcmchris (Hackster.io)

 

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี