프로그래밍/아두이노

아두이노 우노 초음파센서(HC-SR04) 사용법 및 코드 분석

전자장인 2024. 1. 3.
반응형

안녕하십니까

전력전자 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다 

 

오늘의 주제는

아두이노 우노 초음파센서(HC-SR04) 사용법 및 코드 분석

 

1. 초음파센서 (HC-SR04) 개요

1. 초음파센서

초음파 : 사람의 귀에는 들리지 않는 높은 주파수 대역

초음파센서 : 초음파를 이용하여 물체와의 거리 측정

초음파를 발사시키고 물체와 부딪친 뒤 돌아오는 시간차를 이용하여 거리 계산

 

2. 동작 원리

초음파센서의 Trig에서 초음파 발생 후 Echo가 반사된 초음파를 받는 역할

물체에 부딪혀 반사되어 돌아오는 시간차를 이용하여 거리 계산

초음파의 속력은 340m/s 고정값으로 사용

 

2. 아두이노 우노 초음파센서 (HC-SR04) 제어  실습 환경 세팅

1. 실습준비물

실습 준비물로는 다음과 같이 준비해주세요

 

1. 아두이노 우노

 

아두이노 우노 초음파센서(HC-SR04)

 

2. 브레드보드

 

아두이노 우노 초음파센서(HC-SR04)

 

3. 초음파센서

 

아두이노 우노 초음파센서(HC-SR04)

 

4. 점퍼 와이어

아두이노 우노 초음파센서(HC-SR04)

 

3. 아두이노 우노 및  초음파센서 핀맵 연결

아두이노 우노 초음파센서(HC-SR04)

 

아두이노 우노 핀 초음파센서  핀
5V VCC
GND GND
9pin Trig
10pin Echo

 

아두이노 우노와 초음파센서 간 연결 핀맵은 다음과 같습니다.

해당 핀맵 확인 후 연결해주세요

 

4. 코드 작성 및 결과확인

// 초음파 센서 핀 설정
const int trigPin = 9;  // Trig
const int echoPin = 10; // Echo

void setup() {

  Serial.begin(9600);  // 시리얼 통신 시작
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {

  // 초음파 센서에 펄스 신호 전송
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // 초음파의 반사 시간 측정

  long duration = pulseIn(echoPin, HIGH);

  // 초음파의 반사 시간을 거리로 변환 (음속: 343m/s)

  float distance = duration * 0.034 / 2;

  // 거리를 시리얼 모니터에 출력

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

 
delay(1000);  // 1초 대기

}

 

아두이노 IDE 프로그램에 다음과 같은 코드를 작성한 후 

디버깅 및 프로그램을 아두이노에 입혀 실습을 진행합니다

 

아두이노 우노 초음파센서(HC-SR04)
아두이노 우노 초음파센서(HC-SR04)

 

반응형

댓글

💲 추천 글