초음파 거리 측정기는 재미있는 작은 센서를 측정할 수 있는 거리입니다. 이를 사용하여 물체까지의 거리를 찾거나 무언가가 모션 감지기와 같이 센서 근처에있을 때를 감지 할 수 있습니다. 탐색,개체 회피 및 가정 보안과 관련된 프로젝트에 이상적입니다. 그들은 소리를 사용하여 거리를 측정하기 때문에 어둠 속에서도 빛처럼 잘 작동합니다., 초음파 거리 측정기에서 사용하는 이 자 HC-SR04,측정할 수 있는 거리에서 2cm 최대 400cm 의 정확도±3mm.
이 문서에서는 방법에 대해 알아보겠습니다 세 가지 다양한 범위 찾기 회로에 대한 Arduino. 첫 번째 레인지 파인더 회로는 설정하기 쉽고 정확도가 꽤 좋습니다. 다른 두 가지는 조금 더 복잡하지만 온도와 습도를 고려하기 때문에 더 정확합니다. 그러나 우리가 그것에 들어가기 전에,범위 파인더가 거리를 측정하는 방법에 대해 이야기합시다.,
의 속도로 사운드
초음파 거리 측정기 거리를 측정하여 방출하는 펄스의 초음파 소리를 통해 이동하는 공중에 닿을 때까지 개체. 그 소리의 펄스가 물체에 닿으면 물체에서 반사되어 초음파 범위 파인더로 다시 이동합니다., 초음파 레인지 파인더는 센서 및 백에서 왕복 여행으로 사운드 펄스가 얼마나 오래 걸리는지 측정합니다. 그런 다음 소닉 펄스가 여행하는 데 걸린 시간에 대한 정보와 함께 Arduino 에 신호를 보냅니다.
아는 데 걸리는 시간은 초음파 펄스를 앞뒤로 여행하는 객체,또 알고 소리의 속도 별도 하드웨어로 만들면 tcp/ip 를 계산할 수 있는 거리를 개체입니다., 식과 관련된 소리의 속도,거리,시간 여행가:
정리 이 수식,우리는 수식을 사용하여 거리를 계산:
시간은 변수가는 데 걸리는 시간은 초음파 펄스를 떠나는 센서,반송하고 반환하는 센서입니다., 우리는 물체까지의 거리와 센서까지의 거리가 아닌 물체까지의 거리 만 측정해야하기 때문에 실제로이 시간을 반으로 나눕니다. 속도 변수는 소리가 공기를 통해 이동하는 속도입니다.공기 중 소리의 속도는 온도와 습도에 따라 변합니다. 따라서 거리를 정확하게 계산하려면 주변 온도와 습도를 고려해야합니다., 식에 대한 속도로 사운드의 공기와 온도 및 습도 를 차지한다:
예를 들어,20°C 에서 50%습도,사운드에서 이동 속도:
위의 공식에서는 온도가 가장 효과 속도의 소리입니다. 습도는 약간의 영향을 미치지 만 온도의 영향보다 훨씬 적습니다.,
는 방법을 범위를 초음파 찾기 거리를 측정합니다
정면에의 초음파 거리 측정기는 두 가지 금속 실린더입니다. 이들은 트랜스 듀서입니다. 트랜스 듀서는 기계적 힘을 전기 신호로 변환합니다. 초음파 범위 파인더에는 송신 트랜스 듀서와 수신 트랜스 듀서가 있습니다. 전송 변환 트랜스듀서는 전기적 신호로 초음파 펄스,그리고 받는 트랜스듀서로 변환이 반영한 초음파 펄스로 다시 전기 신호입니다., 레인지 파인더의 뒷면을 보면 MAX3232 라고 표시된 송신 트랜스 듀서 뒤에 IC 가 표시됩니다. 이것은 송신 트랜스 듀서를 제어하는 IC 입니다. 수신 트랜스 듀서 뒤에는 LM324 라고 표시된 IC 가 있습니다. 이것은 수신 트랜스 듀서에 의해 생성 된 신호를 Arduino 로 전송하기에 충분히 강한 신호로 증폭시키는 쿼드 연산 증폭기입니다.,
HC-SR04 초음파 거리 측정기는 네 개의 핀:
- Vcc–공급 전력을 생성하는 초음파 펄스
- GND–접지에 연결된
- 삼각가 Arduino 보내는 신호를 시작하는 초음파 펄스
- Echo–어디에서 초음파 거리 측정기의 전송에 대한 정보를 여행 기간 동안 취하여 초음파 펄스 Arduino
을 시작하는 거리 측정, 우리는 보낼 필요하 5V 높은 신호를 삼각 핀에 대한 적어도 10µs., 단위가 이 신호를 받을 때,전달 변형기에서 40KHz 의 주파수에 초음파 소리의 8 개 맥박을 방출할 것입니다. 그런 다음 반사 된 신호에 대해 수신 트랜스 듀서에서 대기하고 수신합니다. 물체가 범위 내에 있으면 8 펄스가 센서로 다시 반사됩니다. 펄스가 수신 트랜스 듀서에 닿으면 에코 핀이 고전압 신호를 출력합니다.
의 길이이 높은 전압 신호와 동일하는 총 시간은 8 펄스 가을 여행에서 송신 트랜스듀서와 다를 수신 변환기입니다., 그러나 우리는 소리 펄스가 취한 경로의 거리가 아니라 물체까지의 거리 만 측정하기를 원합니다. 따라서 위의 d=s x t 방정식에서 시간 변수를 얻기 위해 그 시간을 반으로 나눕니다. 우리는 이미 소리의 속도를 알고 있기 때문에 거리에 대한 방정식을 풀 수 있습니다.
초음파 범위를 찾기 위해 설치 시리얼 모니터로 출력
하는 것으로 시작해 보겠습니다 간단한 초음파 거리 측정기의 것 출력 거리 측정을 직렬 모니터링합니다. 대신 판독 값을 LCD 로 출력하려는 경우 다음 섹션을 확인하십시오., 을 연결하는 모든 것이 쉽고,단지 그것이:
당신은 모든 연결을 업로드,이 프로그램을 Arduino:
코드 설명
- 선 11:선언한 변수를
duration
및distance
. - 선 12 13:를 보냅 2µs 저렴한 신호를
trigPin
을 확인정의 시작 부분에 프로그램이다., - 선 15-17:보냅 10µs 높은 신호를
trigPin
를 시작하는 순서 여덟의 40KHz 초음파 펄스 전송에서 전송하는 변환기입니다. - 선 19:정의는
duration
가변 길이로(에 µs)의 모든 높은 입력 신호에서 감지echoPin
. 에코 핀 출력은 방출 된 초음파 펄스가 물체로 이동하고 센서로 돌아 오는 데 걸리는 시간과 같습니다., - 20 행:
distance
변수를 초당 미터에서 μs(0.0344cm/μs)당 센티미터로 변환 된 소리의 속도를 곱한 지속 시간(d=s x t 의 시간)으로 정의합니다. - 라인 22-24:거리가 400cm 보다 크거나 같거나 2cm 보다 작거나 같으면 직렬 모니터에”Distance=Out of range”를 표시합니다.
- 라인 26-30:거리 측정이 범위를 벗어나지 않으면 500ms 의 직렬 모니터에 20 행으로 계산 된 거리를 표시하십시오.,
초음파 Range Finder LCD 출력
하려면 출력 거리 측정을 16X2LCD,아이 다이어그램을 연결하는 범위 찾기 LCD 귀하의 Arduino:
도움이 필요한 경우 연결하 LCD,하려고 우리는 다른 튜토리얼에서 설정 LCD 에 Arduino., 할 때 모든 것은 연결되는 업로드,이 코드를 Arduino:
높은 정확도 범위를 초음파 찾기
이후는 온도 변수에 속도 소리의 방정식을 위(c=331.4+(0.606T x) +(0.0124x H)),공기의 온도 센서 주변에 영향을 미치는 우리의 거리를 측정합니다. 이를 보상하기 위해 서미스터를 회로에 추가하고 판독 값을 방정식에 입력하기 만하면됩니다. 이것은 우리의 거리 측정에 더 큰 정확성을 제공해야합니다., 서미스터는 온도에 따라 저항을 변화시키는 가변 저항입니다. 서미스터에 대해 자세히 알아 보려면 Arduino 서미스터 온도 센서 자습서 인 기사를 확인하십시오. 여기에는 다이어그램을 추가할 수 있도록 서미스터의 범위 찾기 회로.
- R1=10K 옴 저항
- Th=10K Ohm 서미스터
참고: 의 가치 R1 동일해야의 저항은 당신의 서미스터.,
모든 것은 연결되는 업로드,이 코드를 Arduino:
코드 설명
에서 기본적인 범위를 측정기 프로그램의 시작 부분에서 이 문서에서,우리가 사용하는 공식 d=x s t 을 계산하는 거리에 있습니다. 이 프로그램에서 우리가 사용하는 공식 계정한 온도와 습도(c=331.4+(0.606x T)+(0.0124x H)).
라인에서 5-10,샌프란시스코-Hart 방정식을 변환하는 데 사용된 서미스터 저항 값은 온도 저장되어있는 변수라는temp
., 35 행에서 사운드 방정식의 속도를 포함하는 새로운 변수(spdSnd
)를 추가합니다. 36 행의spdSnd
변수의 출력은distance
함수의 속도로 사용됩니다.
이 매우 높고(너무 높아서)정확도 범위를 초음파 찾기
온도 보상 범위를 초음파 찾기 회로는 매우 정확한 대부분의 사람들을 위해 그것을 사용 합니다. 그러나,거기에 또 다른 요소의 속도에 영향을 미치는 사운드에서 공기(따라서 거리 계산),그리고 그 습도 있습니다., 에서 말할 수 있는 속도 소리의 방정식을 습도만에 작은 효과 음속,하지만 어쨌든 확인.
Arduino 에서 사용할 수있는 몇 가지 유형의 습도 센서가 있지만 DHT11 습도 및 온도 센서를 사용할 것입니다. 이 모듈은 실제로 써미스터 외에도 습도 감지기,그래서 설정하는 것은 정말 간단합니다:
후 모든 것은 연결되어 있을 설치해야는 특별한 라이브러리 코드를 실행합니다., 이 라이브러리는 Rob Tillaart 가 작성한 DHTLib 라이브러리입니다. 라이브러리는 설치가 쉽습니다. 먼저 다운로드하십시오.아래의 zip 파일. 그런 다음 Arduino IDE 에서 Sketch>Include Library>ADD ZIP Library 로 이동 한 다음 DHTLib 를 선택하십시오.zip 파일.,
DHTLib
후 라이브러리를 설치,업로드 이 코드가 아두이노니다.
코드 설명
의 온도와 습도 판독값을 출력에 의해 DHT11 는 디지털 방식으로,그래서 우리는 우리를 사용할 필요가 없 샌프란시스코-Hart 방정식을 변환하는 서미스터의 저항 온도입니다. 이 DHTLib 라이브러리를 모두 포함 기능을 얻기 위해 필요한 온도와 습도 단위에서 우리는 직접 사용할 수 있습에서도 소리의 방정식이다. 온도 및 습도에 대한 변수는DHT.temperature
및DHT.humidity
로 명명됩니다., 그런 다음 속도는 라인 28 의 거리 방정식에서 변수로 사용됩니다.
출력 거리 측정하는 LCD,첫 번째 연결하 LCD 다음과 같은 튜토리얼을 설정하는 방법 LCD 디스플레이에는 아두이노 업로드 한 후,이 코드:
시계 비디오 튜토리얼을 참조 범위를 초음파 측정기회로에 동작:
끝까지 읽어 주셔서 감사합니다. 이들을 설정하는 방법에 대한 질문이 있으면 의견을 남겨주세요., 당신이 좋아하는 경우에 우리의 기기 회로,기본 구독고 우리는 당신이 알면 우리는 새로운 기사를 게시합니다. 또한이 기사가 도움이 될만한 다른 사람을 알고 있다면 공유하십시오!