초급⏱ 예상 시간: 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단계회로 연결하기

  1. RGB LED의 빨강 핀을 220Ω 저항을 통해 D9(PWM)에 연결합니다.
  2. RGB LED의 초록 핀을 220Ω 저항을 통해 D10(PWM)에 연결합니다.
  3. RGB LED의 파랑 핀을 220Ω 저항을 통해 D11(PWM)에 연결합니다.
  4. RGB LED의 공통 캐소드(가장 긴 다리)를 GND에 연결합니다.
  5. 가변저항 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단계업로드 및 테스트

  1. 코드를 업로드합니다.
  2. 가변저항 3개를 각각 돌려보면서 RGB LED 색상이 변하는지 확인합니다.
  3. **시리얼 모니터(돋보기 아이콘)**를 열어 현재 RGB 값을 확인합니다.
  4. 빨강만 최대로 올리면 빨간색, 모두 최대면 흰색이 됩니다.

💡 팁: 시리얼 모니터에서 확인한 RGB 값을 메모해두면, 나중에 원하는 색상을 코드에 직접 입력할 수 있습니다.

📝

5단계심화 — 색상 기억 기능

버튼을 추가하면 현재 색상을 저장하고, 저장된 색상 목록을 순환하는 기능을 만들 수 있습니다.

🎉

축하합니다!

"RGB LED 색상 믹서" 프로젝트를 완성했습니다!