본문 바로가기

관리하지않음/아두이노

[아두이노] 호환 풍속센서 사용법

[한진데이타] 아두이노 호환 풍속센서

한진데이타의 아두이노 호환 풍속 센서를 구매했습니다.

 

아두이노 호환 풍속센서 디바이스 마트 캡쳐

10만원에 육박하는 사악한 가격이지만, 개발 중인 프로젝트에서 풍속 센서 사용에 애를 먹고 있는지라 눈물을 머금고 구매했습니다. 디바이스마트에 관련 자료로 사용법이나 예제 코드가 있어서 쉽게 동작시킬 수 있었습니다.

 

1. 보드 구성

예제 코드 연결도

예제코드 연결도와 같이 센서와 아두이노를 연결해줬습니다.

 

아두이노 보드 구성

동작 확인만 하기 위해 엉성하지만 점퍼 케이블에 연결해서 보드를 구성했습니다.

 

2. 코드

디바이스마트에 제공되는 예제코드를 그대로 가져와서 Serial.println()부분만 변경해줬습니다.

#include <FreqPeriodCounter.h>
 
const byte counterPin = 3; 
const byte counterInterrupt = 1; // = pin 3
FreqPeriodCounter counter(counterPin, micros, 0);

unsigned long windspeed; 
 
void setup(void) 
{ 
  Serial.begin(115200); 
  attachInterrupt(counterInterrupt, counterISR, CHANGE);
}
 
void loop(void) 
{ 
  if(counter.ready()) { 
    windspeed = counter.hertz();    
    Serial.println(windspeed);
    if(windspeed > 200) windspeed = 0;
    Serial.print("windspeed: ");
    Serial.println(0.062*windspeed+0.578);
    delay(1000);  
  }
}
 
void counterISR()
{ 
  counter.poll();
}

Arduino > libraries 폴더 안에 FreqPeriodCounter 폴더를 복붙해줍니다.

 

Arduino > libraries

3. 실행

풍속 센서의 날개가 멈춰있는 상태에서는 주파수값이 200이하이므로 아무것도 출력되지 않습니다. 하지만 입으로 살짝 바람을 불어서 풍속센서 날개가 돌아가면 아래와 같이 주파수, 풍속 값이 출력이 됩니다.

 

실행 결과

예제코드를 돌려보니 10만원 값을 하는(?) 정밀한 센서라는걸 알게되었습니다. 예제코드가 제공되니 확실히 동작 테스트를 하기 편했습니다. counter를 사용하는 센서는 처음봤는데 생각보다 응용하기 쉬웠습니다. 비싼 것만 제외하면 정말 좋은 풍속센서였습니다.


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다 :D