HONEYLemon แพลตฟอร์ม อิเล็กทรอนิกส์ อัจฉริยะ
SHOP
  • ฮันนี่เลม่อน แพลตฟอร์ม
  • BOARD [ บอร์ด ]
    • Lemon : MASTER V1
    • Lemon : Lemon32
  • บทความแนะนำการใช้งาน
    • การติดตั้ง Arduino Library HONEYLemon
    • BASIC การใช้งานพื้นฐาน
      • [BASIC] 001 Debug (ดีบัก)
      • [BASIC] 002 Button (ปุ่มกด)
      • [BASIC] 003 SET LED COLOR RGB (เปลี่ยนสีไฟ RGB LED)
      • [BASIC] 004 SOUND TONE BUZZER (เสียงดนตรี)
      • [BASIC] 005 SOUND PLAY JINGLE BELLS (เล่นเพลง จิงเกิลเบลส์)
      • [BASIC] 006 MICRO SD CARD (ไฟล์บนไมโครเอสดีการ์ด)
      • [BASIC] 007 WiFi SETUP WiFi (ต่อเน็ต)
      • [BASIC] 008 TIME GET DATETIME (วันเวลา)
      • [BASIC] 009 TIME GET DATE (วัน)
      • [BASIC] 010 TIME GET TIME (เวลา)
      • [BASIC] 011 LINE NOTIFY (แจ้งเตือนผ่านไลน์)
      • [BASIC] 012 SERVO SWEEP (เซอร์โว)
      • [BASIC] 013 ESP NOW (ส่งข้อมูลระหว่างบอร์ด)
Powered by GitBook
On this page

Was this helpful?

  1. บทความแนะนำการใช้งาน
  2. 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

/*
    Basic : การเขียนโปรแกรมกับการใช้งานไฟ LED RGB บนบอร์ดไมโครคอนโทรลเลอร์ HONEYLemon
*/
#include <HONEYLemon.h>

void setup()
{
    lemon.begin();          // เรียกใช้งานฟังก์ชั่นเริ่มต้นของบอร์ด HONEYLemon

    Serial.begin(115200);   // เรียกใช้งาน Serial
    lemon.debug(Serial);    // ขอดู debug ของบอร์ด HONEYLemon ผ่าน Serial

    lemon.setBrightnessLED(50); // สำหรับปรับความสว่าง 0-255
}

void loop()
{
    /*
        setColorLED(
            0,      // ใส่ 0 สำหรับทุกหลอด หรือระบุ 1,2,3,4,5,6 สำหรับสั่งงานเฉพาะหลอดนั้นๆ
            255,    // สำหรับตั้งค่าแสงสีแดง 0-255
            255,    // สำหรับตั้งค่าแสงสีเขียว 0-255
            255     // สำหรับตั้งค่าแสงสีน้ำเงิน 0-255
        );
    */
    lemon.setColorLED(0,255,0,0);   // สั่งให้ทุกหลอดแสดงสีแดง
    delay(1000);    // รอ 1000 มิลลิวินาที (1 วินาที)

    lemon.setColorLED(0,0,255,0);   //สั่งให้ทุกหลอดแสดงสีเขียว
    delay(1000);    // รอ 1000 มิลลิวินาที (1 วินาที)

    lemon.setColorLED(0,0,0,255);   //สั่งให้ทุกหลอดแสดงสีน้ำเงิน
    delay(1000);    // รอ 1000 มิลลิวินาที (1 วินาที)
}

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

Previous[BASIC] 002 Button (ปุ่มกด)Next[BASIC] 004 SOUND TONE BUZZER (เสียงดนตรี)

Last updated 4 years ago

Was this helpful?