ESP32 C3 Super Mini 초음파 센서
이 튜토리얼은 ESP32 C3 Super Mini를 HC-SR04 초음파 센서와 함께 사용하여 거리를 정확하게 측정하는 방법을 보여줍니다. Arduino 프로젝트에 거리 감지 기능을 추가하려는 초보자에게 완벽합니다!
이 튜토리얼에서 배울 내용:
- HC-SR04 초음파 센서가 무엇이고 거리를 측정하는 방식
- 초음파 센서를 ESP32 C3 Super Mini에 배선하는 방법
- 거리 측정값을 읽도록 ESP32를 프로그래밍하는 방법
- 시리얼 모니터에 거리 판독값을 표시하는 방법
- 노이즈 필터링으로 더 정확한 판독값을 얻는 방법

필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | 초음파 센서 | 쿠팡 | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (옵션) DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 |
초음파 센서 정보
HC-SR04는 초음파 음파를 사용하여 물체까지의 거리를 측정하는 거리 센서입니다.
주요 사양 및 특징:
- 작동 전압: 5V DC
- 측정 범위: 2cm ~ 400cm(0.8인치 ~ 157인치)
- 정확도: 최대 3mm
- 측정 각도: 15도
- 트리거 입력: 10µS TTL 펄스
- 비접촉 측정: 물리적 접촉 없이 물체 감지 안전
- 초보자에게 완벽: 간단한 Arduino 코드로 쉽게 연결 및 프로그래밍
- 저렴하고 안정적: 거리 감지 기초 학습에 적합
초음파 센서 핀아웃
HC-SR04 초음파 센서는 연결을 위한 4개의 핀을 가지고 있습니다:
- VCC: 5V 전원 공급에 연결
- GND: 그라운드(0V)에 연결
- TRIG: ESP32 C3 Super Mini에서 측정을 시작하는 트리거 펄스 수신
- ECHO: 측정 거리에 비례하는 지속 시간의 펄스를 ESP32로 다시 전송

초음파 센서 작동 방식
초음파 센서 작동 방식 참고
ESP32 C3 Super Mini와 초음파 센서 간의 배선 다이어그램
HC-SR04 초음파 센서를 ESP32 C3 Super Mini 보드에 연결하는 방법은 다음과 같습니다:
- 참고: HC-SR04는 5V 전원이 필요하며 USB 또는 Vin 핀을 통한 외부 전원 공급에서 공급할 수 있습니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| Ultrasonic Sensor Pin | ESP32 C3 Super Mini Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | D1 |
| ECHO | D10 |
초음파 센서를 프로그래밍하는 방법
ESP32 C3 Super Mini에서 HC-SR04 초음파 센서를 프로그래밍하려면 3가지 간단한 단계가 필요합니다:
단계 1: 트리거 펄스 전송
- DigitalWrite() 및 delayMicroseconds() 함수를 사용하여 TRIG 핀에 10마이크로초 펄스 생성
- D1 핀의 예:
단계 2: 에코 펄스 지속 시간 측정
- PulseIn() 함수를 사용하여 ECHO 핀의 펄스 지속 시간 읽기
- 펄스 지속 시간은 소리가 물체까지 여행하고 다시 돌아오는 시간을 나타냅니다
- D10 핀의 예:
단계 3: 거리 계산
- 펄스 지속 시간을 센티미터 거리로 변환
- 공식: 거리 = 0.017 × 지속 시간(음파는 ~340m/s로 이동하며 왕복이므로 2로 나눔)
ESP32 C3 Super Mini 코드
다음 코드는 HC-SR04 초음파 센서에서 거리 측정값을 읽고 시리얼 모니터에 표시하는 방법을 시연합니다:
이 코드가 하는 일:
- ESP32 C3 Super Mini의 TRIG 및 ECHO 핀 초기화
- 500밀리초마다 초음파 펄스 전송
- 에코 반환 시간 측정
- 센티미터 단위로 거리 계산
- 시리얼 모니터에 거리 판독값 표시
빠른 단계
- ESP32 C3 Mini를 처음 사용하나요? 개발 환경을 설정하기 위해 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
- Arduino IDE 설치: 이것이 처음 ESP32 C3 Super Mini를 사용한다면 Arduino IDE에서 ESP32 C3 Super Mini를 위한 환경을 설정하는 방법을 참조하세요.
- 코드 복사: 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
- 보드 연결: USB 케이블을 통해 ESP32 C3 Super Mini를 컴퓨터에 연결하세요.
- 보드 및 포트 선택: Arduino IDE에서 올바른 보드 및 COM 포트를 선택하세요.
- 코드 업로드: 업로드 버튼을 클릭하여 코드를 ESP32 C3 Super Mini에 컴파일하고 업로드하세요.

