아두이노 디지털 핀 역할 - adu-ino dijiteol pin yeoghal

아두이노 기본문법

6. 아두이노 스케치 디지털핀 출력 ( pinMode( ), digitalWrite( ) )

■ 아두이노 스케치 디지털핀 출력 ( pinMode(), digitalWrite() )

아두이노는 디지털 신호 또는 아날로그 신호를 통해 다른 전자기기들과 통신(데이터를 주고 받음)할 수 있다.

이번에는 아두이노의 디지털 신호 디지털 핀에 대해 알아 보자.

디지털 신호는 2개의 신호로 이루어져 있다 .

전기적 신호를 줄때와 안줄때 전기신호를 줄때는 1 또는 HIGH라고 표현하고 5v를 출력하며,

전기신호를 안줄때는 0 또는 LOW라고 표현하며 0v를 출력한다.

이때 5v를 보통 우리는 레벨이라고 표현한다.

아두이노 디지털 핀 역할 - adu-ino dijiteol pin yeoghal
 

아두이노 우노 보드에는 디지털 0번부터 13번핀까지 총 14개의 디지털 핀이 존재한다.

각 핀은 개별적으로 디지털신호를 입력받거나 출력할 수 있다.

아두이노 디지털 핀 역할 - adu-ino dijiteol pin yeoghal
 

아래의 코드를 이용하여 간단한 실습을 해보자.

=============================================================================

void setup() {

  pinMode(13, OUTPUT);

}

void loop() {

  digitalWrite(13, HIGH);

  delay(1000);

  digitalWrite(13, LOW);

  delay(1000);

}

=============================================================================

위의 코드는 아두이노 보드에 기본적으로 내장되어있는 내장LED를 제어하는 소스코드이다.

아두이노의 내장 LED는 디지털 13번핀과 연결되어 있다.

일부 호환보드의 경우 내장LED가 제대로 작동하지 않는 경우도 있다. 

그런 경우 13번핀에 LED를 연결해서 확인해보자.

pinMode( 핀번호 , 모드 )

사용할 디지털 핀의 모드(입력 or 출력)를 설정하기 위한 함수이다.

핀번호 - 모드를 설정할 디지털 핀 번호를 적는다.

모드 - OUTPUT(출력) 또는 INPUT(입력)을 적는다.

digitalWrite( 핀번호 , 신호 )

설정 핀에 대지털 신호를 출력하기 위한 함수이다.

핀번호 - 신호를 출력할 디지털 핀 번호를 적는다.

신호 - HIGH 또는 LOW를 적는다.

이번에는 LED를 연결하여 제어해보자.

아두이노 디지털 핀 역할 - adu-ino dijiteol pin yeoghal
 

위의 그림처럼 아두이노 우노, 저항(330옴), 기본LED, 브래드보드를 이용하여 만들어보자.

LED의 긴다리가 (+)극, 짧은다리가 (-)극 이다.

긴다리는 디지털 8번핀과 연결하고, 짧은 다리는 아두이노 보드의 GND에 연결한다.

디지털핀은 5v(+) 역할을하고, GND는 (-) 역할을 한다.

회로도대로 연결이 끝났으면 아래와 같이 소스코드를 작성하도록 한다.

=============================================================================

void setup() {

  pinMode(8, OUTPUT);

}

void loop() {

  digitalWrite(8, HIGH);

  delay(1000);

  digitalWrite(8, LOW);

  delay(1000);

}

=============================================================================

​위의 소스코드를 업로드 하면 LED가 1초간격으로 꺼졌다가 켜졌다가를  반복 할 것이다. 

그럼 이번에는 LED 3개를 동시에 연결해보자.

아두이노 디지털 핀 역할 - adu-ino dijiteol pin yeoghal
 

빨간색 LED는 디지털 6번핀, 노란색 LED는 디지털 5번핀, 초록색 LED는 디지털 4번핀에 연결한다.

위의 회로도처럼 연결을 했다면 아래의 소스코드를 작성해보자.

=============================================================================

void setup() {

  pinMode(6, OUTPUT);

  pinMode(5, OUTPUT);

  pinMode(4, OUTPUT);

}

void loop() {

  digitalWrite(6, HIGH);

  delay(1000);

  digitalWrite(6, LOW);

  digitalWrite(5, HIGH);

  delay(1000);

  digitalWrite(5, LOW);

  digitalWrite(4, HIGH);

  delay(1000);

  digitalWrite(4, LOW);

}

=============================================================================

​위의 소스코드를 아두이노 보드에 업로드하면 빨간색, 노란색, 초록색  LED가 순서대로 ON/OFF 된다.