Q1. void setup() 함수와 void loop() 함수는 아두이노의 가장 기본적인 명령어이다. 각각 무슨 역할을 하는지 생각해 보자.
void setup은 스케치에서 한번만 실행이 되고 void loop는 반복적으로 실행이 된다.
프로그램의 실행은 항상 맨 위부터 아래로 순차적으로 진행된다. void setup은 말 그대로 아두이노 실행 환경을 세팅해주는 것이다. 그러므로 프로그램의 맨 위에 위치해 있으며 한번만 실행하고 넘어가게 된다.
void loop는 프로그램이 끝나도 loop문의 처음으로 돌아가 계속해서 반복하도록 해준다. 우리가 마이크로 컨트롤러를 이용하는 이유는 자동화 시스템을 구현하기 위한 기초단계라고 생각하면 된다. 그러기 위해서는 단 한번의 프로그램으로 끝나서는 안되고 무한적인 반복실행이 꼭 필요하다.
다음페이지에서는 시리얼통신을 이용하여 컴퓨터에 입력된 데이터를 아두이노에 보내고, 아두이노에서는 다시 수신된 데이터를 컴퓨터로 보내 시리얼 모니터로 출력하는 실험을 할 것이다. 이 부분은 가장 기초적인 부분이며 앞으로도 많이 사용될 것이기 때문에 다소 이해가 되지 않더라도 가벼운 마음으로 실험을 해보고 넘어가도록 하자.
프로그램 작성
Serial.begin(9600);
이 함수는 통신 설정을 해주는 함수이다.
9600이란 숫자는 통신 속도를 나타내며 단위는 bps(Bit Per Seconds)로서 초당 9600bit의 데이터를 송신한다.
이번 예제에서는 9600bps로 통신을 하였지만 이외에도 38400bps, 115200bps 등도 많이 사용된다.
숫자가 클수록 통신 속도가 빠르다.
Serial.available();
이 함수는 시리얼통신에 무언가 입력이 되었다는 뜻이다.
Serial.read();
수신된 시리얼 데이터를 읽어 온다.
스케치에서 data = Serial.read(); 라고 하였는데 이는 수신된 데이터를 data라는 변수에 저장하는 것이다.
Serial.print(data);
data라는 변수에 저장된 데이터를 시리얼 모니터 화면에 출력하는 함수이다.
앞에서 사용했듯이 변수를 써넣은 자리에 큰따옴표 안에 글자를 입력하면 본인이 원하는 글자를 출력할 수 있다.
실행결과
본인이 원하는 글자를 입력 후 "전송" 버튼을 누른다.
프로그램을 정확하게 업로드 하였다면 전송된 글자가 시리얼모니터에 나타나게 된다.
프로그램 업로드 후 툴-시리얼 모니터 아이콘을 클릭하면 시리얼 모니터 프로그램이 실행된다.
시리얼 모니터 화면의 "전송" 버튼의 왼쪽 입력박스에서 PC의 키보드를 이용해서 아무 문자나 입력을 하고 "전송" 버튼을 눌러보자.
입력한 문자가 그대로 시리얼 모니터 창에 표시가 된다면 올바르게 실행이 완료된 것이다.
아래 그림처럼 "Hello arduino!" 라고 입력한다.
그리고 시리얼 모니터에서 반드시 앞에서 선언한 속도와 같은 "9600baud" 를 선택해야 한다.
통신 속도를 다르게 설정하면 통신이 되더라도 올바르지 않은 데이터들이 송수신 된다.
이 실험으로 우리는 시리얼모니터에 글자를 출력하는 법을 배웠다. 앞으로 많은 예제에서 시리얼통신을 이용하여 센서의 입력값, 혹은 포트의 출력값 등 많은 곳에서 이용하게 될 것이다. 시리얼 통신의 기본 용어를 충분히 익힌 후 다음으로 넘어가도록 하자.
'아두이노' 카테고리의 다른 글
2.1 LED에 전원 인가하기 (0) | 2019.12.18 |
---|---|
1.4 라이브러리 추가하기 (0) | 2019.12.18 |
1.3 시리얼통신 사용해보기 (0) | 2019.12.18 |
1.2 아두이노 실행하기 (0) | 2019.12.18 |
1.1 아두이노란? (0) | 2019.12.18 |
댓글