ESP32 C3 Super Mini SW-420 진동 센서
SW-420 진동 센서 모듈은 무언가가 흔들리거나, 부딪히거나, 두드리는 순간 ESP32 C3 Super Mini에 알려주므로 충격 알람, 충격 카운터, 배송 모니터를 만들 때 유용한 구성 요소입니다. 이 튜토리얼에서는 SW-420 모듈을 보드에 배선하고 진동 이벤트에 반응하는 스케치를 작성하는 방법을 안내합니다.
이 튜토리얼에서 배울 내용:
- SW-420 진동 센서 모듈이 무엇이며 어떻게 충격을 감지하는지
- SW-420 모듈을 ESP32 C3 Super Mini에 배선하는 방법
- 진동 이벤트를 감지하도록 ESP32 C3 Super Mini를 프로그래밍하는 방법
- SW-420 디지털 출력을 해석하는 방법

기본 스케치가 작동하면 부저를 울리거나, 알림을 보내거나, 프로젝트가 감지한 모든 충격 이벤트를 기록하도록 확장할 수 있습니다.
필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | SW-420 Vibration Sensor Module | 아마존 | |
| 1 | × | 브레드보드 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (옵션) 5V Power Adapter | 아마존 |
SW-420 진동 센서 정보
SW-420은 작은 스프링 기반 진동 스위치로 만들어진 충격 감지 모듈입니다. 모듈 내부에서 스프링은 금속 접점 가까이에 있으며, 두드리거나 흔들면 순간적으로 흔들립니다. 온보드 LM393 비교기가 이 흔들림을 ESP32 C3 Super Mini가 직접 읽을 수 있는 깨끗한 디지털 펄스로 바꿉니다.
주요 기능:
- 깨끗하고 디바운스된 디지털 신호를 위한 온보드 LM393 비교기
- 온보드 가변저항으로 트리거 임계값 조정 가능
- 3.3V ~ 5V에서 잘 작동하며 ESP32 C3 Super Mini의 로직 레벨과 일치
- 온보드 LED로 전원과 트리거 상태를 한눈에 확인
- 라이브러리 불필요 — GPIO 함수 몇 개만 호출하면 됩니다
SW-420 진동 센서 핀아웃
모듈에 핀이 세 개뿐이므로 배선이 간단합니다.
- VCC 핀: 전원 공급 장치에 연결 (3.3V ~ 5V)
- GND 핀: 접지(0V)에 연결
- DO 핀: 디지털 출력 핀 - 대기 중에는 LOW를 유지하고, 진동이나 충격이 감지되면 HIGH가 됩니다 - ESP32 C3 Super Mini의 디지털 입력 핀에 연결

