Arduino UNO R3キットをベースにRGB三色ライトケースを実装しました。この完全なキットには、RGB 3 色のライトが統合されたデバイスが含まれています。
RGB 3 色ランプの回路原理については、インターネットで直接検索できるので、ここでは詳しく説明しません。次にRGB3色ライトの例です。
RGB 3 色ライト - 流水ライト効果:
#define RED 12
#define GREEN 8
#define BLUE 7
void red(void);
void green(void);
void blue(void);
void setup() {
// put your setup code here, to run once:
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, LOW);
digitalWrite(RED, LOW);
digitalWrite(RED, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
red();
delay(1000);
green();
delay(1000);
blue();
delay(1000);
}
void red(void)
{
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}
void green(void)
{
digitalWrite(RED, LOW);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, LOW);
}
void blue(void)
{
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, HIGH);
}
RGB 3 色の光 - 呼吸する光の効果:
#define LED_red 11
#define LED_green 10
#define LED_blue 9
void breath(int pin);
void setup() {
// put your setup code here, to run once:
pinMode(LED_red, OUTPUT);
pinMode(LED_green, OUTPUT);
pinMode(LED_blue, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
breath(LED_red);
breath(LED_green);
breath(LED_blue);
}
void breath(int pin)
{
for(int i = 0; i <= 255; i++)
{
analogWrite(pin, i);
delay(5);
}
for(int i = 255; i >= 0; i--)
{
analogWrite(pin, i);
delay(5);
}
delay(100);
}
ここで皆さんに思い出していただきたいのですが、Arduino UNO ボードには pwm 出力ポートがあります。それに注意する必要があります。ここでは、pwm に特別に使用される、analogWrite(int pin, int value) 関数を使用します。 Arduino 関数ライブラリのデバッグ出力。