본문 바로가기
아두이노

Arduino LED 깜박임 -Arduino LED Blinking

by 모빌리티키즈 2023. 11. 20.
728x90

안녕하세요. 모빌리티키즈 입니다.

Arduino로 LED 점멸하기 (Arduino LED Blinking)


안녕하세요! 이번 튜토리얼에서는 Arduino를 사용하여 LED를 점멸하는 방법에 대해 알아보겠습니다. LED를 점멸시키는 것은 Arduino를 활용한 첫 번째 프로젝트로 많이 사용되는 기능입니다.

먼저, Arduino 보드와 LED를 연결해야 합니다. LED의 긴 다리(양극)를 Arduino의 디지털 핀에 연결하고, 짧은 다리(음극)를 GND에 연결합니다. 연결이 완료되면 Arduino IDE에서 새로운 스케치를 열고 아래의 코드를 작성합니다.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN이 연결된 디지털 핀을 출력으로 설정합니다.
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // LED를 켭니다.
  delay(1000); // 1초 동안 대기합니다.
  digitalWrite(LED_BUILTIN, LOW); // LED를 끕니다.
  delay(1000); // 1초 동안 대기합니다.
}

 LED_BUILTIN은 Arduino 보드에 내장된 LED를 의미합니다. 만약 외부에 연결한 LED가 있다면 해당 디지털 핀 번호를 사용하면 됩니다.

코드를 실행하면 Arduino 보드가 연결된 LED가 1초 간격으로 켜지고 꺼지는 것을 확인할 수 있습니다. 이것이 LED를 점멸시키는 기본적인 코드입니다. 원하는 대로 코드를 수정하여 점멸 주기나 시간을 변경할 수 있습니다.

이렇게 Arduino를 사용하여 LED를 점멸시키는 방법을 배웠습니다. 이러한 기본적인 예제를 통해 Arduino의 입출력 기능을 익힐 수 있으며, 이후 더 복잡한 프로젝트를 진행할 때에도 유용하게 활용할 수 있습니다.

다음은 여러분이 Arduino로 다양한 LED 프로젝트를 진행할 수 있기를 바랍니다. 

Led 깜박임은 Arduino로 시작하는 매우 간단하고 기본적인 프로젝트입니다. LED 깜박임은 LED 조명을 켜고 끄는 것뿐입니다.

Arduino LED 깜박임은 매우 기본적이지만 매우 흥미로운 다양한 유형의 프로젝트를 만드는 추가 단계에서 사용될 수 있습니다. 일상 생활에서 다양한 용도로 사용됩니다. 예를 들어 교통 신호, 장식 목적 등이 있습니다.
LED를 사용한 프로젝트는 LED 깜박임만큼 쉬울 수도 있고 소리/음악에 민감한 조명 또는 LED 큐브 8x8x8만큼 어려울 수도 있습니다.

이 튜토리얼에서는 세 가지 간단한 Arduino LED 프로젝트를 통해 Arduino를 사용하여 LED를 제어하는 ​​방법을 보여 드리겠습니다.

  1. Arduino 온보드 LED 깜박임.
  2. LED 깜박임 Arduino – 외부 LED를 깜박입니다.
  3. Arduino를 사용하여 여러 개의 LED를 제어합니다.

이 게시물을 다 읽고 나면 LED가 Arduino와 어떻게 작동하는지 완전히 이해하게 될 것입니다. 그리고 Arduino LED 프로젝트를 직접 수행할 수도 있습니다.

필요한 재료 :

  1. LED
  2. 케이블
  3. 330Ω 저항기
  4. Arduino 보드(어떤 종류든 가능하지만 여기서는 UNO 보드를 사용했습니다).
  5. 브레드보드/회로보드 홀더.
  6. USB 케이블
  7. Arduino 소프트웨어가 설치된 컴퓨터(여기에서 Arduino IDE를 다운로드할 수 있습니다 .. )

시작하기 전에 Arduino와 LED의 기본 사항을 알아야 합니다.

아두이노란 무엇인가?

