|
|
|
# Serial Communication
|
|
|
|
|
|
|
|
시리얼 통신은 직렬 통신, UART 통신 이라고 합니다.
|
|
|
|
이는 USB 케이블을 통해 아두이노와 컴퓨터 간 데이터를 주고받는 것을 의미합니다.
|
|
|
|
컴퓨터에서 아두이노에 데이터를 주거나, 아두이노의 프로그램 결과 값을 컴퓨터 창을 통해 확인하거나, 프로그램의 오류를 찾아 수정하는 디버깅을 쉽게 할 수 있게 합니다.
|
|
|
|
|
|
|
|
스케치 파일을 업로드 할 때 보드의 RX(데이터를 받을 때),TX(데이터를 보낼 때) 불빛이 빠르게 깜박이는 것을 볼 수 있습니다.
|
|
|
|
우노에서 serial pin은 0(RX), 1(TX)입니다.
|
|
|
|
|
|
|
|
Serial.begin(통신속도);
|
|
|
|
// 통신 속도(baud rate)는 300 ~ 115200 있는데 보통 9600으로 설정합니다.
|
|
|
|
// 통신 중인 두 장치가 같은 속도로 송수신을 해야 데이터의 누락이 없기 때문에 이 속도를 맞춰줘야합니다.
|
|
|
|
// baud 란 초당 비트 수를 나타내는 데이터 전송 속도입니다.
|
|
|
|
//Arduino Ide에서 시리얼 모니터를 열면 우측 하단에 속도들이 열거되어 있는데 이를 begin에서 선언한 속도와 맞춰주어야 합니다.
|
|
|
|
|
|
|
|
Serial.println(값, 형식); 혹은 Serial.print(값, 형식);
|
|
|
|
// 시리얼 모니터에 값을 출력하는 것으로 println은 줄바꿈을 포함한 출력문이고, print는 줄바꿈을 포함하지 않는 출력문입니다.
|
|
|
|
// 값에는 출력할 문자와 숫자를 모두 넣을 수 있는데 꼭 '' 또는 "" 사이에 넣어 주어야합니다.
|
|
|
|
|
|
|
|
delay(밀리 초);
|
|
|
|
// 선언한 밀리 초만큼 명령을 지연 시킵니다. 1000ms = 1s.
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
|
|
|
/*
|
|
|
|
serial 통신에 대한 예제 입니다.
|
|
|
|
*/
|
|
|
|
|
|
|
|
void setup(){
|
|
|
|
Serial.begin(9600); // 시리얼 통신을 준비하는 것으로 통신 속도를 9600으로 맞춥니다.
|
|
|
|
}
|
|
|
|
|
|
|
|
void loop(){
|
|
|
|
Serial.println("Hello Arduino!"); // 시리얼 창에 Hello Arduino!를 출력합니다.
|
|
|
|
delay(1000); // 1000ms(1초) 동안 기다립니다.
|
|
|
|
}
|
|
|
|
``` |
|
|
|
\ No newline at end of file |