Arduino / / 2022. 4. 4. 23:11

아두이노로 LED 켜기 !

728x90

안녕하세요 데브구일입니다!

 

오늘부터는 아두이노를 이용해서 다양한 실습에 대해 올려볼까합니다 !

 

우선은 가능 기초적인 LED를 켜는 것 부터 시작해서

 

차차 제가 할 수 있는한 고급 단계까지 !! 

 

가보도록 하겠습니다!

 

먼저 준비물 입니다 !

 

1. 아두이노

 

 

우선은 저희가 아두이노를 배우고 있기때문에 아두이노를 사용합니다 !

 

저는 아두이노 우노 정품 보드를 사용하고 있어요 !

물론 우노가 아니셔도 크게 차이는 없으실겁니다 !

 

정품은 가격이 부담되실수도 있으시니 연습하시는 분은 호환보드를 구매하셔도 상관없으셔요 !

 

 

2. 브레드보드 (빵판)

 

 

두번째로 빵... 아니 브레드보드입니다 !

 

브레드 보드가 빵판이라고도 많이 불린다고 해요 !

 

그런데 빵판이 맞는 말이기도 합니다 

 

이유는 이게 식빵에 빵처럼 구멍이 송송송 나있기때문에 브레드 보드라는 이름이 붙여졌다고해요 !

(저도 듣기만한거라 ㅇ...)

 

아무튼 ! 저희는 이 브레드보드를 이용해서 회로를 구성하게 될 것이구요

브레드 보드를 이용하면 굳이 납땜을 하지않더라도 회로를 테스트 할 수 있어서 편리합니다 !

 

아두이노를 하시게되면 하나 정도는 구매하셔도 좋을 것 같아요 !

 

 

3. LED

 

 

세번째로 LED 입니다 !

 

LED는 전원을 연결해주게 되면 빛이 나는 소자인데요 !

 

가장 기본적으로 회로에서 많이 사용되는 소자이기도 합니다 !

 

LED를 키고 끔으로써 간단한 소스를 공부할 수 있고

나중 단계로 가게되면 LED를 이용해서 디바이스의 상태를 표시하기도 하지요 !

 

예를 들어서 컴퓨터가 전원이 켜지면 불이 켜지잖아요 !

그런 상태를 알려줄 수 있는 기본적인 소자라고 보시면 됩니다 !

 

 

4. 저항

 

네번째로 저항 입니다 !

 

저항을 달아줌으로써 LED에 과전류가 흐르는 것을 막아주게됩니다 !

 

저항을 안달아도 LED가 켜지긴하겠지만 과전류가 흘러 LED가 고장나게 될 수도 있습니다!

 

그래서 웬만하면 LED를 달아주는 것이 좋아요 !

 

저항은 330옴을 이용하게 됩니다 !

 

 

 

 

자 이제부터 LED 회로도를 구성해 보겠습니다 !

 

5. 회로도 

 

 

쨔안 완성입니다

 

저는 이번에 LED를 8번 핀에 연결을 하였고 이에 해당하는 소스를 코딩하려고합니다!

 

6. 소스

 

먼저 여러분이 아두이노를 처음에 실행했을때 setup()과 loop() 함수가 있을텐데요

 

여기서 setup() 함수는 처음에 아두이노가 실행되었을때 딱 한번 실행하게되는 함수 입니다 !

 

두번째로 loop()가 있을텐데요

 

loop()는 setup()가 끝나면 자동적으로 계속해서 반복 실행하게 되는 함수입니다.

 

void setup() {
  pinMode(8, OUTPUT);
}
 
void loop() {
  digitalWrite(8, HIGH);
  delay(1000);
  digitalWrite(8, LOW);
  delay(1000);
}

자 소스입니다 !

 

굉장히 간단하지요 ??

 

코드를 간단하게 설명드릴께요 !

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

먼저 앞에서 말씀드린 것 처럼 처음엔 setup()함수가 있습니다 !

 

setup()에서 pinMode(8, OUTPUT); 이라는 함수가 있는데요

 

이 pinMode 함수는 몇 번째 핀을 출력이냐 입력이냐를 설정하게 되는 함수 입니다 !

 

저는 8번 핀에 있는 LED를 출력할 것이기 때문에 pinMode(8, OUTPUT)으로 코딩했구요 !

 

여기서 만약에 9번 핀에 있는 LED를 출력하게 하려면 어떻게 해야할까요 ?

 

 바로 pinMode(9, OUTPUT) 이렇게 입력하시면 되겠습니다 ! 

 

(마우스로 드래그 하시면 답이 보이실겁니다 !)

 

자 그리고 loop() 입니다!

 

void loop() {
  digitalWrite(8, HIGH);
  delay(1000);
  digitalWrite(8, LOW);
  delay(1000);
}

loop()에서는 계속해서 반복을 하게되는데요 !

 

저는 8번 핀에 연결된 LED를 1초마다 깜빡깜빡이게 만들어보았습니다 !

 

보시면 digitalWrite라는 함수가 보이실텐데요

 

digitalWrite는 디지털 출력으로써 0과 1 또는 HIGH와 LOW 두가지의 출력이 가능합니다!

 

LED에 HIGH라는 디지털 값을 출력하면 LED에 5V가 흘러들어가 LED에 불이 켜지게됩니다 !

반대로 LOW라는 디지털 값을 출력하면 LED에는 0V가 흘러들어가 LED가 꺼지게 되지요 !

 

중간 중간에 delay함수가 있는데요

 

delay 함수는 1000에 1초라는 값을 가지게됩니다!

 

그리고 위와 같이 코딩을 하시게되면 ...

 

 

1초동안 켜졌다가 1초동안 꺼졌다가를 반복하게 되는 loop()함수가 완성됩니다!!

 

7. 추가 내용

 

그리고 아두이노에 보시면 예제 파일들이 몇 가지 있습니다 !

 

 

파일 -> 예제 -> 01.Basics -> Blink

 

이 파일을 열어보시면 제가 코딩한 것과 아주 유사한 코드가 나오게 됩니다

 

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}
 
// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

 

이렇게 소스가 있을텐데요 !

 

여기서 13번 핀에 LED는 따로 연결할 필요가 없습니다 !

 

바로 아두이노 자체에 있는 LED가 13번 핀과 연결되어있기 때문에 그렇습니다 !

 

 

위 사진을 보시면 13번 핀 바로옆에 L 이라고 표시가 되어있는 아주 작은 게 보일텐데요

 

이게 바로 아두이노 자체에 연결되어 있는 LED 입니다 !

 

이 소스를 아두이노에 업로드 하게되면...

 

 

위 사진 처럼 LED가 깜빡깜빡이게 됩니다 !!

 

휴...

 

드디어 LED에 관련된 포스팅을 끝냈네요 !

 

뭔가 상당히 길었던거 같은데 얼마 안썻네여 사진이 너무 많은가... ㅋㅋㅋㅋ

 

아무튼 오늘은 아두이노로 LED 켜기 라는 주제로 포스팅 해보았습니다 !

 

다음에도 좋은 포스팅 가져오겠습니당 !

 

 

 

 

 

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유