카테고리 없음

프로세싱 아두이노 연결

abc0123 2017. 9. 24. 13:35
반응형

지난 글에서는 컴퓨터에 Processing 프로그램을 설치해봤는데 이제 컴퓨터에서 Arduino를 제어할 수 있도록 프로세싱과 아두이노를 연결하는 과정을 정리해보자. 프로세싱에서도 잠깐 언급했지만 아두이노는 'C와 C++'언어를 사용하고 프로세싱은 '자바(JAVA)'를 사용하기 때문에 이 둘을 연결해서 제어하기 위해서는 라이브러리를 하나 추가해줘야 하는데 간단한 과정이지만 나 같은 초보는 조금 헷갈리는 부분도 있었기에 내가 겪은 시행착오를 포함해서 그 과정을 간단하게 정리해본다.

 

 

먼저 아두이노에서 제공하는 라이브러리를 하나 받아야 하는데 아래 주소를 선택하면 해당 홈페이지로 이동하게 된다.

 

Playground

 

이동해서 다음과 같은 페이지가 나타나면 중간쯤에...

 

Processing

 

▲ Download 목록이 보이고 그중에 processing-arduino.zip라를 압축 파일이 보이는데 이 녀석을 받으면 된다. 받아서 압축을 풀어보자.

 

arduiino

 

▲ 압축을 풀고 그 안을 들여다보니 arduino라는 폴더가 하나 있다. 이 녀석을 processing의 라이브러리 폴더에 넣으면 되는데 지난 글에서 알아봤듯이 프로세싱은 설치를 따로 하지 않고 바로 사용하는 프로그램인데 다음과 같은 경로에서 라이브러리 폴더를 찾을 수 있다.

 

연결

 

▲ 윈도우 탐색기에서 [라이브러리 > 문서 > Processing] 폴더를 순서대로 선택하면 그림처럼 libraries가 보인다. 이 안에 앞에서 받은 파일을 복사해서 넣으면 된다. 이제 프로세싱 프로그램을 실행해서 제대로 추가가 됐는지 확인해보자.

 

내부

 

▲ 프로그램 실행 후 [스케치 > 내부 라이브러리.. > Arduino(Firmata)]라는 목록이 보이면 제대로 추가가 된 것이다. 다음은 아두이노 쪽에서 한 가지 작업을 해줘야 하는데 보드에 다른 프로그램에서 접근할 수 있도록 해주는 예제를 보드에 하나 심어줘야 한다.

 

 

먼저 컴퓨터와 Arduino 보드를 연결한 후 프로그램을 실행하자.

 

StandardFirmata

 

▲ 그리고 위 그림처럼 [파일 > 예제 > Firmata > StandardFimata] 예제를 선택해서 보드에 업로드해주면 된다. 이제 프로세싱에서 간단한 코딩을 해서 아두이노를 제어할 수 있는지 확인해보자.

 

코드

 

▲ 자바 코드이긴 하지만 대부분의 프로그램 언어의 문법이 비슷하기 때문에 어렵지 않게 습득이 가능하다. 먼저 아두이노와 통신을 하기 위해서 processing.serial.*;를 import 했고 라이브러리를 사용하기 위해서 cc.arduino.*;를 import 했다. 그리고 Arduino의 객체를 생성한 후 컴퓨터에서 제어할 디지털 핀 7번을 led 변수에 할당하고 있다. 나는 여기에서 디지털 핀 7번에 LED를 하나 연결해서 프로세싱에서 제어하는 코드를 작성해본 것이다.

 

7번

 

▲ 초기화 구간인 setup()에서는 자바 프레임의 크기를 300X300으로 만들고 있으며 my_arduino를 초기화하고 있는데 여기서 두 번째 인자로 전달 된 "COM3"는 현재 내 컴퓨터와 아두이노가 연결된 포트이다. 이건 컴퓨터마다 다를 수 있기 때문에 Arduino에서 확인한 후 값을 전달해주면 될 것이다.

 

개발환경

 

▲ 혹시 포트 번호 모르는 분들은 위 글 잠깐 참고하면 확인할 수 있을 것이고 다시 setup() 내용으로 돌아가 보면 pinMode에서 사용할 핀번호 (led=7)에 OUTPUT을 설정해주고 있는 모습이다.

 

 

draw() 함수에서는 설정한 7번 핀에 전기 신호를 보냈다가 0.2 [delay(200)] 초 후에 끄는 작업을 반복하도록 하고 있는 내용인데... 여기서 혹시 프로그램 아래쪽에....

 

업데이트

 

▲ 위 그림과 같이 Updates가 표시된다면 반드시 업데이트를 해줘야 한다. 나는 나중에 할 생각으로 무시하고 진행을 했더니 Arduino와 통신을 못하는 문제가 발생하더라. 나 같은 초보님들이 많이 실수할 수 있는 부분이라서 정리하고 넘어간다. 이 표시가 보인다면 반드시 클릭해서 업데이트하고 진행하시길...

 

여하튼 그렇게 프로그램을 작성한 후 보드에 업데이트를 해보니...

 

 

▲ 두 녀석이 제대로 연결이 돼서 컴퓨터에서 프로세싱 프로그램을 이용해서 아두이노 보드를 제어할 수 있는 걸 확인할 수 있다.

 

이렇게 해서 컴퓨터에서 아두이노를 제어하기 위해서 프로세싱에 라이브러리를 추가하고 연결을 해봤는데 기존 아두이노 프로그램만 사용한다면 소스 코드를 보드에 업로드 한 후에는 다른 소스 코드를 업로드하기 전에는 더 이상 우리가 제어를 할 수 있는 방법이 없었는데 프로세싱을 이용하면 실행과 멈춤을 언제든지 통제할 수 있으니 앞으로 재미있는 예제들을 만들어볼 수 있을 것 같다.

반응형