Arduino는 마이크로 컨트롤러 개발 보드입니다. 심장에는 마이크로컨트롤러와 일부 디지털 및 아날로그 입력 출력 핀이 있습니다. 디지털 또는 아날로그 입력 핀을 통해 Arduino에 전압 형태로 일부 정보/데이터를 제공할 수 있습니다. 그리고 출력 핀에서 Arduino는 일부 제어 신호를 생성합니다.
Arduino에는 Arduino 보드 프로그래밍을 위한 훌륭하고 사용자 친화적인 GUI도 있습니다. Arduino GUI를 사용하여 Arduino 보드를 프로그래밍함으로써 입력 신호에 따라 출력 신호를 제어할 수 있습니다.
Arduino 공식 웹사이트에서 Arduino GUI를 다운로드할 수 있으며 거기에서 Arduino에 대해 자세히 알아볼 수 있습니다.

 

LED(발광 다이오드)

발광다이오드(LED)는 반도체 광원이다. 전류가 흐르면 빛을 방출합니다.

LED에는 두 개의 리드가 있습니다. 한 리드는 더 짧으며, 즉 음극(-ve)이고 다른 리드는 더 길며, 즉 양극(+ve)입니다. LED의 평평한 면을 찾아 음극을 식별할 수도 있고 다른 하나는 양극입니다. LED에는 극성이 있습니다. 따라서 긴 다리는 Arduino 보드의 디지털 핀에 연결되어야 합니다. 그리고 짧은 다리는 GND로 연결해야 합니다.

 

Arduino 온보드 LED 깜박임

대부분의 Arduino에는 제어할 수 있는 온보드 LED가 있습니다. 이번 시간에는 LED를 제어하는 ​​방법에 대해 알아보겠습니다. 따라서 이 프로젝트에는 Arduino 보드와 PC 또는 Mac만 있으면 됩니다.

이 섹션에서는 Arduino Uno 보드를 사용하고 있습니다. 그러나 온보드 LED가 있는 모든 Arduino 보드를 사용할 수 있습니다. Arduino Uno, mega, zero에서 이 LED는 13번 핀에 연결되어 있습니다. 아래 그림에서 볼 수 있습니다.

여기서는 이 LED를 1초 동안 켰다가 1초 동안 끄는 것을 반복하겠습니다.

회로도

이 프로젝트에서는 외부 구성 요소가 필요하지 않습니다. USB 케이블을 통해 Arduino 보드를 PC에 연결하고 코드를 업로드하기만 하면 됩니다.

아두이노 코드

int ledPin =13;
void setup() {
   pinMode(ledPin, OUTPUT);
}
void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

코드 설명

Arduino 프로그램은 주로 설정 부분과 루프 부분으로 구성됩니다. 설정 부분은 한 번만 실행되고 루프는 계속해서 실행됩니다.
따라서 가장 먼저 해야 할 일은 LED에 연결된 핀 번호를 보유할 변수를 정의하는 것입니다. 그런 다음 이 핀을 다음과 같이 함수 내부의 출력 핀으로 설정합니다.

setup()

void setup() {
   pinMode(ledPin, OUTPUT);
}

마지막으로 스케치의 loop() 함수를 사용하여 LED를 켜고 꺼야 합니다. 루프 내에서 함수를 두 번 호출합니다. HIGH 값을 사용하면 LED가 켜지고 LOW 값을 사용하면 LED가 꺼집니다.

