중급 예제

약간은 익숙하시거나 익숙해지셨나요? 그렇다면 조금더 깊이 다뤄볼까요?

아두이노와 엑셀 연동하기

2015-05-29 10:23:28

개요

아두이노와 엑셀을 연동할 수 있다는 사실을 알고 계셨나요?

PLX-DAQ라는 프로그램을 사용하면 아두이노에서 측정 가능한 데이터를 엑셀로 출력할 수 있습니다.

 

엑셀은 다들 아시다시피 모든 영역이 셀로 이루어져 있고 수천가지의 다양한 함수를 제공하기 때문에 데이터를 정렬하거나 정리, 편집할 때 사용하게 되는 프로그램 입니다. 

 

 

 

아두이노를 사용하다보면 이 데이터(Data)는 계속적으로 저장하여 하나의 정보(Infomation)로 만들고 싶을 때가 있습니다. 아두이노에서는 시리얼 모니터에 출력하는 기능을 주로 사용하기 때문에 한번 출력된 데이터는 모니터 위로 올라가게 되면 묻히기 일쑤입니다.

 

 

이때 이 데이터를 엑셀로 옮길 수만 있다면 유용한 하나의 정보가 될 수 있습니다.

 

아두이노의 데이터를 엑셀로 옮기는 방법에 대해 알아 봅시다.

 

 

부품 목록

 

NO 부품명 수량 상세설명
1 오렌지 보드 1 아두이노
2 조도센서 1  
3 10kΩ저항 1  
4 점퍼 케이블 1  
5 브레드 보드 1

 

부품명 아두이노 조도센서 10kΩ저항 점퍼 케이블 브레드 보드
파트
 

위 부품은 이번 튜토리얼을 진행할 때 필요한 부품이고 나중에 엑셀과 응용할 때는 다른 센서를 써서 다른 값을 사용해도 무방합니다.

 

하드웨어 making

 

브레드 보드

 

 

전자 회로도

 

 

 

 

 

소프트웨어 coding

 

PLX-DAQ 프로그램을 사용하기 위해서는 웹페이지에 방문하여 프로그램을 다운로드해야 합니다.

아래 링크를 통해 프로그램을 받을 수 있습니다.

 

PLX-DAQ 내려받기 : https://www.parallax.com/downloads/plx-daq 

 

파일은 압축파일 형태로 이루어져 있습니다. 압축을 풀면 아래와 같은 파일을 볼 수 있습니다.

plx_daq_install.exe를 실행시켜 프로그램을 설치합니다.

 

 

아래와 같은 설치화면을 시작으로 설치를 시작할 수 있습니다.

 

 

 

설치가 끝나면 PLX-DAQ폴더를 볼 수 있습니다.

이 폴더안에서 PLX-DAQ Spreadsheet의 엑셀파일을 볼 수 있는데 이 파일을 통해 엑셀과 아두이노를 연결할 수 있습니다.

 

 

 

엑셀파일을 실행하게 되면 아래와 같은 화면을 볼 수 있습니다. 그냥 무시하시면 됩니다.

 

 

 

계속 진행하면 아래와 같은 창을 볼 수 있습니다. 엑셀의 매크로를 통해 만든 프로그램인듯 합니다. 

프로그램을 보면 간단히 Setting에서 Port와 Baud를 볼 수 있는데 포트번호와 대역폭 설정을 통해 시리얼 통신으로 아두이노와 연결할 수 있습니다.

문제는 Port를 1번부터 15번까지밖에 설정할 수 없습니다. 그렇기 때문에 그 위의 포트번호를 가지는 아두이노와는 시리얼통신을 할 수 없습니다.

대역폭은 기본 9600을 많이 쓰기 때문에 9600이 기본값으로 설정돼있고 위 두개의 값만 설정해 준다면 Connect버튼을 눌러 아두이노와 시리얼통신이 가능합니다.

 

 

 

아두이노와 연결하여 조도센서의 값을 읽어온 모습입니다. PLX-DAQ 자체 명령어를 통해 시간데이터를 받아올 수 있으며 위의 Table의 제목또한 설정이 가능합니다.

 

 


int cdsPin = A0;   //조도센서 핀번호 설정
int cdsVal;

void setup()
{
    Serial.begin(9600);
    Serial.println("CLEARDATA");
    Serial.println("LABEL,Time,illumination"); //라벨 작성
 
}
 
void loop()
{
    //온도 측정
   Serial.print("DATA,TIME,");     //현재 시간을 출력
   
   cdsVal = analogRead(A0);        //조도값 측정
   
   Serial.println(cdsVal);         //조도값 출력
}
 

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

tools, arduino, PLX-DAQ, 아두이노, EXCEL, 조도센서, cds

정영진 2016-05-02 12:09:24

안녕하세요 아두이노에 대해서 공부하고 있는 학생인데요
만약에 이걸 연동하면 mysql등 DB랑도 연동을 할수 있는건가요?

정영진 2016-05-02 12:25:53

제가 지금 엑셀 2010을 쓰고있는데 호환모드 들어가면서 실행할 수 없다고 뜨는데 해결법을 모르겠어요 ㅠㅠ

조정배 2016-09-22 18:36:38

엑셀2016 에서 안되네요 해결방법이 있나요?

염소할배 2016-09-23 09:55:06

2010에서 오류가 많이들 뜬다고 하네요
업데이트 안 한지 오래되어 그런지 확실한 이유는...
http://www.activexperts.com/serial-port-component/howto/vba/
위의 사이트를 참고하여 VBA를 만들어 보시면 될것 같습니다.