หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ Minecraft Lantern ที่ปรับเปลี่ยนสีได้

สำหรับ Halloween นี้ ผมกำลังรวมโลกแห่งจินตนาการที่เป็นบล็อกของ Minecraft เข้ากับแสงสว่างที่น่าสะพรึงกลัวของ RGB LEDs หลากสีในโปรเจกต์ Halloween ที่สนุกและเรียบง่าย

โปรเจกต์ Minecraft Lantern ที่ปรับเปลี่ยนสีได้

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

4,191 การดู
1 ถูกใจ

รายการอุปกรณ์และเครื่องมือ

1x Neopixel Stick with 8 RGB WS2812 LEDs and integrated driver
🛒 สั่งซื้อ
}

แอปพลิเคชันและแพลตฟอร์ม

1x Arduino_IDE 2.3.6
ค้นหา Google

รายละเอียดและวิธีทำ

สำหรับ Halloween นี้ ผมกำลังนำโลกทรงเหลี่ยมสุดสร้างสรรค์ของ Minecraft มาผสมผสานกับแสงสีที่ดูน่ากลัวของ RGB LED ในโปรเจกต์ Halloween ที่สนุกและทำได้ง่าย

โดย "Color Adjustable Minecraft Lantern" คือโปรเจกต์ที่สร้างตะเกียงอันเป็นเอกลักษณ์จากวิดีโอเกม Minecraft ขึ้นมาใหม่ ซึ่งช่วยให้ผู้ใช้งานสามารถเปลี่ยนสีของแสงไฟเป็นเฉดสีใดก็ได้ แทนที่จะจำกัดอยู่แค่แสงสีเหลืองหรือส้มแบบมาตรฐาน

Video: https://www.youtube.com/watch?v=8wauoKaCeak

Components Required

undefined

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

  1. [Buy Now] 1 x Arduino Nano : https://s.click.aliexpress.com/e/_c4bnXuZ9
  2. [Buy Now] 2 x WS2812B 16 LEDs NeoPixel Ring : https://s.click.aliexpress.com/e/_onkX369
  3. [Buy Now] 4 x 10kΩ Rotary Potentiometer : https://s.click.aliexpress.com/e/_c34dRQBp
  4. [Buy Now] 1 x 1000µF capacitor แนะนำให้ใช้เพื่อช่วยให้แรงดันราบเรียบและป้องกันแรงดันกระชาก : https://s.click.aliexpress.com/e/_c2wubSZH
  5. [Buy Now] 1 x 100Ω Resistor ต่อแบบอนุกรมบนสาย Data เพื่อจำกัดกระแสและลดการสะท้อนของสัญญาณ : https://s.click.aliexpress.com/e/_c3S3GhXz
  6. [Buy Now] 1 x SPST Switch: https://s.click.aliexpress.com/e/_c4BLnrPN
  7. [Buy Now] 1 x 18650 Battery และ Holder : https://s.click.aliexpress.com/e/_c30JZ20T
  8. [Buy Now] 1 x TP4056 Battery Charging Module: https://s.click.aliexpress.com/e/_c2J3ccYT
  9. [Buy Now] 1 x DC-to-DC Buck Converter : https://s.click.aliexpress.com/e/_c4kyXg8b
  10. [Buy Now] Jumper Wires & Breadboard
  11. และ 3D printer สำหรับพิมพ์ enclosure

Wiring Diagram

undefined

โครงสร้างประกอบด้วย 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 ควรวางไว้ใกล้กับจุดที่ปัญหาเกิดขึ้นมากที่สุด]]

The Code

undefined

Code เริ่มต้นด้วยการรวม Adafruit NeoPixel library และกำหนดพินที่จำเป็นรวมถึงตัวแปร Global ต่างๆ

ในส่วน setup() เราจะทำการเริ่มต้นใช้งาน NeoPixel library และรันการเปลี่ยนสีแบบสายรุ้ง (rainbow cycle) ทั่วทั้งวง LED ทันทีเพื่อยืนยันว่าระบบทำงานได้ปกติ

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

ข้อควรพิจารณาที่สำคัญ

  1. การรับรู้สี (Color Perception): ความสว่างที่ต่ำเกินไปอาจทำให้สีเพี้ยนไปจากที่คาดหวัง
  2. การใช้พลังงาน (Power Consumption): ความสว่างต่ำ = ใช้พลังงานน้อยลง
  3. การเกิดความร้อน (Heat Generation): ความสว่างต่ำช่วยลดความร้อน
  4. ความสบายตา (Eye Comfort): NeoPixel ที่สว่างเกินไปอาจทำให้รู้สึกไม่สบายตาเมื่อมองตรงๆ

สุดท้าย Code จะใช้ค่าที่ได้จาก Potentiometer ที่ Map แล้วในการตั้งค่าสีของ Pixel และอัปเดตการแสดงผลของ LED สิ่งนี้ทำให้เกิดการควบคุมแบบ Real-time โดยตรงระหว่าง Potentiometer และการแสดงผลของ LED

Breadboard Testing

undefined

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

3D Design

undefined

ผมได้ออกแบบ 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 ชิ้นส่วนที่จำเป็นทั้งหมดสำหรับการประกอบ นี่คือชิ้นส่วนทั้งหมดที่ผมต้องใช้ในการประกอบเครื่องจริง

Assembly

undefined

เมื่อพิมพ์โมเดล 3D ทั้งหมดเรียบร้อยแล้ว ผมก็เริ่มประกอบอุปกรณ์อิเล็กทรอนิกส์

