• 초음파센서 IOESR05

초음파센서 IOESR05

3,900 3,900
배송정보
3,200원 (조건부배송) 지역별 추가배송 주문시결제(선결제)
택배 / 방문수령

 

 

 

 

 


a8d1f50d5e4f7d7c00e257053aeeb914_074444.jpg

시리얼 통신으로 거리값을 송신하는 초음파 센서 모듈 입니다.

시리얼 통신에대한 어느정도 제어가 가능하신 분들만 사용하는게 좋습니다.

크기 : 33 * 22 * 15mm (SR04 보다 작습니다.)

작동상태를 표시 LED : 장애물이 있으면 LED 켜짐

동작전류 : 8mA

동작 주파수 : 40Hz

발생 주파수 : 40KHz

측정거리 " 0 ~ 200cm

시리얼 통신 속도 : 9600,8,n,1

통신주기 : 18ms

VCC : 3v-5.5v

TxD : (직렬 출력, 마이크로 컨트롤러 또는 TTL 보드 RXD에 연결됨)

Enable : 동작선택입력 , 아두이노 출력핀과 연결하여 0이면 동작, 1이면 정지

GND : 전원 접지

GND : 전원 접지

데이터 형식 :

모듈은 0XFF + H_DATA + L_DATA + SUM 형식으로 한 번에 4 바이트를 출력합니다.

1 . 0XFF : 판단을위한 시작 데이터 집합입니다.

2. H_DATA : 거리 데이터의 상위 8 비트.

3. L_DATA : 거리 데이터의 하위 8 비트.

4. SUM : 데이터 및 유효성 검사 용. 0XFF + H_DATA + L_DATA = SUM (하위 8 비트 만 해당)

참고 : H_DATA 및 L_DATA는 16 비트 데이터, 즉 거리 값 (밀리미터)입니다..

거리값으로 연산 방법 : H_DATA * 256 + L_DATA

초과 범위(물체가 없으면) 고정 출력 : FF AA AA 53

깃허브에 관련 소스가 있어 첨부합니다.

#define DistanceEn_Pin 2 int i = 0; long unsigned distance = 0; uint8_t distanceValue[4] = {0,0,0,0}; void setup() { Serial.begin(9600); pinMode(DistanceEn_Pin,OUTPUT); digitalWrite(DistanceEn_Pin,1); } void Distance() { while( Serial.read() >= 0 ); //Empty the serial buffer digitalWrite(DistanceEn_Pin,0); //Ultrasound can open while(Serial.available() <= 4) //Waiting for the ultrasonic data window { } distanceValue[0] = Serial.read(); //Extract the data if( distanceValue[0] == 0xff ) //Determine if data for ultrasonic module { for(i = 1;i <= 3;i ++) { distanceValue[i] = Serial.read(); } } digitalWrite(DistanceEn_Pin,1); //Ultrasound can make distance = distanceValue[1] * 256 + distanceValue[2]; //Data processing, calculating distance if((distanceValue[3] == distanceValue[1] + distanceValue[2] - 1)) //Data and check, can be removed { Serial.print("The distance is : "); Serial.print(distance); Serial.println(" mm"); } } void loop() { Distance(); }

측정거리를 아두이노 시리얼 모니터로 확인하는 동작을 합니다.

여러 기능을 하면 이렇게 코딩하면 안됩니다. 통신 패킷을 수신완료까지 기다리는게 아닌 타임아웃 기능을 구현해야 합니다.

많은 자료를 검색해 보았으면 알겠지만 초음파 센서가 측정거리를 완벽하다고 생각하면 안됩니다.

물체의 크기와 모양에 따라 다르게 측정됩니다.

HC-SR04가 가장많이 사용하지만 아두이노 대부분 초음파 측정 트리거 신호를 보내고 반사되는 값을 수신할때 까지 기다리고 값을 반사값 수신하면 다음 동작을 합니다. 이 때 물체가 있어 빠르게 반사되는 경우와 물체가 없어 느리게 반사되는 경우가 있습니다.

또한 기다리는 동안 CPU는 아무것도 안하고 대기하고 있기에 복잡한 동작을 하는 모형이거나 다수의 초음파를 사용하게 되면 예상과 다른 지연이 발생하게 됩니다. 이를 극복하기위해 코딩을 더 복잡하게 해야 합니다.

그러나 us-016과 IOE-SR05는 모듈에서 거리를 측정하고 아날로그 전압 또는 시리얼 통신으로 거리값을 전달 하기에 컨트롤러 입장에서는 다른 동작을 더 할수가 있는 장점이 있습니다.


 

비밀번호 인증

비밀번호를 입력해 주세요.

확인