본문 바로가기
아두이노 학습 공간

아두이노로 LED 여러개 동시에 제어하기(외부 LED 제어)

by 구빡 2022. 10. 25.

안녕하세요. 구빡입니다.

 

오늘은 아두이노를 이용하여 LED 여러 개를 를 제어해보겠습니다.

 

아두이노를 활용하여 여러 가지 애플리케이션을 만들다 보면

 

LED 여러 개를 동시에 제어해야 하는 경우가 생깁니다.

 

그럴 때를 대비해서 한번 해보겠습니다.

 

어렵지 않으니 천천히 해보세요!!

 

그럼 시작해 보겠습니다..ㅎ

 

이번에는 준비물로 R, G, B LED 각 1개씩과 330옴 저항 3개를 준비했습니다.ㅎ

 

회로도는 다음과 같이 준비했습니다.

 

보시는 것처럼 저항은 한데 묶어서 GND로 보냈습니다.

 

R, G, B LED는 각각 3, 5, 7번 핀에 연결하였고요..

 

이제 순서대로 키고, 끄고, 동시에 다키는 동작에 대해 코딩해보겠습니다.

 

지난 시간에 한 코드를 기반으로 한번 해볼게요

 

void setup() {
  pinMode(3, OUTPUT); // 3번 출력(레드)
  pinMode(5, OUTPUT); // 5번 출력(그린)
  pinMode(7, OUTPUT); // 7번 출력(블루)
}

void loop() {
  digitalWrite(3, HIGH); // 레드 키고
  delay(500); // 딜레이 500ms
  digitalWrite(3, LOW); //레드 끄고

  digitalWrite(5, HIGH); // 그린 키고
  delay(500); // 딜레이 500ms
  digitalWrite(5, LOW); // 그린 끄고

  digitalWrite(7, HIGH); // 블루 키고
  delay(500); // 딜레이 500ms
  digitalWrite(7, LOW); // 블루 끄고
  delay(500); // 딜레이 500ms

  digitalWrite(3, HIGH); // 레드 키고
  digitalWrite(5, HIGH); // 그린 키고
  digitalWrite(7, HIGH); // 블루 키고
  delay(500); // 딜레이 500ms
  
  digitalWrite(3, LOW); // 레드 끄고
  digitalWrite(5, LOW); // 그린 끄고
  digitalWrite(7, LOW); // 블루 끄고
  delay(500); // 딜레이 500ms

}

 

레드를 3 번핀, 그린을 5 번핀, 블루를 7번 핀에 연결하였습니다.

 

그리고 각자 제어를 하는 거예요..

 

동작 1  레드 키고 500ms 딜레이 동안 켜주고 레드 끄고

동작 2  그린 키고 500ms 딜레이 동안 켜주고 그린 끄고

동작 3  블루 키고 500ms 딜레이 동안 켜주고 블루 끄고

 

동작 4  레드, 그린, 블루 키고 500ms 딜레이 동안 켜주고 레드, 그린, 블루 끄고

 

어떤가요? 코드가 좀 길어 보이지만 쉽죠??

 

어렵지 않아요..ㅎ

 

다음은 실제 회로를 꾸민 모습입니다.

 

앞에서 보여드린 회로도와 같은 모습이죠?? ㅋ

 

이제 앞에서 작성한 코드를 UPLOAD 하여 동작을 시켜 보겠습니다.

어떤가요?

 

앞에서 설명드린 것과 한 치의 오차도 없이 동작하는 게 보이시나요?

 

LED에 불이 들어오는 것을 확인하실 수 있습니다..ㅎㅎ

 

어렵지 않죠?

 

아두이노의 세계에 점점 빠져드는 게 느껴지시나요??ㅋ

 

그럼 다음 시간에 더 재미있는 실험을 가지고 올게요~

 

이만..

 

 

 

 

 

댓글