[BASIC] 003 SET LED COLOR RGB (เปลี่ยนสีไฟ RGB LED)
สวัสดีครับ สำหรับหัวข้อบทเรียนพื้นฐานบนบอร์ด HONEYLemon ที่ใช้งานผ่าน arduino library โดยเป็นการใช้งานเกี่ยวกับแสงสี เพื่อให้ความง่ายในการแสดงสีสันนั้นใช้เพียงฟังก์ชั่นเดียวก็สามารถแสดงผลได้หลากหลายแสดงสีเลยทีเดียว
คำสั่งที่เกี่ยวข้อง lemon. setBrightnessLED() // เป็นการตั้งค่าความสว่างได้ตั้งแต่ 0-255 (0-100%) lemon. setColorLED() // เป็นการสั่งให้หลอดเปลี่ยนสีไฟตามต้องการ
สำหรับการตั้งค่าความสว่างโดยรวมเรามักจะใช้คำสั่งนี้ตั้งแต่ขั้นตอนของการ setup ฟังก์ชั่น ดังนี้
1
void setup(){
2
...
3
lemon.setBrightnessLED(50); // ปรับความสว่างที่ 50 (0-255)
4
...
5
}
Copied!
และเมื่อเราต้องการปรับสีของหลอดแต่ละหลอดเราจะใช้คำสั่ง
1
lemon.setColorLED( no_led , lv_red , lv_green , lv_blue );
2
// no_led เช่น 1,2,3,4,5,6
3
// lv_red เป็นการระบุว่าต้องการแสดงสีแดงเท่าไหร่ (0-255)
4
// lv_green เป็นการระบุว่าต้องการแสงสีเขียวเท่าไหร่ (0-255)
5
// lv_blue เป็นการระบุว่าต้องการแสงสีน้ำเงินเท่าไหร่ (0-255)
Copied!
ตัวอย่างการใช้งาน ต้องการสีแดงที่หลอดไฟ LED 1
1
lemon.setColorLED( 1, 255, 0, 0); // ให้หลอดที่ 1 เป็นสีแดง
Copied!
ดังนั้นถ้าต้องการให้สีแดงทุกหลอดจะเขียนได้อย่างไรบ้าง
1
// แบบที่ 1 สายถึก
2
lemon.setColorLED( 1, 255, 0, 0); // ให้หลอดที่ 1 เป็นสีแดง
3
lemon.setColorLED( 2, 255, 0, 0); // ให้หลอดที่ 2 เป็นสีแดง
4
lemon.setColorLED( 3, 255, 0, 0); // ให้หลอดที่ 3 เป็นสีแดง
5
lemon.setColorLED( 4, 255, 0, 0); // ให้หลอดที่ 4 เป็นสีแดง
6
lemon.setColorLED( 5, 255, 0, 0); // ให้หลอดที่ 5 เป็นสีแดง
7
lemon.setColorLED( 6, 255, 0, 0); // ให้หลอดที่ 6 เป็นสีแดง
Copied!
1
// แบบที่ 2 สายลูบ
2
for(int i=1;i<=6;i++){
3
lemon.setColorLED( i, 255, 0, 0); // ให้เป็นสีแดงทีละหลอดเริ่มจากหลอดที่ 1-6
4
}
Copied!
ซึ่งจริงๆ แล้วหากต้องการทุกหลอดสีเดียวกันจริงๆ ไม่จำเป็นต้องเขียนเยอะขนาดนี้ เพียงใส่ no_led เป็น 0 เท่านั้นเอง จะได้แบบนี้ ซึ่งจะให้ผลแบบเดียวกันเลย
1
lemon.setColorLED( 0, 255, 0, 0); // สีแดงทุกหลอดไปเลยจ้าาาา
Copied!
และทั้งหมดนั้นถูกเขียนไว้เป็นตัวอย่างพื้นฐานแล้วตามตัวอย่าง source code ด้านล่างเลยครับ
ตัวอย่าง source code
1
/*
2
Basic : การเขียนโปรแกรมกับการใช้งานไฟ LED RGB บนบอร์ดไมโครคอนโทรลเลอร์ HONEYLemon
3
*/
4
#include <HONEYLemon.h>
5
6
void setup()
7
{
8
lemon.begin(); // เรียกใช้งานฟังก์ชั่นเริ่มต้นของบอร์ด HONEYLemon
9
10
Serial.begin(115200); // เรียกใช้งาน Serial
11
lemon.debug(Serial); // ขอดู debug ของบอร์ด HONEYLemon ผ่าน Serial
12
13
lemon.setBrightnessLED(50); // สำหรับปรับความสว่าง 0-255
14
}
15
16
void loop()
17
{
18
/*
19
setColorLED(
20
0, // ใส่ 0 สำหรับทุกหลอด หรือระบุ 1,2,3,4,5,6 สำหรับสั่งงานเฉพาะหลอดนั้นๆ
21
255, // สำหรับตั้งค่าแสงสีแดง 0-255
22
255, // สำหรับตั้งค่าแสงสีเขียว 0-255
23
255 // สำหรับตั้งค่าแสงสีน้ำเงิน 0-255
24
);
25
*/
26
lemon.setColorLED(0,255,0,0); // สั่งให้ทุกหลอดแสดงสีแดง
27
delay(1000); // รอ 1000 มิลลิวินาที (1 วินาที)
28
29
lemon.setColorLED(0,0,255,0); //สั่งให้ทุกหลอดแสดงสีเขียว
30
delay(1000); // รอ 1000 มิลลิวินาที (1 วินาที)
31
32
lemon.setColorLED(0,0,0,255); //สั่งให้ทุกหลอดแสดงสีน้ำเงิน
33
delay(1000); // รอ 1000 มิลลิวินาที (1 วินาที)
34
}
Copied!
VDO ตัวอย่างจาก source code
Last modified 1yr ago
Copy link