전기전자2010.11.08 21:51

거리센서 테스트 2번째 이야기입니다.
종전방식은 그냥 거리에 따른 출력 전압변화를 전압계로 관측하는 정도 였습니다.
이번엔 조금 더 발전하여 아듀이노 보드에서 거리센서에서 출력해주는 전압을 받은 뒤, 시리얼 통신으로 PC에 전달하고,
PC측에서는 시리얼통신으로 전송받은 수치를 그래프로 표현해주는 serial Chart 라는 프로그램으로 시각화 하는 예제가 되겠습니다.


[거리센서+아듀이노+시리얼통신+시리얼챠트 = 실시간 거리센서 파형관찰 ]



[ 동영상. 거리센서 결과를 SerialChart로 관측하기 ]

아마도 아듀이노로 할 수 있는 가장 그럴듯한 초보적 예제중 하나일듯 합니다.

1. 아듀이노 : 거리센서 Pin 연결도

 거리센서  아듀이노 보드
 +  5V
 -  GND
 V out
 Analog IN 0


2. 아듀이노 Sketch 소스코드

/**
 * 기본포함된 예제인 AnalogInSerial를  PC측 SerialChart 프로그램에서 인식할수 있도록 한 줄 추가한 코드입니다.
 */

 void setup() {
  Serial.begin(9600);
 }
 
 void loop() {
  // read the analog input into a variable:
   int analogValue = analogRead(0) /4;
   // print the result:
   Serial.print(analogValue);
      Serial.println("");   //serialChart 프로그램에서 data 패킷 단위를 구분(0x0d 0x0a가 전달됨)해주기 위해 필요합니다.

   // wait 10 milliseconds for the analog-to-digital converter
   // to settle after the last reading:
   delay(10);
 }


3. SerialChart 프로그램용 configuration 설정파일.
: 시리얼차트 프로그램은 입력받은 data를 configuration파일에 정의에따라 해석하여 그래프로 나타내줍니다.
아래의 예는 가장 간단하게 구성해본 예입니다. 더 다양한 설정이 가능하니 직접 해보시기 바랍니다.
 파일( 가령  imu_arduino.scc )에 아래의 내용을 적은 뒤 불러들이면 됩니다.
주의: COM3 같은 port 번호는 컴퓨터 설정마다 다른건 알고계시겠죠.. 자신의 설정에 맞게 수정해줍니다.

[_setup_]

port=COM3
baudrate=9600
width=700
height=500
background_color = white
grid_h_origin = 100
grid_h_step = 1
grid_h_color = #EEE
grid_h_origin_color = #CCC
grid_v_origin = 0
grid_v_step = 0.5
grid_v_color = #EEE
grid_v_origin_color = transparent

[_default_]
min=0
max=255

[DistanceSensor]
color=red



[관련 블로그글]

거리센서 출력전압 관측

우편함 뮤직로봇 응용예제

거리센서 판매



[참고사이트]
시리얼챠트 프로그램 다운로드:
 http://www.starlino.com/data/imu_kalman_arduino/SerialChart_01.zip  시리얼챠트 코드구글

아듀이노 스토리 까페: http://cafe.naver.com/arduinostory.cafe (시리얼차트프로그램도 여기 회원분을 통해 알게되었습니다.)
아듀이노 공식사이트: http://arduino.cc

저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. 안상훈

    안녕하세요 궁금한게 있어서 댓글 남깁니다. 혹시 측정값을 lcd에 나타낼 수도 있나요?
    거리 측정 센서값이 수직이 아니라서 값을 변환해서 나타내서 일정한 값이 나오면 글도 나오게 하고 싶은데 궁금해서
    댓글을 남기게 되었습니다.

    2013.11.25 02:10 신고 [ ADDR : EDIT/ DEL : REPLY ]