728x90

아두이노를 사용하는건 좋은데 먼저 아두이노를 다른 부품 및 모듈을 컨트롤 하기 전에

아두이노에서 실행되고 있는 상태를 눈으로 보는게 좋다.

물론 결과로 보는 방법도 있지만 그렇게 하면 생산성도 떨어지고 무엇보다 본인들이 하기에 불편하다.

따라서 이번에는 아두이노의 결과들을 컴퓨터에 출력하게 해주는 방법에 대해서 알아보도록하자.


사실 아두이노에서 직접적으로 지원해주는건 Serial통신 밖에 없다.

이 시리얼 통신은 UART통신이라고 불리우는 것이데 사실 아직까지는 자세히 알필요는 없다.

그냥 아두이노와 여러분의 컴퓨터가 연결되어서 아두이노의 값들을 컴퓨터에 보는데 의의가 있다고 생각하면 편하다.

간단하게 아두이노에서 Hello World를 출력하는 것을 보도록하자.


void setup() {
Serial.begin(9600);
}

void loop() {
Serial.print("Hello ");
Serial.println("world!");
}

매우 간단한 코드이다.

이 코드를 실행시켜보자.


실행을하고 나면 오른쪽 상단에 버튼(필자는 돋보기 같은데 뭔지 잘 모르겠다.)을 눌러서 시리얼 모니터를 켜보자.


그러면 Hello world!가 출력된다. 만약 출력되지 않는다면 우측 아래에 보드레이트를 보자.

우리는 보드레이트를 9600으로 선택했으므로 출력을 보는 시리얼도 9600을 선택해야하만 보인다.

매우 빠른속도로 출력된다.

어떤느낌인지 궁금하다면 아래를 보자.


보다시피 매우 빠른 속도로 출력한다.

얼만 빠른 속도로 출력하냐면 가능한한 빠른 속도로 출력한다.

코드가 몇줄 안되지만 간단히 해석해보자.


Serial.begin(<보드레이트>) - 시리얼을 연결시킨다.

Serial.print("<문자열>") - 문자열을 출력시킨다.

Serial.println("<문자열>") - 문자열을 출력하고 강제개행(줄간격 바꿈)을 넣는다.


※용어 설명

보드레이트(Baudrate) - 1초당 변조횟수를 의미, 쉽게 이야기하면 1초안에 얼마나 데이터를 보내는지를 의미.

BPS(Bit per second) - 초당 보내는 비트 횟수의 의미, 보드레이트의 단위이다. 즉 9600보드레이트 = 9600bps를 의미


일단 출력을 매우 빠른 속도로 시행한다. 만약 출력을 적절한 속도로 제어하고 싶다면, delay함수를 사용한다.


void setup() {
Serial.begin(9600);
}

void loop() {
Serial.print("Hello ");
Serial.println("world!");
delay(1000);
}

delay함수의 역활은 말그대로 쉬는 것인데 단위는 ms이므로 1초를 쉬고싶다면 100을 입력해야한다.



보다시피 1초의 딜레이를 쉬고 출력을 한다.




'Microprocessor > Arduino' 카테고리의 다른 글

Arduino LED 켜기(저항,LED,digital출력)  (0) 2018.04.02
Arduino Serial Communication - input  (0) 2018.04.02
Arduino 기본 코딩 방식  (0) 2018.04.02
[Board]Arduino DUE  (0) 2018.04.02
[Board]Arduino UNO  (0) 2018.04.02

+ Recent posts