아두이노와 초음파 센서( HC-SR04)를 이용하여 거리 측정하기Arduino Uno2015. 12. 8. 16:29
Table of Contents
반응형
초음파 센서 HC-SR04를 구입했습니다. 저렴해서 4개나 질렀는데....
( 로봇에 붙여 볼려고 많이 질렀는데 잘되려나 싶어요.. )
HC-SR04와 아두이노를 다음처럼 연결해주었습니다.
HC-SR04 arduino
VCC 5V
TRIG 12번
ECHO 11번
GND GND
https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home#!download-install 에서 다운로드를 클릭하여 받은 다음...압축을 풀어 C:\Users\webnautes\Documents\Arduino\libraries 위치에 복사해 넣어주었습니다.
아두이노 IDE를 다시 실행시켜 보면 추가된 라이브러리 예제를 찾을 수 있습니다. NewPingExample이 하나의 초음파 센서로부터 값을 얻어오는 예제입니다. 선택해서 불러오면..
아래와 같은 코드가 보입니다. HC-SR04 스펙상으로는 400cm까지 가능하다고 합니다. 아래에서 200을 400으로 수정하고 아두이노에 업로드 해봅니다.
- // ---------------------------------------------------------------------------
- // Example NewPing library sketch that does a ping about 20 times per second.
- // ---------------------------------------------------------------------------
- #include <NewPing.h>
- #define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
- #define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
- #define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters).
- //Maximum sensor distance is rated at 400-500cm.
- NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
- void setup() {
- Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
- }
- void loop() {
- delay(50); // Wait 50ms between pings (about 20 pings/sec).
- //29ms should be the shortest delay between pings.
- Serial.print("Ping: ");
- Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and
- //print result (0 = outside set distance range)
- Serial.println("cm");
- }
시리얼 모니터를 열어서.. 값을 확인하면서 거리 측정 태스트해봤는데 잘되네요..
그런데 거리가 무지 멀어지면 오류값이 나옵니다..
0cm라고 나오고 시간을 측정해봐도 0us라고 나오네요..
이건 다시 제대로 태스트해서 확인해봐야 할듯합니다.
원래 이게 맞다네요.. 최대거리를 200으로 줄이면 최대거리 400에서 측정값 나오던 거리에서도 0값이 나옵니다. 0일때를 제외하고 처리해야겠습니다.
반응형
'Arduino Uno' 카테고리의 다른 글
아두이노에서 3축 가속도 자이로 센서 사용해보기 ( MPU-6050 ) (0) | 2015.12.11 |
---|---|
아두이노 부트로더 컴파일해서 업로드 시켜보기 (0) | 2015.12.10 |
Johnny-Five를 이용하여 아두이노에 연결한 온도센서(DS18B20) 값 읽어오기 (0) | 2015.12.02 |
Johnny-Five를 이용하여 아두이노에 연결한 LED 제어하기 (0) | 2015.12.01 |
Arduino에 연결한 Nokia 5110 LCD에 온도센서값(ds18b20) 출력해보기 (0) | 2015.11.25 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!