ESP32, IOT物聯網

【IOT物聯網應用-ESP32】第十三篇:酷炫多彩 RGB LED燈

實驗說明:

  • 本文將使用ESP32自製DIY七彩超酷LED燈。
  • RGB LED有四支腳,本實驗使用的是共陰極,其中最長的腳要接地,其他三支腳分別控制R、G、B色彩。
  • 使用ESP32腳位GPIO15、16、17能輸出PWM,所以可調整三原色的個別強度,形成更多的色彩。

材料:

  • ESP32-E DevKit
  • USB 傳輸線
  • RGB LED
  • 麵包板
  • 麵包板跳線

▼ 購買IoT物聯網學習教材:

ESP32 物聯網應用學習套件 ESP32CAM IoT物聯網學習教材 適用Arduino

 

 

▼注意:假如使用下列程式碼發生編譯錯誤,則表示您目前安裝的ESP32函式庫較為新版,請務必將「#include <analogWrite.h>」這一行移除並重新編譯,則可編譯成功並正常運行。

程式:

#include <analogWrite.h> 
int redPin = 15;    // R 紅色LED控制腳 連接到ESP32的 GPIO15
int greenPin = 17;  // G 綠色LED控制腳 連接到ESP32的 GPIO17
int bluePin = 16;   // B 藍色LED控制腳 連接到ESP32的 GPIO16 
void setup()    
{   
        pinMode(redPin, OUTPUT);   //設置redPin對應的管腳GPIO15為輸出
        pinMode(greenPin, OUTPUT); //設置greenPin對應的管腳GPIO17為輸出
        pinMode(bluePin, OUTPUT);  //設置bluePin對應的管腳GPIO16為輸出
}    
      
void loop()  
{    
     
        // Basic colors:  
        color(255, 0, 0); // 红色亮
        delay(1000); //延時一秒 
        color(0,255, 0); //綠色亮
        delay(1000); //延時一秒
        color(0, 0, 255); //藍色亮  
        delay(1000); //延時一秒
  
        // Example blended colors:  
        color(255,255,0); // 黄色亮
        delay(1000); //延時一秒      
        color(128,0,255); // 紫色亮  
        delay(1000); //延時一秒
        color(255,255,255); // 白色亮  
        delay(1000); //延時一秒
        color(0,0,0); // 關閉led  
        delay(1000); //延時一秒  
        
}  

//顏色控制函數
void color (unsigned char red, unsigned char green, unsigned char blue)
{    
        analogWrite(redPin, red);   
        analogWrite(greenPin,green); 
        analogWrite(bluePin, blue); 
} 


 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章