digitalWrite(digitalWrite()

 

이 두 줄의 코드만 사용하면 LED가 너무 빨리 깜박여서 육안으로는 이해할 수 없습니다. 따라서 속도를 늦추려면 중간에 약간의 지연을 두어야 합니다. 우리는 그것을 위해 기능을 사용하고 있습니다 . 밀리초 단위로 작동합니다.delay()

나는 사용할 것이다 ; 후에 ; HIGH 상태, 즉 LED 켜짐 상태를 1초 동안 유지합니다. 그리고 우리는 이후에도 같은 것을 사용할 것입니다 ; LOW 상태, 즉 LED 꺼짐 상태를 1초 동안 유지합니다.

 

delay(1000digitalWrite(led, HIGHdigitalWrite(led, LOW)

 

이 Arduino LED 프로젝트에서는 외부 LED를 1초 동안 켰다가 1초 동안 끄는 것을 반복해 보겠습니다.

회로도

LED의 +ve(+5V) 리드를 Arduino의 디지털 핀에 연결하고 -ve(GND) 리드를 접지에 연결합니다.
LED를 통과하는 전류를 제한하고 LED가 타는 것을 방지하려면 LED와 직렬로 저항기를 사용해야 합니다.
여기서는 Arduino Uno 보드를 사용하고 디지털 핀 7을 사용하여 LED를 제어합니다. 따라서 이에 따라 Arduino 보드를 코딩하겠습니다.

아두이노 코드

int ledPin = 7;
void setup() {
  pinMode(ledPin, OUTPUT);
}
void loop() { 
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

코드 설명

여기서는 1000ms(1초) 간격으로 LED를 깜박이는 프로그램을 작성하겠습니다. 코드는 온보드 LED 깜박임과 동일합니다. 핀번호만 바꾸시면 됩니다. 우리는 7번 핀(디지털 핀)을 사용하고 있으므로 ; 다른 것들은 동일하게 유지됩니다.

int ledPin = 7

먼저 7번 핀을 LED 핀으로 초기화하고 출력 핀으로 설정합니다. 그런 다음 LED 핀이 1000ms 동안 높은 상태에 있고 다음 1000ms 동안 낮은 상태에 있고 계속되는 무한 루프를 생성합니다.

Arduino를 사용하여 여러 LED 제어

이번 아두이노 LED 프로젝트에서는 여러 개의 LED를 제어하는 ​​방법을 배워보겠습니다. 여기서는 4가지 색상의 LED를 동시에 켜고 끄는 방법을 살펴보겠습니다.

회로도

4개의 서로 다른 색상의 LED(동일한 색상의 LED도 사용할 수 있음)를 가져와 +ve(+5V)다리를 Arduino의 4개의 서로 다른 디지털 핀에 연결합니다. 여기서는 핀 1,2,3,4와 Arduino Uno 보드를 사용하고 있습니다. 따라서 +ve (+5V) 다리를 Arduino의 핀 번호 1,2,3 및 4에 연결하십시오.
-ve(GND) 다리를 220ohm 저항의 직렬 연결을 사용하여 접지에 연결하십시오.

아두이노 코드

int led_red = 1;
int led_green = 2;
int led_yellow = 3;
int led_blue = 4;
void setup() {
  pinMode(led_red, OUTPUT);
  pinMode(led_green, OUTPUT);
  pinMode(led_yellow, OUTPUT);
  pinMode(led_blue, OUTPUT);
}
void loop() { 
  digitalWrite(led_red, HIGH);
  delay(1000);
  digitalWrite(led_red, LOW);
  digitalWrite(led_green, HIGH);
  delay(1000);
  digitalWrite(led_green, LOW);
  digitalWrite(led_yellow, HIGH);
  delay(1000);
  digitalWrite(led_yellow, LOW);
  digitalWrite(led_blue, HIGH);
  delay(1000);
  digitalWrite(led_blue, LOW);
}

코드 설명

4개의 정수 변수를 사용하여 우리가 사용하는 4개의 핀 번호를 유지하고 해당 값을 할당합니다. setup() 함수 내에서 이 4개의 핀을 다음과 같이 출력 핀으로 설정했습니다 .

pinMode(led_red, OUTPUT)

그런 다음 섹션에서 다음 코드 줄을 사용하여 LED를 1초 동안 켰다가 1초 동안 끕니다.

loop()

digitalWrite(led_red, HIGH);
delay(1000);
digitalWrite(led_red, LOW);
delay(1000);

4개의 LED 모두에 대해 이 과정을 반복하고 Arduino에 코드를 업로드합니다.

이 코드를 다음과 같이 최적화할 수 있습니다.

// assign LED pin to the array
int ledPin[4]={1,2,3,4};
int delay_t = 500;

void setup() {
  // set pins 1,2,3,4 as output
  for (int i = 0; i <= 4; i++) {
    pinMode(ledPin[i], OUTPUT);
  }
}

void loop() {
  // iterate over the pins:
  for (int i = 0; i <= 3; i++) {
      digitalWrite(ledPin[i], HIGH);
      delay(delay_t);
      digitalWrite(ledPin[i], LOW);
      delay(delay_t);
    }
  }

 

다양한 회로도를 작성하여 LED를 제어해 보세요.

업다운 카운트, 2개씩 점프 하기, LED 신호등 만들기 등등.

 

모빌리티키즈 프로젝트!!

728x90