- 시리얼 모니터 열기: 시리얼 모니터 아이콘을 클릭하여 거리 판독값을 봅니다.

- 보드레이트 설정: 시리얼 모니터가 115200 보드로 설정되어 있는지 확인하세요.
- 센서 테스트: 초음파 센서 앞에서 다양한 거리에서 손을 움직이세요.
- 결과 보기: 시리얼 모니터에서 거리 측정값을 실시간으로 업데이트되는 것을 봅니다.
- 프로 팁: 정확한 판독값을 위해 센서에서 최소 2cm 떨어진 물체를 유지하고, 음파를 흡수하는 천과 같은 부드러운 표면을 피하세요.
줄별 코드 설명
위의 ESP32 C3 Super Mini 코드에는 줄별 설명이 포함되어 있습니다. 코드의 주석을 읽으세요!
시리얼 모니터 출력
HC-SR04 초음파 센서 앞에서 손을 움직이면 다음과 같은 거리 판독값이 표시됩니다:
초음파 센서 거리 측정의 노이즈를 필터링하는 방법
초음파 센서는 환경 요인으로 인해 때때로 시끄럽거나 일관되지 않은 판독값을 생성할 수 있습니다.
초음파 센서 거리 측정의 노이즈를 필터링하는 방법 참고
필터링이 중요한 이유:
- 환경 간섭(온도, 습도)
- 물체 표면 질감 및 각도
- 전기 노이즈
- 인근 물체의 다중 반사
응용 프로그램 및 프로젝트 아이디어
ESP32 C3 Super Mini와 HC-SR04 초음파 센서를 사용하는 실용적인 방법:
- 주차 보조: 자동차 또는 차고 주차를 위한 거리 경보 시스템 구축
- 자동 쓰레기통: 손 근접을 감지하는 터치리스 뚜껑 오프너 만들기
- 수위 모니터: 접촉 없이 탱크의 수위 측정
- 장애물 회피 로봇: 로봇이 물체를 감지하고 회피하도록 활성화
- 보안 경보: 물체가 특정 영역에 진입할 때 경고 트리거
- 높이 측정 도구: 디지털 높이 측정 장치 구축
- 스마트 초인종: 누군가 문에 접근할 때 감지
비디오 튜토리얼
이 프로젝트에 대한 시각적 안내는 아래 비디오를 보세요.
스스로 도전해보세요
초음파 센서 기술을 다음 단계로 가져갈 준비가 되셨나요? 다음 과제를 시도해보세요:
- 쉬움: 센티미터 대신 인치로 거리를 표시하도록 코드 수정
- 쉬움: 물체가 10cm 이내에 있을 때 켜지는 LED 추가
- 중간: 부저를 사용하여 다양한 비프 패턴의 거리 기반 경보 시스템 만들기
- 중간: 시리얼 모니터 대신 LCD 화면에 거리 표시
- 고급: 2D 공간에서 물체 위치를 감지하는 다중 센서 배열 구축
- 고급: 중앙값 필터를 구현하여 시끄러운 판독값을 부드럽게 하고 정확도 향상