Arduino/[2] Arduino Module
[Arduino Module] #10. RGB
old-cast1e
2022. 3. 10. 01:32
728x90
반응형
RGB Module
RGB LED
- | GND |
R | 11 |
G | 10 |
B | 9 |
RGB BLINK 예제
long pm_3[3] = {0,};
long md_3[3] = {1000,2000,3000};
const int RGB[3] = {9,10,11};
int RGBS[3] = {LOW,LOW,LOW};
void turnoff(){
digitalWrite(RGB[0],LOW);
digitalWrite(RGB[1],LOW);
digitalWrite(RGB[2],LOW);
}
void setup(){
for(int i=0;i<=2;i++){
pinMode(RGB[i],OUTPUT);
}
}
void loop(){
for(int i=0;i<3;i++){
digitalWrite(RGB[i],HIGH);
delay(1000);
turnoff();
}
}
RGB FADDING 예제
long pm_3[3] = {0,};
long md_3[3] = {1000,2000,3000};
const int RGB[3] = {9,10,11};
int RGBS[3] = {LOW,LOW,LOW};
void RGBblink_setup(){
for(int i=0;i<=2;i++){
pinMode(RGB[i],OUTPUT);
}
}
void RGBblink_loop(){
unsigned long n = millis();
for(int i=0;i<=2;i++){
if (n - pm_3[i] >= md_3[i]){
pm_3[i] = n;
digitalWrite(RGB[i],RGBS[i]=(RGBS[i]==LOW?HIGH:LOW));
}
}
}
RGB는 3가지 LED 색상을 출력 형태로 가지며 아날로그 출력과 디지털 출력을 모두 할 수 있도록 PWM핀으로 선언하는 것이 좋다.
여러 색 출력하기
ㅁnalogWrite를 이용해 여러 색을 표현할 수 있다.
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{
setColor(255, 0, 0); // red
delay(1000);
setColor(0, 255, 0); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
setColor(255, 255, 0); // yellow
delay(1000);
setColor(80, 0, 80); // purple
delay(1000);
setColor(0, 255, 255); // aqua
delay(1000);
}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
728x90
반응형