반응형
초음파 센서란? 사람의 귀에 들리지 않을 정도로 높은 주파수 (약 20 kHz 이상)의 음파인 초음파를 발생하여 음파를 쏘아올리고 반사되어 오는 음파까지의 시간차를 거리로 계산하여 측정하는 방식으로 동작한다.
초음파 거리 센서는 발신부와 수신부로 구성된다. 발신부는 함수 발생기에서 (+)와 전압을 번갈아 압전소자에 가해주면 압전소자의 변형에 의해 진동이 발생하고 진동에 의해 초음파가 발생하는 역압전현상을 이용한다. 수신부는 발신부에서 발생한 초음파가 물체에 반사되어 돌아오는 파동에 의해 압전소자가 진동하고 진동에 의해 전압이 발생되는 정압전형상을 이용하여 반사되어 돌아오는 시간을 기초로 거리를 측정한다.
초음파는 파장이 짧아 지향성과 직진성이 높으며 공기 중에서는 340m/s의 일정한 속도로 진행하는 특징을 가지므로 거리 측정을 위한 수단으로 많이 사용된다. 자동차의 후방 경보 시스템이 초음파를 이용한 대표적인 예에 해당한다.
초음파 센서
- 센서 파트 넘버: HC-SR04
센서 이미지
아래 간략한 초음파 센서를 설명한 자료를 참고합니다.
연결도
- 파일 이름: ultrasonic.c
- 소스코드: 할당된 gpio 번호는 예고없이 변경할 수 있습니다.
컴파일 명령
$gcc -o ultrasonic lutrasonic.c -l wiringPi
$실행 명령
$sudo ./ultrasonic
* 주의 사항
#include<stdio.h>
#include<wiringPi.h>
#define trigPin 1 //gpio 21
#define echoPin 29 //gpio 18
//old #define trigPin 21 //gpio 5
//old #define echoPin 4 //gpio J16-pin3 GPIO 23
int main(void)
{
int distance=0;
int pulse = 0;
long startTime;
long travelTime;
if(wiringPiSetup () == -1)
{
printf("Unable GPIO Setup");
return 1;
}
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
for(;;)
{
digitalWrite (trigPin, LOW);
usleep(2);
digitalWrite (trigPin, HIGH);
usleep(20);
digitalWrite (trigPin, LOW);
while(digitalRead(echoPin) == LOW);
startTime = micros();
while(digitalRead(echoPin) == HIGH);
travelTime = micros() - startTime;
int distance = travelTime / 58;
printf( "Distance: %dcm\n", distance);
delay(200);
}
}
결과
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
Distance: 8cm
반응형
'개발자 > 라즈베리파이4' 카테고리의 다른 글
라즈베리파이4 데이터베이스 연동 php 에러 보이게 (0) | 2022.05.22 |
---|---|
라즈베리파이4 스마트 농장 액츄에이터 제어 (0) | 2022.05.20 |
라즈베리파이 4 인체감지 센서 실습 코드 (0) | 2022.05.19 |
MQ-135 Air quality hazardous gas sensor module (0) | 2022.05.18 |
Raspberry Pi Pico 마이크로 컨트롤러 보드 (0) | 2022.05.17 |
라즈베리파이4 mpeg-streamer 폴더 에러 해결 (5) | 2022.05.06 |
컴파일 명령어 -lmysqlclient 를 -lmariadbclient 로 바꿔준다. (0) | 2022.04.27 |
libmysqlclient-dev 패키지를 사용할 수 없습니다. mariadb (0) | 2022.04.27 |
더욱 좋은 정보를 제공하겠습니다.~ ^^