정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

초음파센서 NAN값 처리 방법 문의
잘하고파 | 2020-06-19

1.프로젝트 사용한 보드 종류

 아두이노 UNO

 

2,사용한 개발 프로그램명

 아두이노 IDE

 

3.사용한 센서 모델명

 초음파센서 (SR-04)

 

4. 연결한 회로 설명 (또는 이미지)

 

5. 소스코드(주석 필수)

 

EX)

 

==================

 

10

nan(=>10)

16

18
nan(=>18)

 

===================

 

함수

void loop() {

  long duration1, distance1;

  long duration2, distance2;  

  digitalWrite(trig1,HIGH); 

  delayMicroseconds(7000); 

  digitalWrite(trig1,LOW); 

  duration1 = pulseIn(echo1, HIGH);

  distance1 = ((float)(340 * duration1) / 10000) / 2; 

 

  digitalWrite(trig2,HIGH); 

  delayMicroseconds(7000); 

 

  

  digitalWrite(trig2,LOW); .

  duration2 = pulseIn(echo2, HIGH); 

  distance2 = ((float)(340 * duration2) / 10000) / 2;

 

  Serial.print("초음파1 거리 :");

  Serial.println(distance1);

  Serial.print("초음파2 거리 :");

  Serial.println(distance2);

 

  float a = 10;   

  long p1 = distance1; 

  long p2 = distance2; 

  long p3 = p1 - p2; 

  float s1 = acos((4* pow(a, 2) + pow(p2, 2) -  pow(p1, 2)) / (4*a*p2)); 

  int p = sqrt(pow(a,2)+pow(p2,2)-(2*a*p2)*cos(s1));

  float Q = degrees(acos((p2/p)*sin(s1))); 

 

6. 문제점 및 에러 내용

 초음파 센서의 데이터를 실시간으로 받아 계산과정을 거쳐

Q값을 받았습니다.

 

이 Q값이 정상 계산될 때도 있으나

가끔 nan 값이 뜹니다. 이전에 정상 계산된 데이터로 똑같이 취급할 수 있는 방법이 없을까요?

이전글   |    자이로센서를 이용한 아기뒤집기 알람을 만들려고 하는데 도움 주시면 감사하겠습니다.... 2020-06-18
다음글   |    블루투스 통신에 관련하여 궁금한 것이 있습니다. ... 2020-06-20