지난번 LED 깜빡이기 포스팅에 대한 설명입니다. 

엄청 오랜 시간이 지나버렸네요. 

아래 그림은 아두이노의 하드웨어에 우리가 원하는 동작(LED 깜빡거리기)을 할 수 있도록 소프트웨어를 입력하기 위한 입력창이라고 보면 되겠어요. 

전문용어로는 "스케치"라고 한답니다. 

위쪽으로 스크롤 해보면 회색 글씨로 뭐라뭐라 영어로 막 써있어요. 

뭐 그닥 중요한 내용은 아니에요. "주석" 이란 말 들어봤나요? 금속 주석이 아니고 설명문을 뜻하는 거죠. 

그냥 코딩만 써놓으면 나중에 내가 뭔 짓을 해 놨는지 알 수 없을 때가 많아요. 

주석은 // 로 시작하고 //는 그 줄만 주석 처리되는 거랍니다. 

긴 문단을 주석처리하려면 /* 문단 */ 이렇게 하면 돼요. 그리고 주석부분은 프로그램에 아무런 영향을 주지 않는답니다.


자 이제 중요한 본론으로 넘어가서 아두이노에는 아래 그림 처럼 꼭 

void setup() {

}

void loop(){

}

가 들어가 줘야해요. 

void ***()는 함수에요. 

그러니까 아래 코드에는 setup이라는 함수와 loop라는 함수로 구성된거죠. 

setup은 말 그대로 설정이에요. 기본 설정을 하는거죠... 

loop라는 함수는 뜻대로 계속 도는거에요. loop함수 내의 내용이 무한 반복되는거죠. 



setup함수에 뭐가 있나 볼까요? 주석 빼고는 

pinMode(13,OUTPUT); 

이것 밖에 없네요. 지난번 포스팅에서 보면 우리가 LED를 13번 핀에 연결했어요. 기억 안나면 한번 다시 가서 보세요. 

13번에 연결된 LED를 켜려면 뭔가 전원을 출력해줘야 하겠죠? 

그래서 출력 이라는 뜻의 OUTPUT을 적어줍니다. 

"13번핀의 모드를 출력으로 바꿔라" 이런 의미인거죠

이번에는 loop함수 안에는 뭐가 있나 보죠. 

주석 빼고 

digitalWrite(13,HIGH);

delay(1000);

digitalWrite(13,LOW);

delay(1000);

이라고 되어 있어요

디지털 쓰기 (13, 하이) 이런의미죠. 알다시피 디지털은 0과 1로 되어 있어서 1은 HIGH, 0은 LOW입니다. 당연히 HIGH라고 써주면 13번 핀에 1을 출력 하겠죠. 아두이노는 내부 전압이 5V로 동작하므로 HIGH를 해주면 5V가 출력됩니다. 0인 LOW를 입력하면 당연히 꺼져서 0V가 나오니까 LED가 동작하지 않아요. 

delay란 함수는 말그대로 지체를 의미합니다. delay 함수 안에 씌여진 1000이란 숫자는 1000ms를 뜻합니다. 그러니까 1초가 되겠죠. 

위의 내용을 무한 반복하면 LED가 켜지고 1초후 꺼졌다가 다시 1초후 켜짐을 무한 반복하게됩니다. 

깜빡이는 속도를 변화시키려면 delay함수 안의 숫자를 바꾸면 되겠죠. ^^



'아두이노' 카테고리의 다른 글

휴대용 GPS 위치 표시기  (0) 2015.04.03
아두이노 LED 구동  (0) 2015.03.06
Posted by J1Lee
,