ESP32 SW-420 진동 센서
SW-420 진동 센서 모듈은 주변에서 발생하는 충격, 두드림, 흔들림을 감지하여, 단순한 기계적 움직임을 ESP32가 처리할 수 있는 디지털 신호로 바꿔 줍니다.
이 튜토리얼에서는 ESP32와 SW-420 진동 센서를 사용하여 진동을 감지하는 방법을 배웁니다. 다음 내용을 자세히 살펴봅니다:
- SW-420 진동 센서를 ESP32에 연결하기
- SW-420 진동 센서를 사용하여 진동을 감지하도록 ESP32 프로그래밍하기

기본 감지 기능이 동작하면, 진동이 감지될 때마다 부저를 울리거나 LED를 깜박이거나 알림을 보내도록 코드를 확장할 수 있습니다.
필요한 하드웨어
| 1 | × | 38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow | 쿠팡 | 아마존 | |
| 1 | × | (또는) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide | 쿠팡 | 아마존 | |
| 1 | × | (또는) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide | 아마존 | |
| 1 | × | (또는) ESP32 Uno-form board | 아마존 | |
| 1 | × | (또는) ESP32 S3 Uno-form board | 아마존 | |
| 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 for ESP32 | 아마존 | |
| 1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Breakout Expansion Board for ESP32 | 쿠팡 | 아마존 | |
| 1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
SW-420 진동 센서 소개
SW-420 진동 센서 모듈은 장착된 물체의 충격과 흔들림을 감지하도록 만들어졌습니다. 모듈 내부에는 금속 접점 근처에 작은 스프링식 진동 스위치가 있습니다. 온보드 LM393 비교기가 이 스위치를 감시하다가 진동이나 충격이 가해지면 깨끗한 디지털 신호를 출력하며, 온보드 가변 저항으로 출력을 트리거하는 데 필요한 흔들림의 정도를 조절할 수 있습니다.
SW-420 진동 센서 핀 배치
SW-420 진동 센서에는 3개의 핀이 있습니다:
- VCC 핀: VCC(3.3V ~ 5V)에 연결해야 합니다
- GND 핀: GND(0V)에 연결해야 합니다
- DO 핀: 출력 핀입니다. 센서가 대기 중일 때는 LOW, 진동이나 충격이 감지되면 HIGH입니다. 이 핀은 ESP32의 입력 핀에 연결해야 합니다.

SW-420 진동 센서 모듈에는 2개의 LED 표시등이 있습니다:
- 하나의 LED 표시등은 전원 상태를 나타냅니다.
- 다른 LED 표시등은 DO 핀이 HIGH가 될 때마다 켜져서 진동이 감지되었음을 알려 줍니다.
작동 원리
센서의 출력 핀은 다음과 같이 동작합니다:
- 모듈이 가만히 있을 때는 내부 스위치가 열린 상태를 유지하고 출력 핀은 LOW가 됩니다.
- 진동이나 충격이 모듈에 가해지면 내부 스위치가 순간적으로 닫히고 출력 핀은 HIGH가 됩니다.
배선도
- 브레드보드를 사용하여 ESP32와 SW-420 진동 센서를 연결하는 방법

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.
- 스크류 터미널 블록 브레이크아웃 보드를 사용하여 ESP32와 SW-420 진동 센서를 연결하는 방법

SW-420 진동 센서 프로그래밍 방법
- pinMode() 함수를 사용하여 ESP32 핀을 디지털 입력 모드로 초기화합니다. 예: GPIO18 핀
- digitalRead() 함수를 사용하여 ESP32 핀의 상태를 읽습니다.
ESP32 코드 - 진동 감지하기
빠른 단계
- ESP32를 처음 사용하는 경우, ESP32 - 소프트웨어 설치을 참조하세요.
- 위 코드를 복사하여 Arduino IDE로 엽니다.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP32에 업로드합니다.
- SW-420 센서를 두드리거나 흔듭니다.
- 시리얼 모니터에서 결과를 확인합니다.
이제 진동이 감지될 때마다 부저를 울리거나, LED를 깜박이거나, 알림을 보내도록 코드를 자유롭게 수정할 수 있습니다. 더 자세한 안내와 단계별 설명은 이 튜토리얼 끝에 있는 튜토리얼들을 참조하세요.
문제 해결
SW-420 진동 센서의 동작에 문제가 있다면 다음 문제 해결 단계를 확인해 보세요:
- 감도 조절: 센서가 너무 쉽게 트리거되거나 전혀 트리거되지 않으면, 온보드 가변 저항을 돌려 감도를 높이거나 낮추세요.
- 주변 진동으로부터 분리: 모터, 팬 또는 계속 진동하는 표면에서 떨어진 곳에 센서를 설치하세요. 그렇지 않으면 계속해서 잘못된 트리거가 발생할 수 있습니다.
- 배선 확인: VCC, GND, DO 핀이 올바르게 연결되어 있는지 확인하세요.
- 전원 공급 확인: 일관된 측정값을 위해 전원 공급이 깨끗하고 안정적인지 확인하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.