跳到主要內容
物聯網 / 三色 RBG LED

三色 RGB LED 是由紅、綠、藍三種不同顏色的 LED 所組成,通過調整這三種顏色的亮度,可以創造出各種不同的顏色。

三色 RBG LED 有四個接腳,三隻接腳分別為 RGB 的腳位及一個共同腳,共同腳有共陰極和共陽極兩種。共陰極的 LED,則共同腳要接 GND,共陽極的 LED,則共同腳要接 VCC,才能使其發光。

led

 

本範例使用共陽極的 LED(每一種顏色光的亮度最大值為 0,最小值為 255 ,共陰極 LED 則相反(每一種顏色光的亮度最大值為 255,最小值為 0 )。
● 四根接腳中最長的 VCC 連接至 3.3V 的位置(避免電壓過高,或接上電阻)
紅色接腳連接至 NodeMCU D6(GPIO 12)腳位
● 綠色接腳連接至 NodeMCU D7(GPIO 13)腳位
● 藍色接腳連接至 NodeMCU D8(GPIO 15)腳位

#define LED_RED       D6    // 紅色 LED 接脚(D6 or 12)
#define LED_GREEN  D7    // 綠色 LED 接腳(D7 or 13)
#define LED_BLUE     D8    // 藍色 LED 接腳(D8 or 15)
 
void setup()
{
     pinMode(LED_RED , OUTPUT);      // 設置 LED_RED 接腳為輸出模式
     pinMode(LED_GREEN, OUTPUT);  // 設置 LED_GREEN 接腳為輸出模式
     pinMode(LED_BLUE, OUTPUT);     // 設置 LED_BLUE 接腳為輸出模式
}
 
void loop()
{
     int i;
 
     setColor(0, 255, 255);  // 红色燈
     delay(1000);                 // 延時一秒
     setColor(255, 0, 255);  // 綠色燈
     delay(1000);                // 延時一秒
     setColor(255, 255, 0); // 藍色燈
     delay(1000);                // 延時一秒*/
 
     setColor(0, 0, 255);  // 黄色燈(紅色混綠色)
     delay(1000);             // 延時一秒
     setColor(0, 255, 0);  // 紫色燈(紅色混藍色)
     delay(1000);             // 延時一秒
     setColor(255, 0, 0);  // 青色燈(綠色混藍色)
     delay(1000);             // 延時一秒
     setColor(0, 0, 0);      // 白色燈
     delay(1000);             // 延時一秒
 
     // 由紅色漸近到黃色
     for (i = 255; i >= 0; i--)
     { 
         setColor(0, i, 255);
         delay(10);
     } 
 
     // 由黃色漸近到紅色
     for (i = 0; i <= 255; i++)
     { 
         setColor(0, i, 255);
        delay(10);
     } 
 
     setColor(255, 255, 255);     // 關閉 LED
     delay(1000);                        // 延時一秒
}
 
void setColor(int red, int green, int blue)
{
     analogWrite(LED_RED, red);            // 設置紅色的亮度
     analogWrite(LED_GREEN, green);  // 設置綠色的亮度
     analogWrite(LED_BLUE, blue);        // 設置藍色的亮度
}

youtube

消息公佈欄

時間類別單位標題發佈點閱
跳至網頁頂部