본문 바로가기

개발자/라즈베리파이4

라즈베리파이 4 초음파 센서 실습 코드

반응형

 

 

초음파 센서란? 사람의 귀에 들리지 않을 정도로 높은 주파수 (약 20 kHz 이상)의 음파인 초음파를 발생하여 음파를 쏘아올리고 반사되어 오는 음파까지의 시간차를 거리로 계산하여 측정하는 방식으로 동작한다.

 

초음파 거리 센서는 발신부와 수신부로 구성된다. 발신부는 함수 발생기에서 (+)와 전압을 번갈아 압전소자에 가해주면 압전소자의 변형에 의해 진동이 발생하고 진동에 의해 초음파가 발생하는 역압전현상을 이용한다. 수신부는 발신부에서 발생한 초음파가 물체에 반사되어 돌아오는 파동에 의해 압전소자가 진동하고 진동에 의해 전압이 발생되는 정압전형상을 이용하여 반사되어 돌아오는 시간을 기초로 거리를 측정한다.

 

 

초음파 거리 센서 원리

 

초음파는 파장이 짧아 지향성과 직진성이 높으며 공기 중에서는 340m/s의 일정한 속도로 진행하는 특징을 가지므로 거리 측정을 위한 수단으로 많이 사용된다. 자동차의 후방 경보 시스템이 초음파를 이용한 대표적인 예에 해당한다. 

 

 

초음파 센서

 

- 센서 파트 넘버: HC-SR04 

 

센서 이미지

 

초음파 센서 HC-SR04

 

아래 간략한 초음파 센서를 설명한 자료를 참고합니다.

 

초음파 센서 기구 사이즈와 음파 범위

 

초음파 센서 원리와 실행

 

연결도 

 

초음파 센서 HC-SR04 연결도

 

 

- 파일 이름: ultrasonic.c

- 소스코드: 할당된 gpio 번호는 예고없이 변경할 수 있습니다.

 

컴파일 명령

$gcc -o ultrasonic lutrasonic.c -l wiringPi

 

$실행 명령

$sudo ./ultrasonic

 

다른 초음파 센서 참고 포스팅

 

Ultrasonic Sensors: Comparison and Test (US42V2, JSN-SR04T, and US-100)

여러가지 초음파 센서를 테스트하고 결과를 동영상으로 보여준다. 동영상 링크 https://www.youtube.com/watch?v=vGlKVRvnjws Andreas Spiess 채널 참고 https://www.youtube.com/channel/UCu7_D0o48KbfhpEohoP7..

fishpoint.tistory.com

 

* 주의 사항

 

#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

 

 

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