본문 바로가기
아두이노/아두이노 IDE

02. 아두이노 IDE LED 제어 실습[베이직 트레이닝 보드]

by 땜블리 2023. 2. 28.
728x90
반응형
SMALL

안녕하세요 땜블리 입니다.

아두이노와 베이직 트레이닝 보드를 이용한 LED 제어 실습을 진행 하겠습니다.

베이직 트레이닝 보드는 아래에서 확인이 가능합니다.

https://ttcw.tistory.com/4

 

라즈베리파이 피코 베이직 트레이닝보드 구성

라즈베리파이 피코 보드의 펌웨어실습을 위한 베이직 트레이닝보드를 소개 합니다. 현재 네이버 스마트스토어에서 판매가 진행되고 있습니다. 라즈베리파이 피코 베이직 트레이닝 보드 라즈베

ttcw.tistory.com

1) LED제어 구동 원리

(1) 동작설명

LEDLight Emitting Diode의 약자입니다. 우리나라 말로 발광 다이오드입니다.

발광 다이오드는 반도체를 이용한 PN접합이라고 불리는 구조로 만들어져 있습니다.

전기 에너지를 빛 에너지로 전환하여 빛으로 표현됩니다.

 

 

 

 

 

(2) 연결방법

연결표

 

(3) 코드작성

void setup() 
{
 for (int i=2; i<=3; i++) 
 { 
    pinMode(i, OUTPUT); //pinMode함수를 이용하여 출력으로 설정.
 }
}
void loop() 
{
 for (int i=2; i<=3; i++) 
 { 
   digitalWrite(i, HIGH); delay(500); 
 }
 for (int i=2; i<=3; i++) 
 { 
   digitalWrite(i, LOW); delay(500); 
 }
}
반응형

(4) 동작결과

LED가 순서대로 ON, OFF 됩니다. 

2) LED 라이브러리 이용하여 구동

(1) 동작설명

 

JLed - Advanced LED Library를 이용하여 led 깜빡이기 구현하기

 

(2) 연결방법

led를 켜고 끌 때 딜레이가 들어갑니다. 이때 딜레이가 동작되면 mcu는 멈추는데 이를 해결할 방법 중 하나로 라이브러리를 사용하여 해결 가능합니다.

 

(3) 코드작성

#include<jled.h>
auto led = JLed(LED_BUILTIN).Blink(1000, 1000).Forever();
voidsetup() { }
voidloop() {
  led.Update();
}

(4) 동작결과

루프 함수에 Update(); 함수에서 led를 컨트롤 하며 delay가 사용되지 않음으로 다른 동작에도 영향을 미치지 않습니다.

1초 간격으로 LED가 깜빡입니다.

2) LED 라이브러리 이용하여 구동 (숨쉬기)

(1) 동작설명

JLed - Advanced LED Library를 이용하여 숨쉬기 led 구현

 

led를 켜고 끌 때 딜레이가 들어갑니다. 이때 딜레이가 동작되면 mcu는 멈추는데 이를 해결할 방법 중 하나로 라이브러리를 사용하여 해결 가능합니다.

 

(2) 코드작성

 

#include<jled.h>
// breathe LED for 5 times, LED is connected to pin 9 (PWM capable) gpio
auto led = JLed(9).Breathe(2000).Repeat(5).DelayAfter(2000);
voidsetup() {
}
voidloop() {
  led.Update();
}

 

(3) 동작결과

루프 함수에 Update(); 함수에서 led를 컨트롤 하며 delay가 사용되지 않음으로 다른 동작에도 영향을 미치지 않고 led의 숨쉬기 효과를 사용할 수 있습니다.

 

 

 

728x90
반응형
LIST

댓글