โปรเจกต์ Minecraft Lantern ที่ปรับเปลี่ยนสีได้
สำหรับ Halloween นี้ ผมกำลังรวมโลกแห่งจินตนาการที่เป็นบล็อกของ Minecraft เข้ากับแสงสว่างที่น่าสะพรึงกลัวของ RGB LEDs หลากสีในโปรเจกต์ Halloween ที่สนุกและเรียบง่าย
สำหรับ Halloween นี้ ผมกำลังรวมโลกแห่งจินตนาการที่เป็นบล็อกของ Minecraft เข้ากับแสงสว่างที่น่าสะพรึงกลัวของ RGB LEDs หลากสีในโปรเจกต์ Halloween ที่สนุกและเรียบง่าย
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
Project Supporter Team
โพสต์โดย
สำหรับ Halloween นี้ ผมกำลังนำโลกทรงเหลี่ยมสุดสร้างสรรค์ของ Minecraft มาผสมผสานกับแสงสีที่ดูน่ากลัวของ RGB LED ในโปรเจกต์ Halloween ที่สนุกและทำได้ง่าย
โดย "Color Adjustable Minecraft Lantern" คือโปรเจกต์ที่สร้างตะเกียงอันเป็นเอกลักษณ์จากวิดีโอเกม Minecraft ขึ้นมาใหม่ ซึ่งช่วยให้ผู้ใช้งานสามารถเปลี่ยนสีของแสงไฟเป็นเฉดสีใดก็ได้ แทนที่จะจำกัดอยู่แค่แสงสีเหลืองหรือส้มแบบมาตรฐาน
Video: https://www.youtube.com/watch?v=8wauoKaCeak

สำหรับโปรเจกต์นี้เราต้องใช้:

โครงสร้างประกอบด้วย 3 วงจรที่เรียบง่าย:
1. อย่างแรก วงจรแหล่งจ่ายไฟ: แบตเตอรี่ที่ชาร์จและจ่ายไฟให้ Arduino Nano
2. อย่างที่สอง วงจรควบคุม: Potentiometer ส่งสัญญาณไปยัง Arduino
3. และอย่างที่สาม วงจรแสงสว่าง: NeoPixel ซึ่งส่องสว่างตามคำสั่งที่ได้รับจาก Arduino
อธิบายการทำงาน:
Arduino จะอ่านค่าจาก Potentiometer ผ่านพิน Analog ซึ่งจะได้ค่าตั้งแต่ 0 ถึง 1023 จากนั้นช่วงนี้จะถูก Map ให้เหลือ 0-255 เพื่อให้สอดคล้องกับ Arduino library สัญญาณที่แปลงแล้วจะถูกส่งไปยัง LED ทีละดวงตามลำดับ ตั้งแต่ดวงแรกจนถึงดวงสุดท้าย
มีส่วนประกอบสำคัญสองอย่างเพื่อให้สัญญาณมีความเสถียร: capacitor ขนาด 1000µF ติดตั้งใกล้กับโหลดที่สุดเพื่อรักษาระดับแรงดัน และ Resistor ขนาด 100Ω บนสาย Data เพื่อป้องกันกระแสเกินและลดสัญญาณรบกวน
[[โดยทั่วไป capacitor ใช้เพื่อ 3 วัตถุประสงค์ คือ เป็นแหล่งสำรองกระแสไฟฟ้าเพื่อให้แรงดันคงที่, กรองสัญญาณรบกวนลง Ground และส่งผ่านสัญญาณ AC ในขณะที่บล็อกสัญญาณ DC อย่างที่สามอาจไม่ได้ใช้ในบริบทนี้ แต่อีก 2 อย่างมีประโยชน์มาก capacitor ค่าสูงจะใช้เป็นตัวสำรองกระแส (เช่น 1000uF) และค่าต่ำจะใช้กรองสัญญาณรบกวน (0.1uF, 1uF) ตามหลักการแล้ว capacitor ควรวางไว้ใกล้กับจุดที่ปัญหาเกิดขึ้นมากที่สุด]]

