โปรเจกต์นี้จัดเต็มกับโคมไฟอารมณ์สไตล์กระสวยอวกาศ Atlantis ที่สุดแสนจะเจ๋งและสร้างสรรค์ แถมยังหาซื้อที่ไหนไม่ได้อีกด้วย! ตัวโครงสร้างยานอวกาศเราทำด้วยเครื่องพิมพ์ 3D และโปรแกรมควบคุมด้วย Arduino Uno ครับ
สำหรับการทำงาน เราได้ออกแบบมาให้มีโหมดควบคุมสีของแถบไฟ LED ผ่านปุ่ม pull-up ถึง 3 โหมดด้วยกัน
- โหมดแรก ใช้โพเทนชิออมิเตอร์ 3 ตัว ให้น้องๆ ได้ผสมสีในสเปกตรัม RGB เองแบบจัดเต็มตามสไตล์
- อีกโหมด ใช้เซ็นเซอร์อัลตราโซนิก ที่จะเปลี่ยนสีไฟไล่ระดับไปเรื่อยๆ ตามระยะห่างระหว่างน้องกับโคมไฟ
- โหมดสุดท้าย ใช้ปุ่ม pull-up ที่โปรแกรมไว้ให้เลือกได้ 9 เอฟเฟกต์ที่ตั้งค่าไว้ล่วงหน้าให้แถบไฟ LED แสดงผล
หวังว่าน้องๆ จะชอบกันนะ!
โปรเจกต์นี้สร้างโดย Mercedes Castillo, Jimena Urizar และ Mildred Maldonado
มุมมองของโปรเจกต์
โคมไฟ Atlantis คือการสำรวจการเล่นกับแสงศิลปะและการโต้ตอบระหว่างเซ็นเซอร์กับฮาร์ดแวร์อย่างลึกซึ้ง ด้วยการโฟกัสที่องค์ประกอบพื้นฐานสำคัญ—แถบไฟ LED WS2812B และเซ็นเซอร์อัลตราโซนิก—น้องจะได้เรียนรู้วิธีการสื่อสารและสร้างเอฟเฟกต์ใต้น้ำสุดตระการตา โดยใช้ตรรกะซอฟต์แวร์เฉพาะทางและการตั้งค่าฮาร์ดแวร์ที่แข็งแกร่ง
การนำไปใช้ทางเทคนิค: เอฟเฟกต์ RGB และการเคลื่อนไหว
โปรเจกต์นี้เผยให้เห็นชั้นการทำงานที่ซ่อนอยู่เบื้องหลังการโต้ตอบระหว่างการเคลื่อนไหวง่ายๆ กับศิลปะ:
- ชั้นการตรวจจับ: เซ็นเซอร์อัลตราโซนิก (HC-SR04) ทำหน้าที่เป็นดวงตาความละเอียดสูง คำนวณระยะห่างของคนที่อยู่ใกล้โคมไฟ
- ชั้นอินเทอร์เฟซภาพ: แถบไฟ LED RGB WS2812B ให้ผลตอบรับภาพความละเอียดสูงสำหรับ "คลื่น" และ "สีสัน" ของโปรเจกต์
- ชั้นการแปลงสัญญาณ: Arduino ใช้พินดิจิทัลรับพัลส์ Echo และประสานงานงานควบคุมแสง
- ชั้นกลยุทธ์การเคลื่อนไหว: เซอร์โวมอเตอร์ SG90 ทำหน้าที่เป็นมอเตอร์ภายใน ขยับฝาครอบโปร่งแสงเพื่อสร้างเอฟเฟกต์การแกว่งไกวใต้ท้องทะเล
- ลูปการควบคุมแบบลำดับ: โค้ด Arduino ใช้กลยุทธ์ "การถอดรหัสแบบลำดับ" เฉพาะทาง โดยจะร้องขอและดำเนินการโหมด "Static", "Wave" หรือ "Whirlpool" ตามการตรวจจับระยะใกล้
โครงสร้างพื้นฐานฮาร์ดแวร์
- Arduino Uno: "สมอง" ของโปรเจกต์ จัดการไทม์มิ่งความเร็วสูงของ LED และประสานงานงานของเซอร์โวและเซ็นเซอร์อัลตราโซนิก
- แถบไฟ NeoPixel WS2812B: ให้แสงสีสันสดใสและทรงพลังสำหรับสีและลวดลายใต้ทะเล
- เซอร์โวมอเตอร์ SG90: ให้การเคลื่อนไหวทางกายภาพและทิศทางที่มีแรงบิดสูง สำหรับการแกว่งตัวของโคมไฟ
- เซ็นเซอร์อัลตราโซนิก: ให้การตรวจสอบระยะห่างที่เชื่อถือได้แบบไม่สัมผัส สำหรับการโต้ตอบกับผู้ใช้
- แหล่งจ่ายไฟ DC 5V: สำคัญมากสำหรับการจ่ายกระแสสูงที่จำเป็นสำหรับ NeoPixels และเซอร์โว
- สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino และจ่ายไฟหลักให้กับตัวควบคุม
สุนทรียภาพและขั้นตอนการโต้ตอบ
กระบวนการทำงานของโคมไฟ Atlantis ออกแบบมาให้มีประสิทธิภาพสูง:
- เตรียมฮาร์ดแวร์: ติดตั้ง NeoPixels และเซอร์โวในตัวเรือนโคมไฟให้ถูกต้อง และเตรียม Arduino ให้พร้อมทำงาน
- ตั้งค่าการซิงค์เอาต์พุต: ในฟังก์ชัน
setup()ให้เริ่มต้นแถบไฟ LED โดยใช้ไลบรารี FastLED และกำหนดพินสำหรับเซอร์โวและเซ็นเซอร์ - ลูปการทำงาน: Arduino จะทำการตรวจสอบระยะใกล้ประสิทธิภาพสูงอย่างต่อเนื่อง และอัปเดตสีไฟกับมุมเซอร์โวแบบเรียลไทม์
- บูรณาการผลตอบรับภาพ: สังเกตดูว่าโคมไฟของน้องจะกลายเป็นสัญญาณภาพที่มีจังหวะโดยอัตโนมัติ พลิ้วไหวและตอบสนองตามการเคลื่อนไหวของน้องในห้อง
ต่อยอดในอนาคตได้อีกเรื่อยๆ
- เพิ่มหน้าจอ OLED ไว้ดูสถานะ (OLED Identity Dashboard Integration): เอา OLED ขนาดจิ๋วมาติดที่ฐานโคมไฟ จะได้เห็นว่าโหมดปัจจุบันคืออะไร และมีคนยืนห่างออกไปกี่เซนติเมตร (Viewer Distance) ตรงๆ เลย ไม่ต้องมโน
- ให้ไฟเต้นตามเสียง (Multi-sensor Climate Sync Synchronization): ต่อเซ็นเซอร์ตรวจจับเสียงเข้าไป แล้วตั้งให้ไฟ "กระพริบเป็นจังหวะ" ตามเสียงเพลงหรือเสียงตบมือได้เลย งานปาร์ตี้จัดเต็ม!
- สั่งงานและดูสถานะผ่านมือถือ (Cloud Interface Registration Support Synchronization): ใส่โมดูล WiFi (ESP8266/ESP32) แล้วเชื่อมต่อกับแดชบอร์ดบนคลาวด์ จะได้เปิด-ปิด เปลี่ยนโหมด หรือดูสถิติการใช้งานไฟจากมือถือได้สบายๆ
- เพิ่มโหมดสีใต้ทะเลลึก (Advanced Velocity Profile Customization Support): เขียนโค้ดเพิ่มโหมด "Deep Sea" เข้าไป ให้ไฟแสดงสีสันเรืองแสงแบบสิ่งมีชีวิตใต้ทะเลและแนวปะการังยามค่ำคืน สวยเว่อร์!
โคมไฟ Atlantis ตัวนี้เป็นโปรเจกต์ที่เหมาะมากสำหรับสายวิทย์-ศิลป์ หรือใครก็ตามที่อยากได้ของเล่นชิ้นเก๋ที่โต้ตอบกับเราได้ งานนี้ทั้งสนุกและได้ความรู้ จัดไปวัยรุ่น!