http://yehnan.blogspot.com/2013/01/arduinorgb-led.html
一開始不會亮喔,我試了很久,怕接反會燒掉,後來還是試了,的確要把它給接反(最長那根改通電3.3V) 但雖然可以亮,我要馬還是亮錯顏色,且顏色會和在一起,這個問題該不會是燈泡壞了吧 = =
後來看到這句話
RGB LED有四支腳,我買的是共陰極,其中最長的腳要接地,其他三支腳分別控制R、G、B色彩。
看來搜尋看看共陽極好了! 我找到這個MT7697搭配blocklyduino的教學
https://docs.labs.mediatek.com/linkit-7697-blocklyduino/a04-rgb-led-12879766.html
腳位1 的接到 3.3V 的電源, 腳位 2 / 3 / 4 接到數位輸出腳位
|
所以,不會亮把它改成此教學的範例即可。
因此,共陽極要改變顏色的輸出變化,也是要用255減掉(改自葉難教學)
#define LEDR 15
#define LEDG 16
#define LEDB 17
void setup() {
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
pinMode(LEDB, OUTPUT);
RGB_Led(0,0,0); //turnOff
}
void RGB_Led(int r, int g, int b) {
analogWrite(LEDR, 255 - r);
analogWrite(LEDG, 255 - g);
analogWrite(LEDB, 255 - b);
}
// 每隔一秒改變LED的顏色,紅、綠、藍
void loop() {
RGB_Led(0,0,0); //turnOff
RGB_Led(255,0,0); //Red
delay(1000);
RGB_Led(0,0,0); //turnOff
RGB_Led(0,255,0); //Green
delay(1000);
RGB_Led(0,0,0); //turnOff
RGB_Led(0,0,255); //Blue
delay(1000);
}
希望有幫助到大家,有問題歡迎留言喔
沒有留言:
張貼留言