Code เริ่มต้นด้วยการรวม Adafruit NeoPixel library และกำหนดพินที่จำเป็นรวมถึงตัวแปร Global ต่างๆ
ในส่วน setup() เราจะทำการเริ่มต้นใช้งาน NeoPixel library และรันการเปลี่ยนสีแบบสายรุ้ง (rainbow cycle) ทั่วทั้งวง LED ทันทีเพื่อยืนยันว่าระบบทำงานได้ปกติ
ในส่วน loop() จะทำการอ่านค่าจาก Potentiometer อย่างต่อเนื่อง โดย Map ค่าจากช่วง 0-1023 ไปเป็น 0-255 คุณจะสังเกตเห็นว่าผมได้ปิดส่วนควบคุมความสว่าง (brightness control) ไว้เป็นคอมเมนต์ เนื่องจากในการทดสอบของผมพบว่าการตั้งค่าความสว่างของ NeoPixel library จะไปปรับสเกลค่า RGB ทั้งหมดตามสัดส่วน ซึ่งทำให้สีและความเข้มของ LED ที่ตามองเห็นเปลี่ยนไปอย่างมาก
ข้อควรพิจารณาที่สำคัญ
สุดท้าย Code จะใช้ค่าที่ได้จาก Potentiometer ที่ Map แล้วในการตั้งค่าสีของ Pixel และอัปเดตการแสดงผลของ LED สิ่งนี้ทำให้เกิดการควบคุมแบบ Real-time โดยตรงระหว่าง Potentiometer และการแสดงผลของ LED

ก่อนที่จะนำทุกอย่างลงใน enclosure ผมได้ต่อวงจรบน Breadboard เพื่อทดสอบ Code เมื่อผมจ่ายไฟ คุณจะเห็นวงแหวน NeoPixel แสดงแอนิเมชันสายรุ้งเล็กน้อย จากนั้นพวกมันก็พร้อมทำงาน เมื่อผมหมุนปุ่มเหล่านี้ สีจะเปลี่ยนไปอย่างราบรื่นขณะที่ Arduino อ่านค่าจาก Potentiometer และอัปเดต LED แบบ Real-time

ผมได้ออกแบบ enclosure แบบ 6 ส่วนขึ้นมาเองใน Microsoft 3D Builder สำหรับโปรเจกต์นี้ คุณสามารถดาวน์โหลดไฟล์ STL ได้จาก GitHub ของผมและส่งพิมพ์แบบมืออาชีพจาก PCBWay ได้
การประกอบประกอบด้วย:
1. ฐานสำหรับอุปกรณ์หลัก เช่น แบตเตอรี่, Arduino และตัวชาร์จแบตเตอรี่
2. ตัวล็อก TP4056 เพื่อยึด Module ชาร์จให้แน่น
3. ขาตั้ง 4 อันสำหรับยึดสวิตช์และ Potentiometer
4. แผ่น Perspex 4 แผ่น เพื่อช่วยกระจายแสง LED และซ่อนอุปกรณ์อิเล็กทรอนิกส์
5. ฝาครอบขาตั้ง 2 อันเพื่อปิดด้านข้าง
6. และฝาปิดด้านบนเพื่อทำให้ enclosure เสร็จสมบูรณ์
หลังจากปรับปรุงการออกแบบขั้นสุดท้ายแล้ว ผมจึงดำเนินการพิมพ์ 3D ชิ้นส่วนที่จำเป็นทั้งหมดสำหรับการประกอบ นี่คือชิ้นส่วนทั้งหมดที่ผมต้องใช้ในการประกอบเครื่องจริง

