먼가 회로가 잔뜩 추가된 상황.. 330옴으로 해주니 생각외로 엄청 밝다.
회로 다 꾸미고 나니.. 발견된 1k옴.. ㅠㅠ 아놔...
신기하게(?) D9 / D10 / D11 과 RGB LED 사이에 저항을 달아주지 않고 바로 연결하고
공통 + 와 VCC 사이에 저항을 달아주면 정상적으로 불이 들어오지 않는다.
AVR 내부 풀업 때문인진 모르겠지만
RGB 전부 켜서 흰색이 들어와야 하는데 Red로만 불이 들어 오는 이상한 현상이 발생한다.
회로적으로 공부가 좀 더 필요 할 듯..
회로는 아래 링크를 참조했음
[링크 : http://wiki.vctec.co.kr/opensource/arduino/rgbled]
일단 작성한 코드는 다음과 같음
int led_r = 9;
int led_g = 10;
int led_b = 11;
int val = 0;
int dir = 0;
int mode = 1;
void setup() {
// put your setup code here, to run once:
pinMode(led_r, OUTPUT);
pinMode(led_g, OUTPUT);
pinMode(led_b, OUTPUT);
}
// common -
void mode_change()
{
switch(mode)
{
default:
case 1: mode = 2; break;
case 2: mode = 3; break;
case 3: mode = 4; break;
case 4: mode = 5; break;
case 5: mode = 6; break;
case 6: mode = 7; break;
case 7: mode = 1; break;
}
}
void loop() {
// put your main code here, to run repeatedly:
if(mode & 0x01) analogWrite(led_r, 255 - val);
else analogWrite(led_r, 255);
if(mode & 0x02) analogWrite(led_g, 255 - val);
else analogWrite(led_g, 255);
if(mode & 0x04) analogWrite(led_b, 255 - val);
else analogWrite(led_b, 255);
if(dir == 0)
{
val = val + 1;
if(val >= 255)
{
dir = 1;
}
}
else
{
val = val - 1;
if(val == 0)
{
dir = 0;
mode_change();
}
}
delay(5);
}
'embeded > arduino(genuino)' 카테고리의 다른 글
L293D 아두이노 드라이버 (0) | 2020.04.22 |
---|---|
라즈베리 - 아두이노 i2c 통신 예제 (0) | 2020.04.18 |
rgb led 색상 순환 패턴 (0) | 2020.04.17 |
arduino nano PWM 출력 (0) | 2020.04.17 |
PAM8403 3W 스테레오 오디오 앰프 (0) | 2020.04.17 |