A04. RGB LED 顏色變化

專案說明

使用三根數位腳位來控制 RGB LED 的顏色變化

電路圖

  • 麵包板

  • RGB LED (共陽極) (RGB = Red, Green, Blue, 為光的三原色)

  • 杜邦線

此範例使用的 RGB LED 為共陽極 LED, 由下圖 腳位1 的接到 3.3V 的電源, 腳位 2 / 3 / 4 接到數位輸出腳位

  • 當 2 / 3 / 4 的腳位拉高到 3.3V, 電流就不會流過, LED 就不會點亮

  • 當 2 / 3 / 4 的腳位拉低, 電流就會流過, LED 就會點亮

(圖片由 Fritzing 產生, LinkIt 7697 fritzing 下載)

積木畫布

控制數位寫入腳位的高低電位來控制 RBG 三色的亮度. 此範例使用的是共陽極三色LED, 所以該顏色對應的腳位是低電位狀態, 電流才會流過並發亮

void setup()
{
  pinMode(15, OUTPUT);
  pinMode(16, OUTPUT);
  pinMode(17, OUTPUT);
}

void loop()
{
  digitalWrite(15, LOW);
  digitalWrite(16, HIGH);
  digitalWrite(17, HIGH);
  delay(1000);

  digitalWrite(15, LOW);
  digitalWrite(16, LOW);
  digitalWrite(17, HIGH);
  delay(1000);

  digitalWrite(15, LOW);
  digitalWrite(16, LOW);
  digitalWrite(17, LOW);
  delay(1000);
}

衍伸學習 : 三原色混色

透過 RBG 三原色的混色, 可以混出不同的顏色, 可嘗試調整範例中數位腳位的高低電位, 來觀察顏色的變畫, 可以產生以下七種顏色組合.

衍伸學習 : 千變萬化的顏色

可以將數位寫入改成類比寫入, 讓 RGB 三原色各有 256 種電壓 (0~255) 輸出組合,可以呈現 256x256x256 = 16,777,216 (一千六百多萬) 種的顏色組合變化.

此範例讓 RGB 三色每秒會隨機取得 0~255 的數值

隨機積木產生出來的值, 會介於 "最小" ~ "最大-1" 之間.

下面這範例 會產生的數值是 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 並不包含 10

衍伸學習: 共陰極 RGB LED

另外還有一種 RGB LED 是共陰極 LED, 電流會從下圖的 P15,16,17 輸出, 透過共用的陰極腳位回到 GND

Last updated