이번에 알아볼 센서는 거리를 측정할 수 있는 초음파 센서인 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




드디어 벼르고 벼르던 ARDUINO와 센서들을 구입하였습니다.

장난 삼아서라도 그냥 만들어 보고 싶던 것을 무작정 만들어보기~


아래 녀석은 ARDUINO 시리즈 중에 Genuino 101 입니다. 

미국에서는 ARDUINO라고 파는데, 그 외의 국가에서는 GENUINO라는 브랜드 명을 사용합니다.



이 보드를 선택하게 된 이유는 중력 센서와 가속도 센서가 포함되어 있기 때문이랍니다.

자세히 보니 BLE도 포함되어 있군요



OPEN-SOURCE는 사랑입니다. ㅎ




좀더 자세한 정보는 아래 Official 링크에서 확인 하실 수 있습니다.

https://www.arduino.cc/en/Main/ArduinoBoard101





기존에 사둔 라즈베리파이와 이 보드를 이용하여 우선 만들어 보고 싶은 프로젝트 1호는

집앞 아파트 계단에 몰래 담배피는 학생들을 잡기 위해 초음파 센서를 붙인 몰카 입니다. 

잡히기만 해봐라~ 부모님과 면담을 기필코 진행해 주리라 !!


아래는 HC-SR04 초음파 센서입니다. 측정거리는 2~400cm, DC 5V/2mA 로 저정도 성능이면 충분히 계단참을 감시할 수 있으리라 ^^: 생각이 듭니다.


이건 16*2 5V LCD 모듈입니다. 간단히 디버그 메세지 등을 뿌려 볼 예정입니다.


아래는 DHT11 온/습도 센서입니다. 영하 측정이 안되어서 아쉽긴 하지만 축사 온도 측정 등의 프로젝트에 활용해 볼 예정입니다. 온도는 0~50도, 습도는 20%~95%까지 측정 가능합니다.


S/W 쟁이라 첨보는 신기한 물건이라 사진을 찍어 보았습니다. 빵판입니다 ^^ Bread-Board로 납땜하기 싫을때 위에 모듈들을 꼽아 쓰는 보드 입니다.



허접하고 기술적으로도 많이 부족하지만 

그래도 뭔가 만들어 본다는 혼자만의 만족감이라고나 할까요 ㅎㅎ


진행사항 있을때마다 조금씩 업데이트 해보도록 하겠습니다.

반응형

+ Recent posts