이번에 알아볼 센서는 거리를 측정할 수 있는 초음파 센서인 HC-SR04입니다.



상세 Datasheet는 아래 문서에서 확인 할 수 있습니다.

http://www.micropik.com/PDF/HCSR04.pdf


Specifications


           - Power Supply :+5V DC

           - Quiescent Current : <2mA

           - Working Currnt: 15mA

           - Effectual Angle: <15°

           - Ranging Distance : 2cm – 400 cm/1" - 13ft

           - Resolution : 0.3 cm

           - Measuring Angle: 30 degree

           - Trigger Input Pulse width: 10uS

           - Dimension: 45mm x 20mm x 15mm


Pins

  • VCC: +5VDC
  • Trig : Trigger (INPUT)
  • Echo: Echo (OUTPUT)
  • GND: GND



앞선 포스트들을 보셨다면 이제 시그널들에 조금 익숙해 지셨을 텐데요.

아래 diagram을 보면 10us동안 HIGH를 INPUT으로 넣어주면, 센서 내부에서 8개의 40kHz의 시그널을 송출합니다. 

그리고 반사된 신호가 들어오면 그 시간동안 OUTPUT pin을 High로 올려주게 됩니다.




예제 코드를 돌려보면... 잘 동작하네요 ^^::






/*      sedew810225@gmail.com

 *      Ultrasonic sensor Pins:        

 *      VCC: +5VDC        

 *      Trig : Trigger (INPUT) - Pin 4       

 *      Echo: Echo (OUTPUT) - Pin 5       

 *      GND: GND

 */


unsigned int trigPin = 4;

unsigned int echoPin = 5;

long duration, cm, inches;


void setup() {

  Serial.begin (9600);


  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

}


void loop() {

  // start by a High pulse of 10 microseconds

   digitalWrite(trigPin, LOW);

  delayMicroseconds(5);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);


  //read data from echoPIN for the duration of HIGH signal

  pinMode(echoPin, INPUT);

  duration = pulseIn(echoPin, HIGH);


  //convert time to distance

  cm = (duration/2) / 29.1;

  inches = (duration/2) / 74; 


  Serial.print(inches);

  Serial.print("in, ");

  Serial.print(cm);

  Serial.print("cm");

  Serial.println();

  

  delay(250);

}


References :

http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/

http://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/

https://www.arduino.cc/en/Reference/PulseIn

반응형

'TinyProjects' 카테고리의 다른 글

Beautiful KiWi with Python and OpenCV  (0) 2016.03.17
LCD1602 모듈과 아두이노  (0) 2016.03.13
SEN0018 적외선 감지 센서  (0) 2016.03.10
DHT-11 Sensor 아두이노 테스트  (13) 2016.03.10
ARDUINO/GENUINO 개발 환경 세팅하기  (0) 2016.03.10

+ Recent posts