초급⏱ 예상 시간: 30분📝 5단계
RGB LED 색상 믹서
가변저항 3개로 RGB LED의 빨강, 초록, 파랑 값을 각각 조절하여 원하는 색상을 만드는 색상 믹서입니다.
🧩 필요한 모듈
Arduino Uno
브레드보드
점퍼 와이어
가변 저항 (포텐셔미터)
저항 (220Ω / 10kΩ)
RGB LED
📖 단계별 설명서
1단계준비물 확인
다음 부품들을 준비해주세요:
- Arduino Uno 1개
- 브레드보드 1개
- 점퍼 와이어 10개
- RGB LED 1개 (공통 캐소드)
- 가변저항 3개
- 220Ω 저항 3개
💡 팁: 공통 캐소드 방식은 가장 긴 다리가 GND에 연결됩니다. 공통 애노드 방식이면 코드에서 255에서 빼주면 됩니다.
2단계회로 연결하기
- RGB LED의 빨강 핀을 220Ω 저항을 통해 D9(PWM)에 연결합니다.
- RGB LED의 초록 핀을 220Ω 저항을 통해 D10(PWM)에 연결합니다.
- RGB LED의 파랑 핀을 220Ω 저항을 통해 D11(PWM)에 연결합니다.
- RGB LED의 공통 캐소드(가장 긴 다리)를 GND에 연결합니다.
- 가변저항 3개를 각각 A0, A1, A2에 연결합니다.
📐 회로도
회로도 이미지
/images/projects/rgb-mixer-circuit.png
3단계코드 작성하기
code.ino
const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;
const int POT_R = A0;
const int POT_G = A1;
const int POT_B = A2;
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int r = analogRead(POT_R) / 4; // 0~1023 → 0~255
int g = analogRead(POT_G) / 4;
int b = analogRead(POT_B) / 4;
analogWrite(RED_PIN, r);
analogWrite(GREEN_PIN, g);
analogWrite(BLUE_PIN, b);
Serial.print("R:"); Serial.print(r);
Serial.print(" G:"); Serial.print(g);
Serial.print(" B:"); Serial.println(b);
delay(100);
}+12 줄 더 보기
4단계업로드 및 테스트
- 코드를 업로드합니다.
- 가변저항 3개를 각각 돌려보면서 RGB LED 색상이 변하는지 확인합니다.
- **시리얼 모니터(돋보기 아이콘)**를 열어 현재 RGB 값을 확인합니다.
- 빨강만 최대로 올리면 빨간색, 모두 최대면 흰색이 됩니다.
💡 팁: 시리얼 모니터에서 확인한 RGB 값을 메모해두면, 나중에 원하는 색상을 코드에 직접 입력할 수 있습니다.
5단계심화 — 색상 기억 기능
버튼을 추가하면 현재 색상을 저장하고, 저장된 색상 목록을 순환하는 기능을 만들 수 있습니다.