본문 바로가기

아두이노

아두이노코딩 LED 켜고 끄기

반응형

아두이노코딩 포스팅을 시작합니다

이번 아두이노코딩 포스팅에서 LED 켜고 끄는 방법을 배워보겠습니다. LED를 켜고 끄는 방법은 이전 포스팅에서 배웠습니다. 이번에는 앞에서 배웠던 내용을 활용해서 LED가 깜박이도록 코딩하겠습니다.

아두이노 LED 켜는 방법

 

아두이노 LED 코딩하기

아두이노 LED 코딩 준비물 아두이노로 LED 코딩을 해보겠습니다. 준비물은 다음과 같습니다. 아두이노 우노보드 1개 브레드보드 1개 220옴 저항 1개 LED 1개 USB 케이블 1개 점퍼 케이블 아두이노 보드에 있는 LE..

www.itple.co.kr

아두이노 LED 끄는 방법

 

아두이노강좌 보드에 있는 LED 끄기

아두이노강좌 포스팅을 시작합니다 이 아두이노강좌에서는 아두이노 보드에 있는 LED를 끄는 방법을 배워보겠습니다. 앞선 포스팅에서 아두이노 보드에 있는 LED보드를 켜는 방법을 배웠습니다. 이번 아두이노강좌..

www.itple.co.kr

 

[그림 3-9]에 있는 스케치를 살펴보겠습니다. LED를 켜려면 digitalWrite(디지털쓰기)에서 HIGH를 사용하고, 끄려면 LOW를 사용하면 됩니다.

 

LED 켜는 명령어 바로 다음에 끄는 명령어를 하면 LED가 깜박일까요? 아두이노는 속도가 너무 빨라 우리 눈으로 LED가 깜박이는 것을 감지할 수 없습니다. (아두이노 MCU 속도는 16MHz)


시차를 두고 켜지고 꺼지게 해야 우리 눈으로 볼 수 있습니다.

[그림 3-9] 아두이노코딩 delay 명령어 사용하기


 

시차를 만들어 주는 명령이 delay(딜레이)입니다. ‘지연시키다’라는 뜻의 delay(딜레이)는 다음 명령으로 넘어가는 것을 괄호 안에 있는 밀리 초만큼 기다립니다.

 

1000밀리초가 1초입니다. 여기에서 사용한 delay(1000)은 1000 밀리초인 1초만큼 기다리는 뜻입니다.

 

보이드 셋업(void setup)에 있는 코드는 한 번만 실행되고 보이드 루프 (void loop) 안에 있는 내용은 계속 반복해서 실행됩니다.

 

스케치를 아두이노에 업로드해보겠습니다. 업로드 완료라는 글씨가 나오는 동시에 아두이노 보드에 있는 LED가 1초에 한 번씩 깜박거리는 것을 볼 수 있습니다.

 

 

아두이노코딩 깜박거리는 LED

정지시키는 방법은 몇 가지 있는데 지금은 그냥 USB 선을 뽑으면 됩니다. 한번 업로드된 스케치는 새로운 스케치를 업로드하기 전까지는 영원히 MCU에 저장되어 있어 언제든지 전원만 공급하면 LED가 깜박거립니다.

 

아두이노코딩 LED를 연결해서 코딩하기

아두이노는 LED와 모터와 같은 부품을 연결해서 작품을 만들 수 있습니다. [그림 3-10]과 같이 디지털 13번 핀에 LED와 220옴 저항을 연결합니다.

[그림 3-10] 회로 만들기


LED 극성이 있어서 연결을 잘해야 합니다. LED의 긴 다리는 플러스에 짧은 다리는 마이너스에 연결합니다. LED의 긴 다리는 13번 핀에, 짧은 다리는 GND에 연결합니다. GND는 전자회로에서 -극 역할을 하는 곳입니다.


그리고 저항은 극성이 없기 때문에 어느 방향으로 연결해도 됩니다.

[그림 3-11] 아두이노코딩 LED 컨트롤 스케치

 

[그림 3-11]에 있는 스케치는 앞의 [그림 3-9]과 같지만, 시간만 0.5초로 바꾼 것입니다. 업로드하면 아두이노 보드에 있는 LED와 외부 LED가 동시에 깜박거리는 것을 볼 수 있습니다.


LED를 켜고 끌 때 디지털 핀 2번부터 13번까지 어느 것을 사용해도 됩니다. 하지만 0번과 1번 디지털 핀은 컴퓨터와 아두이노 보드가 서로 프로그램을 보내고, 데이터도 받고 하는 목적으로 지정된 핀이므로 아주 특별한 경우 이외는 사용하지 않는 것이 좋습니다.

 

스케치를 컴파일해보자. 명령을 입력할 때 스펠링 에러가 없다면 어느 정도 시간이 지난 뒤에 스케치 IDE 밑 부분에 컴파일 완료라는 글씨가 나옵니다.


만약 에러 메시지가 나오면 어떤 부분이 잘못되었는지 확인합니다. 아두이노코딩을 할 때 실수 자주 하게 될 것입니다. 먼저 소문자와 대문자를 잘 구분했는지 확인합니다. 그리고 세미콜론과 소괄호(())와 중괄호({})를 잘 입력했는지 확인합니다.

 

예를 들어 아래와 같은 에러 메시지가 나왔다고 생각해보겠습니다. 보면 pinmode가 이 범위에서 정의되지 않았다는 뜻입니다. 

아두이노코딩 에러메시지

 

스케치를 보면 그림과 같이 빨간색으로 에러가 난 부분을 보여줍니다. pinMode에서 대문자 M이 아닌 소문자m을 써서 생긴 오류입니다. 이렇게 에러메시지를 잘 보면 어디가 틀렸는지 잘 알 수 있습니다. 

아두이노코딩 에러 확인

 

컴파일할 때는 컴퓨터와 아두이노 보드가 서로 연결되어 있지 않아도 됩니다. 하지만 업로드할 때는 반드시 컴퓨터와 아두이노 보드가 서로 연결되어 있어야 합니다.


보드와 포트 확인은 스케치 IDE를 새로 시작했을 때 한 번만 확인하면 됩니다. 스케치가 업로드 된 다음에는 컴퓨터와 연결하지 않고 배터리를 사용하여 작동시킬 수 있습니다.

 

이번 포스팅에서는 LED를 껴고 끄는 방법을 배워봤습니다. 아두이노코딩할 때 delay 명령어를 잘 사용해야 합니다. 다음에도 아두이노 스케치 기초를 다질 수 있는 좋은 포스팅을 준비하겠습니다. 

반응형