ผมบัดกรีสายไฟเข้ากับ Potentiometer แต่ละตัวและสวิตช์ SPST จากนั้นนำไปติดตั้งในขาตั้งที่กำหนดไว้ Potentiometer แต่ละตัวถูกยึดโดยการขันสกรูให้แน่น โดยมีสายไฟรอดผ่านรูเล็กๆ ด้านข้างขาตั้ง ในทำนองเดียวกัน สวิตช์ถูกกดเข้าไปในช่อง และสายไฟถูกร้อยผ่านช่องสายไฟที่ตรงกัน

ถัดมา ผมโฟกัสไปที่ส่วนวงจรชาร์จแบตเตอรี่ ผมบัดกรีแบตเตอรี่เข้ากับพอร์ต B+ และ B- ของ Module ชาร์จ TP4056 ใช้สายไฟสีน้ำเงินเชื่อมต่อ OUT- ของ TP4056 เข้ากับ VIN- ของ Buck Converter ในขณะที่สวิตช์ SPST ถูกต่อเพื่อควบคุมการเชื่อมต่อระหว่างขั้ว OUT+ และ VIN+

เมื่อการเชื่อมต่อเหล่านี้เสร็จสิ้น ผมได้ติดตั้งอุปกรณ์จ่ายไฟลงในฐานของตัวเครื่อง Module TP4056 ถูกยึดด้วยกาวตราช้างโดยใช้ตัวล็อกหลังจากเลื่อนเข้าที่แล้ว และผมยังใช้กาวตราช้างยึดขาตั้งที่ถือสวิตช์เปิด-ปิดเข้ากับฐานด้วย

สำหรับระบบควบคุม ผมบัดกรีอุปกรณ์ที่จำเป็นทั้งหมดสำหรับ Arduino ลงบน Perfboard แม้ว่าการติดตั้งอาจดูยุ่งเหยิง แต่เมื่อประกอบเสร็จทุกอย่างจะถูกปิดมิดชิด จากนั้นผมใช้ปืนกาวร้อนยึดวงแหวน NeoPixel สองวงเข้าตำแหน่ง วงแรกที่ฐานและวงที่สองที่ด้านบน หลังจากยึดขาตั้งอันที่ 2 ด้วยกาวตราช้างแล้ว ผมก็ซ่อนอุปกรณ์อิเล็กทรอนิกส์โดยการติด "ฝาครอบข้าง" ด้วยกาวตราช้าง

ก่อนที่จะติดตั้งแผ่น Perspex ผมได้ทาสีตัวตะเกียงด้วยสีอะคริลิกสีดำ เมื่อสีแห้งแล้ว ผมจึงใส่แผ่น Perspex และใช้กาวตราช้างยึดส่วนบนเข้าที่เพื่อปิดงาน

Demo

undefined

และนี่คือหน้าตาของผลงานที่เสร็จสมบูรณ์ของผมครับ

นี่เป็นวิธีการคลาสสิกในการสร้างโปรเจกต์แบบโต้ตอบ (interactive) ที่คุณหมุนปุ่มเพื่อเปลี่ยนพฤติกรรมของแสงไฟ Microcontroller จะอ่านตำแหน่งของ Potentiometer แปลงเป็นค่า แล้วใช้ค่านั้นเพื่อเปลี่ยนบางอย่างของ NeoPixel (เช่น ความสว่าง สี หรือความเร็ว)

โปรเจกต์นี้ช่วยส่งเสริมให้เด็กๆ ได้ทดลองกับแม่สีเพื่อดูว่าพวกเขาสามารถสร้างเฉดสีใหม่ๆ อะไรได้บ้าง

บอกให้ผมรู้หน่อยนะครับว่าคุณคิดอย่างไร

อย่าลืมกด Like, Share และ Comment หากคุณมีข้อเสนอแนะในการปรับปรุง!

Thanks

ขอบคุณอีกครั้งที่เข้ามาชมโพสต์ของผม หวังว่ามันจะมีประโยชน์กับคุณนะครับ

หากคุณต้องการสนับสนุนผม สามารถกดติดตาม YouTube Channel ได้ที่: https://www.youtube.com/@CrazyCoupleDIY

  1. Video: https://youtu.be/8wauoKaCeak
  2. Full Blog Post: https://diyfactory007.blogspot.com/2025/10/Minecraft-Lantern.html
  3. Github: https://github.com/tarantula3/RGB-Minecraft-Lantern

Support My Work

  1. BTC: 1Hrr83W2zu2hmDcmYqZMhgPQ71oLj5b7v5
  2. LTC: LPh69qxUqaHKYuFPJVJsNQjpBHWK7hZ9TZ
  3. DOGE: DEU2Wz3TK95119HMNZv2kpU7PkWbGNs9K3
  4. ETH: 0xD64fb51C74E0206cB6702aB922C765c68B97dCD4
  5. BAT: 0x9D9E77cA360b53cD89cc01dC37A5314C0113FFc3
  6. LBC: bZ8ANEJFsd2MNFfpoxBhtFNPboh7PmD7M2
  7. COS: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23 Memo: 572187879
  8. BNB: 0xD64fb51C74E0206cB6702aB922C765c68B97dCD4
  9. MATIC: 0xD64fb51C74E0206cB6702aB922C765c68B97dCD4

ขอบคุณครับ แล้วพบกันใหม่ใน Tutorial หน้า

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: a-color-adjustable-minecraft-lantern-13dc79
2450 บาท
PromptPay QR Code