#define LED_RED 13 //赤LED PIN番号
#define LED_BLUE 9 //青LED PIN番号
#define LED_GREEN 12 //緑LED PIN番号
#define LED_RED_TIME 5 //赤LED 周期
#define LED_BLUE_TIME 6 //青LED 周期
#define LED_GREEN_TIME 7 //緑LED 周期
int red = 0, blue = 0, green = 0;
int f_red = 0, f_blue = 0, f_green = 0;
// 初期化
void setup() {
// LEDのピンを出力に
pinMode(LED_RED, OUTPUT);
pinMode(LED_BLUE, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
}
// メインループ
void loop() {
if (f_red == 0) {
red = red + LED_RED_TIME;
if (red >= 250) {
f_red = 1;
}
}
else {
red = red - LED_RED_TIME;
if (red <= 0) {
f_red = 0;
}
}
analogWrite(LED_RED, red);
delay(50);
if (f_blue == 0) {
blue = blue + LED_BLUE_TIME;
if (blue >= 200) {
f_blue = 1;
blue=200;
}
}
else {
blue = blue - LED_BLUE_TIME;
if (blue <= 0) {
f_blue = 0;
blue=0;
}
}
analogWrite(LED_BLUE, blue);
delay(30);
if (f_green == 0) {
green = green + LED_GREEN_TIME;
if (green >= 200) {
f_green = 1;
green=200;
}
}
else {
green = green - LED_GREEN_TIME;
if (green <= 0) {
f_green = 0;
green=0;
}
}
analogWrite(LED_GREEN, green);
delay(20);
}