เมื่อพิมพ์โมเดล 3D ทั้งหมดเรียบร้อยแล้ว ผมก็เริ่มประกอบอุปกรณ์อิเล็กทรอนิกส์
ผมบัดกรีสายไฟเข้ากับ Potentiometer แต่ละตัวและสวิตช์ SPST จากนั้นนำไปติดตั้งในขาตั้งที่กำหนดไว้ Potentiometer แต่ละตัวถูกยึดโดยการขันสกรูให้แน่น โดยมีสายไฟรอดผ่านรูเล็กๆ ด้านข้างขาตั้ง ในทำนองเดียวกัน สวิตช์ถูกกดเข้าไปในช่อง และสายไฟถูกร้อยผ่านช่องสายไฟที่ตรงกัน
ถัดมา ผมโฟกัสไปที่ส่วนวงจรชาร์จแบตเตอรี่ ผมบัดกรีแบตเตอรี่เข้ากับพอร์ต B+ และ B- ของ Module ชาร์จ TP4056 ใช้สายไฟสีน้ำเงินเชื่อมต่อ OUT- ของ TP4056 เข้ากับ VIN- ของ Buck Converter ในขณะที่สวิตช์ SPST ถูกต่อเพื่อควบคุมการเชื่อมต่อระหว่างขั้ว OUT+ และ VIN+
เมื่อการเชื่อมต่อเหล่านี้เสร็จสิ้น ผมได้ติดตั้งอุปกรณ์จ่ายไฟลงในฐานของตัวเครื่อง Module TP4056 ถูกยึดด้วยกาวตราช้างโดยใช้ตัวล็อกหลังจากเลื่อนเข้าที่แล้ว และผมยังใช้กาวตราช้างยึดขาตั้งที่ถือสวิตช์เปิด-ปิดเข้ากับฐานด้วย
สำหรับระบบควบคุม ผมบัดกรีอุปกรณ์ที่จำเป็นทั้งหมดสำหรับ Arduino ลงบน Perfboard แม้ว่าการติดตั้งอาจดูยุ่งเหยิง แต่เมื่อประกอบเสร็จทุกอย่างจะถูกปิดมิดชิด จากนั้นผมใช้ปืนกาวร้อนยึดวงแหวน NeoPixel สองวงเข้าตำแหน่ง วงแรกที่ฐานและวงที่สองที่ด้านบน หลังจากยึดขาตั้งอันที่ 2 ด้วยกาวตราช้างแล้ว ผมก็ซ่อนอุปกรณ์อิเล็กทรอนิกส์โดยการติด "ฝาครอบข้าง" ด้วยกาวตราช้าง
ก่อนที่จะติดตั้งแผ่น Perspex ผมได้ทาสีตัวตะเกียงด้วยสีอะคริลิกสีดำ เมื่อสีแห้งแล้ว ผมจึงใส่แผ่น Perspex และใช้กาวตราช้างยึดส่วนบนเข้าที่เพื่อปิดงาน

และนี่คือหน้าตาของผลงานที่เสร็จสมบูรณ์ของผมครับ
นี่เป็นวิธีการคลาสสิกในการสร้างโปรเจกต์แบบโต้ตอบ (interactive) ที่คุณหมุนปุ่มเพื่อเปลี่ยนพฤติกรรมของแสงไฟ Microcontroller จะอ่านตำแหน่งของ Potentiometer แปลงเป็นค่า แล้วใช้ค่านั้นเพื่อเปลี่ยนบางอย่างของ NeoPixel (เช่น ความสว่าง สี หรือความเร็ว)
โปรเจกต์นี้ช่วยส่งเสริมให้เด็กๆ ได้ทดลองกับแม่สีเพื่อดูว่าพวกเขาสามารถสร้างเฉดสีใหม่ๆ อะไรได้บ้าง
บอกให้ผมรู้หน่อยนะครับว่าคุณคิดอย่างไร
อย่าลืมกด Like, Share และ Comment หากคุณมีข้อเสนอแนะในการปรับปรุง!
ขอบคุณอีกครั้งที่เข้ามาชมโพสต์ของผม หวังว่ามันจะมีประโยชน์กับคุณนะครับ
หากคุณต้องการสนับสนุนผม สามารถกดติดตาม YouTube Channel ได้ที่: https://www.youtube.com/@CrazyCoupleDIY
Support My Work
ขอบคุณครับ แล้วพบกันใหม่ใน Tutorial หน้า
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้