2012-12-09 4 views
0

ECE 사람들 : 포토 트랜지스터를 가리키는 LED가있는 간단한 회로가 있습니다. 액체 방울이 무작위로 떨어지는 튜브가 그들 사이에 있습니다. LED가 폐색 될 때 방출기로 Arduino가있는 전압을 읽습니다.포토 트랜지스터로 액체 방울을 검출하는 방법

비 -ECE 사람들 : 나는 Arduino 루프를 통해 언제나 거의 일정한 값을 읽고 있습니다. 때때로이 값은 알 수없는 루프 수가 변경 될 수 있습니다. 이 문제가 발생할 때마다 카운터를 증가시키고 여러 번 계산하지 않으려합니다.

나는 내 자신의 몇 가지 방법을 시도해 보았습니다. (예를 들어, 몇 가지 값의 평균과 마지막으로 다른 값을 검사하는 등) 상당히 불안정한 것 같습니다. 나는 시그널 프로세싱이나 다른 어떤 분야의 전문가는 아니지만, 이런 종류의 일에 좋은 방법이나 알고리즘이 무엇인지 궁금합니다. 어떤 도움을 주시면 감사하겠습니다. 감사!

+0

먼저 포토 레지스터를 보정하십시오. –

+0

무엇? 누가 포토 레지스터가 있다고 했습니까? – ballaw

+0

오 sty .. 게시물을 잘못 읽었습니다 –

답변

0

이것은 탐지 된 방울의 수를 지금까지 업데이트하는 간단한 함수입니다.

int UpdateCount (int current, int old, int count) // current is current value of phototransisor, old is the old value 
    if ((current==1)&(old==0)){ 
     return count count+1 
    } 
} 

이 함수는 포토 트랜지스터의 "필터링"현재 및 이전 값에 소요의 값에 기초하여 카운트를 갱신한다.

로우 패스 필터를 구현하려면 위키의 로우 패스 필터 (http://en.wikipedia.org/wiki/Low-pass_filter)를 참조하십시오. 쉽게 코드를 작성할 수있는 표현식을 얻을 수 있습니다.

저는 통합에 대한이 두 가지 하위 솔루션이 문제를 해결한다고 생각합니다.