2-4 시리얼 모니터로 LED 제어하기

공부하는 학생 A·2024년 1월 23일

아두이노 

목록 보기
10/74

시리얼 통신은 아두이노와 컴퓨터 사이에 통신할 때 사용하는 방법이다.
모든 아두이노 보드는 시리얼 포트(UART)가 최소 한 개 이상 있다.
시리얼 통신을 하면 아두이노의 디지털 핀'0번'은 'RX','1'번은 'IX'를 담당하여 데이터를 전송 및 수신한다. 시리얼 통신을 하기 위해서는 시리얼 설정을 먼저 해야 한다.

스케치 2-5 시리얼 통신으로 LED 제어하기

void setup(){
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}
int i;
void loop(){
  if (Serial.available()>0){
    i=Serial.read();
    Serial.println(i);
    if (i=='1') digitalWrite(13,HIGH);
    if (i=='0') digitalWrite(13,LOW);
  }
}

스케치 2-5 설명

Serial.begin(9600);

  • Serial.begin(속도);
  • 시리얼 통신을 선언하고 속도를 설정한다.

if (Serial.available()>0){ }

  • if(조건문)은 시리얼 통신이 가능한지를 확인하기 위해 사용한다. 조건이 참(True)이면 뒤에 나오는 문장을 실행한다. 조건문을 실행시키는 블록을 중괄호로 감싼다.

Serial.read( );

  • 시리얼 케이블로 들어오는 시리얼 데이터를 읽는다.

if (i=='1') digitalWrite(13,HIGH);

  • 입력값이 '1'이면 뒤에 나오는 코드를 실행한다.

Serial.println(i);

  • 입력 값을 확인하기 위해 시리얼 모니터에 값을 나타내는 명령어다. println은 값을 표시하고 '새 줄(newline)'에 다음 라인을 표시하는데 ASCII 값 10을 넣는다.

2-5 실행과정 및 결과

시리얼 모니터에 1을 입력하면 49가 나타나고 0을 입력하면 48이 나타난다. 이 경우는 정수 값이 시리얼 모니터에 표현될 때 ASCII 코드 방식으로 표현되기 때문이다. ASCII 방식은 '0'이 48에 할당되어 있고 '1'이 49에 할당되어 있다.

profile
Shine like a star, Just like a star

0개의 댓글