basic

[BASIC] 003 SET LED COLOR RGB (เปลี่ยนสีไฟ RGB LED)

สวัสดีครับ สำหรับหัวข้อบทเรียนพื้นฐานบนบอร์ด HONEYLemon ที่ใช้งานผ่าน arduino library โดยเป็นการใช้งานเกี่ยวกับแสงสี เพื่อให้ความง่ายในการแสดงสีสันนั้นใช้เพียงฟังก์ชั่นเดียวก็สามารถแสดงผลได้หลากหลายแสดงสีเลยทีเดียว

คำสั่งที่เกี่ยวข้อง
lemon. setBrightnessLED() // เป็นการตั้งค่าความสว่างได้ตั้งแต่ 0-255 (0-100%)
lemon. setColorLED() // เป็นการสั่งให้หลอดเปลี่ยนสีไฟตามต้องการ

สำหรับการตั้งค่าความสว่างโดยรวมเรามักจะใช้คำสั่งนี้ตั้งแต่ขั้นตอนของการ setup ฟังก์ชั่น ดังนี้

void setup(){
...
    lemon.setBrightnessLED(50); // ปรับความสว่างที่ 50 (0-255)
...
}

และเมื่อเราต้องการปรับสีของหลอดแต่ละหลอดเราจะใช้คำสั่ง

lemon.setColorLED( no_led , lv_red , lv_green , lv_blue );
// no_led เช่น 1,2,3,4,5,6
// lv_red เป็นการระบุว่าต้องการแสดงสีแดงเท่าไหร่ (0-255)
// lv_green เป็นการระบุว่าต้องการแสงสีเขียวเท่าไหร่ (0-255)
// lv_blue เป็นการระบุว่าต้องการแสงสีน้ำเงินเท่าไหร่ (0-255)

ตัวอย่างการใช้งาน ต้องการสีแดงที่หลอดไฟ LED 1

lemon.setColorLED( 1, 255, 0, 0); // ให้หลอดที่ 1 เป็นสีแดง

ดังนั้นถ้าต้องการให้สีแดงทุกหลอดจะเขียนได้อย่างไรบ้าง

// แบบที่ 1 สายถึก
lemon.setColorLED( 1, 255, 0, 0); // ให้หลอดที่ 1 เป็นสีแดง
lemon.setColorLED( 2, 255, 0, 0); // ให้หลอดที่ 2 เป็นสีแดง
lemon.setColorLED( 3, 255, 0, 0); // ให้หลอดที่ 3 เป็นสีแดง
lemon.setColorLED( 4, 255, 0, 0); // ให้หลอดที่ 4 เป็นสีแดง
lemon.setColorLED( 5, 255, 0, 0); // ให้หลอดที่ 5 เป็นสีแดง
lemon.setColorLED( 6, 255, 0, 0); // ให้หลอดที่ 6 เป็นสีแดง
// แบบที่ 2 สายลูบ
for(int i=1;i<=6;i++){
    lemon.setColorLED( i, 255, 0, 0); // ให้เป็นสีแดงทีละหลอดเริ่มจากหลอดที่ 1-6
}

ซึ่งจริงๆ แล้วหากต้องการทุกหลอดสีเดียวกันจริงๆ ไม่จำเป็นต้องเขียนเยอะขนาดนี้ เพียงใส่ no_led เป็น 0 เท่านั้นเอง จะได้แบบนี้ ซึ่งจะให้ผลแบบเดียวกันเลย

lemon.setColorLED( 0, 255, 0, 0); // สีแดงทุกหลอดไปเลยจ้าาาา

และทั้งหมดนั้นถูกเขียนไว้เป็นตัวอย่างพื้นฐานแล้วตามตัวอย่าง source code ด้านล่างเลยครับ

ตัวอย่าง source code

vdo ตัวอย่างจาก source code

Comments are closed.