본문 바로가기

아두이노(arduino)

아두이노 digitalWrite(디지털라이트), pinMode(핀모드), delay(딜레이) 함수 사용법

digitalWrite 함수

digitalWrite 함수는 전기를 켜고 (on), 끄는(off) 역할을 할 수 있는 함수이며 아두이노 스케치에서는 on은   HIGH로 off는 LOW로 표현합니다.

예 : digitalWrite(13,HIGH);      // 13번 핀을 HIGH , 즉 전기가 흐를 수 있게 연결하겠다. (스위치 역할)

digitalWrite 함수를 사용할 수있는 디지털 핀

위 그림에서 볼 수 있듯이 윗쪽 0번부터 13번까지 아래 A0~A5까지 사용할 수 있습니다.

어? 원래 디지털핀은 1번부터 13번까지만 사용하는것 아니었어요? 라고 반문하시는 분도 계실 수 있습니다.

 

한번 말씀드린 적이 있죠? A0부터 A5까지는 d14~d19번까지 사용할 수도 있습니다. 아날로그 입력뿐만 아니라 디지털 출력도 쓸 수 있다는것 꼭 명심하세요!!

 

그리고 가급적이면 0번과 1번은 사용하지 않도록 합니다. (통신용으로 할당 -정보 송수신용)

 

먼저 디지털 출력을 쓰기 위해선 먼저 설정(pinMode)을 해줘야 합니다. 

 

 

5V == HIGH == 1(참)    셋다 같다.

0V == LOW == 0(거짓)    //

 

 

프로그래밍 언어 작성할때 == 연산자가 같다입니다. 

수학에서 사용하는 = 는 코딩할때 대입한다로  사용합니다.

 

예 : A == B     // A 와 B는 같다.

       A = B       // A에 B를 대입한다 (즉, B의 값을 A에 집어 넣는다 기존에 있던 A값은 없어지고  B값으로 대체된다.)

 

pinMode (  ) 함수

 

 

바로 핀모드 함수인데요

정보를 입력받던지, 아니면 정보를 토대로 출력을 하던지 먼저 아두이노에게

 

야!! 나는 몇번 핀을 어떤식(출력,혹은 입력)으로 사용할꺼야!!

 

라고 이야기를 해주는거죠!!

 

pinMode( 핀번호, 입력 혹은 출력 또는 INPUT_PULLUP); 

 

pinMode에서 대문자 소문자는 필히 구분하셔야합니다. M만 대문자

그런다음 내가 몇번째 핀에 케이블 혹은 와이러를 꽂았는지 확인하고 입력으로 쓸지 출력으로 쓸지 확인한후 OUTPUT(출력) 혹은 입력 (INPUT)을 작성합니다. 

 

 

void setup() {

pinMode(13,OUTPUT);    // 13번핀에 연결하고 출력으로 핀을 설정합니다. 

}

 

 

* INPUT_PULLUP - 보통 버튼의 경우 외부에 저항을 사용하는데, 아두이노에 있는 저항을 사용 할 경우 INPUT_PULLUP을 사용하기도 합니다. 

 

delay(  ) 함수

delay함수는 주어진 시간 만큼 흘러가는 코드들을 입력된 시간만큼 멈춰 아무런 행동도 하지 않게 됩니다. 

 

delay( 500 );  //  여기에서 500은 ms (밀리초)로 0.5초에 해당됩니다.

 

예 :  1초 == delay(1000);

      0.02초 == delay(20);

 

ms는 unsigned long 형으로 표현됩니다. (0~ 4,294,967,295)

 

*뒤에서 다시한번 delay에 대해 추가적으로 다루겠지만, delay함수의 치명적인 단점이 존재하게 됩니다.

 

 

 

실습

 

 

앞서 배운 digitalWrite 함수, pinMode함수, delay 함수를 이용해 간단한 코드를 구현하고 실습을 통해 정상적으로 작동하는지 확인해보도록 하겠습니다.

 

void setup(){

pinMode(13,OUTPUT);    // 13번핀을 출력으로 사용하겠다.

}

 

void loop(){

digitalWrite(13,HIGH);  // 13번핀을 켠다 

delay(1000);    // 1초 기다린다.

digitalWrite(13,LOW);  // 13번핀을 끈다 

delay(1000);  // 1초 기다린다.

}

 

해당 코드를 업로드해서 잘 작동되는지 확인해볼텐데, 오늘은 아두이노의 내장된  led를 이용해 확인해보도록 하겠습니다.

 

 

아두이노 보드 설정

먼저 내가 어떠한 보드를 사용할지 설정부터 하구요. 저는 참고로 아두이노 우노보드( 가장 대중화된)를 사용합니다.

 

 

아두이노 포트 설정
아두이노 포트 설정

그런다음 아두이노가 컴퓨터의 어느포트에 연결되있는지 설정합니다. 저는 com7에 연결되어 있네요.

어느포트에 있는지 확인하기 위한 방법은 지난번에 작성한 포스팅링크를 클릭하시면 확인가능합니다.

 

2022.12.26 - [아두이노(arduino)] - 아두이노 호환보드 드라이버 다운로드 및 설치방법(CH340 / CH341)

 

아두이노 호환보드 드라이버 다운로드 및 설치방법(CH340 / CH341)

아두이노 드라이버는 무조건 설치해야 되나요? 아두이노를 사용하기 위해선 IDE(통합개발환경) 스케치프로그램을 이용해야 합니다. 그러기 위해선 아두이노와 연결을 해야 하는데 정품보드는

ronco.tistory.com

 

 

 

 

 

 

업로드가 정상적으로 완료되면 아래와 같이 업로드 완료라는 문구가 뜹니다.

이제 정상적으로 잘 작동되는지 확인해볼까요?

 

 

우측 상단에 보이는 노란색 불빛이 아두이노에 내장된 led입니다. 13번 핀과 연결되어 있습니다. (주로 테스트 용도로 많이 사용)

 

 

 

어때요? 정상적으로 작동되는걸 확인 할 수 있습니다.