ก่อนจะเริ่มเล่นกับไฟ RGB LED สวยๆ น้องต้องรู้จักขาของมันก่อน ตามนี้เลย
DATASHEETLEDRGB

สำหรับโปรเจกต์ที่พี่ทำนี้ พี่ใช้ RGB LED แบบแคโทดร่วม (Common Cathode) นะ
- ต่อขา R (แดง) เข้ากับขา 6 บนบอร์ด Arduino
- ต่อขา GND เข้ากับขา GND บนบอร์ด Arduino
- ต่อขา G (เขียว) เข้ากับขา 5 บนบอร์ด Arduino
- ต่อขา B (น้ำเงิน) เข้ากับขา 3 บนบอร์ด Arduino
- และสุดท้าย อัพโหลดโค้ดไปเลยจ้า :)

ถ้าต่อตามนี้เป๊ะๆ ผลลัพธ์ที่ได้ก็จะประมาณนี้แหละน้อง อย่าลืมตรวจสอบการต่อให้ดีนะ ไฟจะได้ไม่ช็อต!
รายละเอียดเทคนิค: การผสมสีด้วย PWM
โปรเจกต์นี้เราได้เล่นกับฟิสิกส์ของแสงผ่านการมอดูเลตความกว้างพัลส์แบบดิจิทัล (PWM) กันเลย
- การแมปเอาต์พุตแบบอนาล็อก: Arduino ส่งสัญญาณ PWM 8-bit (ค่าตั้งแต่ 0-255) ไปยังขาแดง เขียว และน้ำเงินของ LED เรา โดยการปรับค่า Duty Cycle (ความสว่าง) ของแต่ละสีแยกกัน เราก็จะสามารถผสมสีได้เป็นล้านๆ สีเลยทีเดียว
- อัลกอริทึมการฟีดสีแบบไดนามิก: ในโค้ดเราสามารถเขียนลูป "Color Loop" ที่วนผ่านค่าสีในระบบ HSL (Hue, Saturation, Lightness) ได้ ทำให้สีเปลี่ยนแบบลื่นๆ เหมือนสายรุ้ง แทนที่จะกระโดดเปลี่ยนสีทันที
การปรับแต่งขั้นสูง
- การแก้ไขแกมม่า: สำหรับเวอร์ชันขั้นสูงของโปรเจกต์นี้ เราสามารถใช้ตารางค้นหา (Lookup Table) เพื่อทำการแก้ไขแกมม่าได้ ซึ่งจะช่วยชดเชยการรับรู้ความสว่างของตามนุษย์ที่ไม่ได้เป็นเชิงเส้น ทำให้การฟีดสีและการหรี่ไฟดูเนียนและเป็นธรรมชาติขึ้นมาก
ขอบคุณที่สละเวลามาลองทำโปรเจกต์ของพี่นะ น้องๆ ชอบกันมั้ยเอ่ย :)
นี่เป็นครั้งแรกที่พี่อัพโหลดโปรเจกต์ที่นี่ ถ้าขาดตกบกพร่องอะไรก็ขออภัยด้วยนะวัยรุ่น