추가 기능:
- 전원 LED는 보드에 전원이 공급되는 동안 계속 켜져 있습니다
- 트리거 LED는 DO 핀이 HIGH가 될 때마다 잠깐 깜빡입니다
작동 원리
작은 온보드 트리머 가변저항으로 비교기가 출력을 바꾸기 위해 필요한 충격의 세기를 설정합니다. 따라서 아주 가벼운 두드림부터 강한 충격까지 모듈을 조정할 수 있습니다.
디지털 출력 동작:
- 진동이 없는 정지 상태 → DO 핀은 LOW를 유지합니다
- 두드림, 흔들림 또는 충격이 내부 스위치를 흔듦 → DO 핀이 HIGH가 됩니다
- 온보드 가변저항을 시계 방향 또는 반시계 방향으로 돌림 → 감도 임계값이 높아지거나 낮아집니다
배선 다이어그램
아래와 같이 SW-420 모듈을 ESP32 C3 Super Mini에 배선하세요.
중요 참고 사항:
- 참고: 전선을 연결하거나 분리하기 전에 보드의 전원을 끄세요
- 참고: VCC, GND, DO 세 개의 전선만 필요합니다
- 참고: 풀업 저항이 필요 없습니다. 모듈의 비교기가 이미 DO 라인을 구동합니다

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
| SW-420 진동 센서 핀 | ESP32 C3 Super Mini 핀 |
|---|---|
| VCC | 3.3V 또는 5V |
| GND | GND |
| DO | D3 (GPIO3) |
SW-420 진동 센서 프로그래밍 방법
SW-420 모듈을 읽으려면 디지털 입력 핀 하나와 이전 상태와의 비교만 있으면 됩니다.
코드가 하는 일:
- DO에 연결된 ESP32 C3 Super Mini 핀을 디지털 입력으로 설정합니다
- 매 루프마다 핀을 확인합니다
- 새로운 값을 이전 값과 비교하여 변화를 찾아냅니다
- 진동이 시작되거나 멈추는 순간 시리얼 모니터에 메시지를 출력합니다
1단계 - 핀 초기화:
2단계 - 센서 상태 읽기:
ESP32 C3 Super Mini 코드 - 진동 감지
빠른 단계
- ESP32 C3 Mini가 처음이신가요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정하세요.
- 배선 확인: 모든 연결이 위의 배선 다이어그램과 일치하는지 확인합니다
- 코드 복사: 제공된 스케치를 Arduino IDE에 복사합니다
- 보드 선택: 보드 메뉴에서 ESP32 C3 Super Mini를 선택합니다
- 코드 업로드: Upload를 클릭하여 스케치를 ESP32 C3 Super Mini에 업로드합니다
- 시리얼 모니터 열기: 보드레이트를 115200으로 설정합니다
- 센서 테스트: SW-420 모듈을 두드리거나 살짝 흔듭니다
- 출력 확인: 시리얼 모니터에서 진동 메시지를 확인합니다
여기서부터 충격 이벤트가 발생할 때마다 부저를 연결하거나, 온보드 LED를 깜빡이거나, WiFi로 알림을 보낼 수 있습니다. 아래의 아이디어와 도전 과제를 참고하세요.
응용 및 프로젝트 아이디어
ESP32 C3 Super Mini와 SW-420 모듈을 충격과 움직임에 반응하는 프로젝트에 활용해 보세요.
- 누군가 문이나 창문에 부딪히면 부저가 울리는 진동 알람을 만듭니다
- 운송 중 소포가 받는 모든 충격을 기록하여 배송 중 거친 취급을 확인합니다
- 세탁기나 모터의 불균형을 나타내는 비정상적인 진동을 모니터링합니다
- 문을 두드리는 것을 초인종 트리거나 스마트 도어락 깨우기 신호로 만듭니다
- 물체가 몇 번 맞았는지 세는 간단한 충격 카운터를 만듭니다
비디오 튜토리얼
이 프로젝트를 시각적으로 따라 하려면 아래 비디오를 시청하세요.
도전 과제
다음 도전 과제로 ESP32 C3 Super Mini SW-420 프로젝트를 한 단계 발전시켜 보세요.
- 쉬움: 진동이 감지될 때마다 LED를 2초 동안 켭니다
- 쉬움: 켜짐/꺼짐 메시지 대신 진동 이벤트의 누적 횟수를 출력합니다
- 중간: 한 번의 두드림이 여러 이벤트로 기록되지 않도록 디바운스 타이머를 추가합니다
- 중간: 센서와 부저를 결합하여 간단한 충격 알람을 만듭니다
- 고급: 타임스탬프가 포함된 충격 이벤트를 SD 카드에 기록하거나 WiFi를 통해 서버로 보냅니다
문제 해결
ESP32 C3 Super Mini가 진동 이벤트를 제대로 감지하지 못한다면 다음 사항을 확인하세요.
일반적인 문제와 해결 방법:
- 가변저항 조정: 너무 민감하거나 둔감하다면 — 온보드 트리머를 돌려 트리거 임계값을 조정하세요
- 주변 진동 차단: 계속되는 오작동을 피하려면 모터, 팬 또는 스스로 흔들리는 표면에서 멀리 모듈을 설치하세요
- 배선 확인: VCC, GND, DO가 배선 다이어그램과 일치하는지 확인하세요 — DO 연결이 느슨하면 계속 LOW로 읽힙니다
- 전원 공급 확인: 전원이 불안정하면 비교기가 떨리거나 실제 이벤트를 놓칠 수 있습니다
- 트리거 LED 확인: DO가 HIGH가 될 때마다 깜빡여야 합니다 — 세게 두드려도 켜지지 않으면 감도 설정을 다시 확인하세요