아두이노2015. 9. 19. 10:00

아두이노의 각종 센서들을 연결하여 테스트를 하다보면 

아두이노 IDE의 시리얼모니터로 데이터를 모니터링 하는 경우가 많다. 

이렇게 센서에서 아두이노를 거쳐 IDE의 시리얼모니터로 흘러오는 데이터들을 저장하고 싶다는 생각을 

누구나 한 번 쯤은 했을 것이다.


하지만 아두이노의 시리얼모니터는 그저 데이터들을 볼 수 있을 뿐 저장 하는 기능은 가지고 있지 않다.

이럴 경우 텍스트 파일로 시리얼 포트의 데이터들을 저장하는 방법을 알아보자.


저장하는 방법은 시리얼 포트의 내용을 탐지하는 소프트웨어를 사용하면 가능하다.

CoolTerm 이라는 소프트웨어를 이용하면 되는데 시리얼 포트로 들어오는 내용을 볼 수 있으며

그 내용을 텍스트 파일로 저장하는 기능을 가지고 있다.


1. CoolTerm 다운로드

http://freeware.the-meiers.org/ 사이트로 이동하면 하단에 CoolTerm 다운로드 링크가 있다.

다운로드 받아서 별도의 설치과정 없이 CoolTerm.exe를 실행하면 된다.

참고로 프리웨어이지만 마음에 들면 홈페이지에서 Donation 할 수 있다.

CoolTerm 버전 1.4.5  (2015/02/14 버전)


윈도우용

CoolTermWin.zip.001

CoolTermWin.zip.002


맥용

CoolTerm_Mac.zip


리눅스용

CoolTermLinux.zip.001

CoolTermLinux.zip.002


CoolTerm 홈페이지



2. 아두이노 PC 연결 및 시리얼 포트로 데이터 출력

물론 아두이노에서는 시리얼 포트로 데이터를 출력하고 있어야 한다.

나의 경우는 예전 포스팅 중에서 DHT11을 이용한 온도, 습도 예제를 사용하여 시리얼모니터로 출력해 보았다.

현재의 온도와 습도를 센서에서 읽어 시리얼 포트로 출력하는 예제이다.

당연한 말이지만 무엇을 출력하든지 자신이 저장하고 싶은 데이터를 출력하면 된다.

http://deneb21.tistory.com/207




3. CoolTerm 을 사용하여 시리얼 포트로 들어오는 내용을 텍스트 파일로 저장

프로그램을 실행하면 위와 같은 화면이 뜬다. Connection > Options 클릭




Option 창에서 Scan 또는 Re-Scan Serial Ports 를 클릭하면 자동으로 시리얼 포트를 잡는다.

Port, Baudrate 등이 맞는지 다시 확인하고 OK 클릭.




Connection > Connect 를 클릭하면 시리얼 포트에 연결되고 

아두이노에서 시리얼 포트로 출력(Serial.print())되는 값들을 가져올 것이다.




시리얼 모니터에서 보는 것과 같은 내용이 보일 것이다. 




텍스트 파일로 저장하기 위해서 Connection > Capture to Textfile > Start 를 클릭한다.




텍스트 파일의 이름과 저장위치를 지정한다.





위와 같이 텍스트 파일이 선택한 위치에 생성이 된다.





텍스트 파일을 열어서 보면 위와 같이 아두이노에서 보낸 시리얼 포트의 출력내용이 파일에 저장되는 것을 볼 수 있다.

적당한 구분자까지 저장되도록 아두이노의 출력내용을 조작한다면 

엑셀의 CSV 같은 파일로 읽어들여서 데이터로 활용하거나 

DBMS에서 Import하여 통계 등으로도 활용이 가능할 것이다.

반응형
Posted by 대네브 (deneb)

댓글을 달아 주세요

  1. ni1919rt

    결과값을 capture to textfile로 보내는데 asc 파일로저장이됩니다

    2016.05.16 16:13 [ ADDR : EDIT/ DEL : REPLY ]
  2. ni1919rt

    어떻게해야하나요??

    2016.05.16 16:13 [ ADDR : EDIT/ DEL : REPLY ]
    • 위의 사진과 같이 저장위치 정할때 끝에 txt 확장자를 붙여주세요. 그런데 asc 로 저장은 안해봤지만 그것도 텍스트 형식으로 저장이 될 것 같긴 하네요??? asc 파일 한번 메모장으로 열어보세요.

      2016.05.16 16:25 신고 [ ADDR : EDIT/ DEL ]