/*
基本元件: RGB LED
功能 : 依序亮紅綠藍各1秒
*/
// #define redPin 2
// #define greenPin 4
// #define bluePin 5
// void setColor(uint8_t redValue, uint8_t greenValue, uint8_t blueValue){
// analogWrite(redPin, redValue);
// analogWrite(greenPin, greenValue);
// analogWrite(bluePin, blueValue);
// }
// void setup() {
// pinMode(redPin, OUTPUT);
// pinMode(greenPin, OUTPUT);
// pinMode(bluePin, OUTPUT);
// }
// void loop() {
// setColor(255, 0, 0); delay(1000);
// setColor(0, 255, 0); delay(1000);
// setColor(0, 0, 255); delay(1000);
// }
/*
基本元件: RGB LED
功能 : 彩虹霓虹燈
*/
// 彩虹 #FF0000 #FF6600 #FFFF00 #00FF00 #0000FF #00FFFF #FF00FF
#define redPin 2
#define greenPin 4
#define bluePin 5
void setColor(uint8_t redValue, uint8_t greenValue, uint8_t blueValue){
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
// 彩虹 #FF0000 #FF6600 #FFFF00 #00FF00 #0000FF #00FFFF #FF00FF
void loop(){
setColor(0xFF, 0x00, 0x00);delay(1000);
setColor(0xFF, 0x66, 0x00);delay(1000);
setColor(0xFF, 0xFF, 0x00);delay(1000);
setColor(0x00, 0xFF, 0x00);delay(1000);
setColor(0x00, 0x00, 0xFF);delay(1000);
setColor(0x00, 0xFF, 0xFF);delay(1000);
setColor(0xFF, 0x00, 0xFF);delay(1000);
}
/*
基本元件: RGB LED
功能 : 共陰極、共陽極條件編譯
*/
// 共陰極、共陽極設定
#define hardwareConfig 1 //COMMON_ANODE=1 COMMON_CATHODE=0
uint8_t T(uint8_t value){
// 條件編譯
#if hardwareConfig
// 共陽極
return ~value; // 255-value
#else
// 共陰極
return value;
#endif
}
// 彩虹 #FF0000 #FF6600 #FFFF00 #00FF00 #0000FF #00FFFF #FF00FF
#define redPin 2
#define greenPin 4
#define bluePin 5
void setColor(uint8_t redValue, uint8_t greenValue, uint8_t blueValue){
analogWrite(redPin, T(redValue));
analogWrite(greenPin, T(greenValue));
analogWrite(bluePin, T(blueValue));
}
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
// 彩虹 #FF0000 #FF6600 #FFFF00 #00FF00 #0000FF #00FFFF #FF00FF
void loop(){
setColor(0xFF, 0x00, 0x00);delay(1000);
setColor(0xFF, 0x66, 0x00);delay(1000);
setColor(0xFF, 0xFF, 0x00);delay(1000);
setColor(0x00, 0xFF, 0x00);delay(1000);
setColor(0x00, 0x00, 0xFF);delay(1000);
setColor(0x00, 0xFF, 0xFF);delay(1000);
setColor(0xFF, 0x00, 0xFF);delay(1000);
}