본문 바로가기

컴퓨터

[아두이노 기초] 흔들면 감지하는 '진동(충격) 스위치' 완벽 사용법

안녕하세요.

오늘은 KY-002 Vibration Switch 센서에 대해 알아 보겠습니다.

KY-002 충격 및 진동 센서는 충격과 진동을 감지하는 정밀한 모듈입니다. 전도성 외부 케이싱과 내부 스프링으로 구성되어 있습니다. 충격이 발생하면 스프링이 외부 케이싱과 접촉하여 전기 신호를 생성합니다.

 

기술적으로 KY-002는 3.3V에서 5V의 전압 범위에서 작동합니다.

견고성과 사용 편의성 덕분에 KY-002는 문과 창문의 진동을 감지해야 하는 보안 시스템뿐만 아니라 기계 및 시스템의 비정상적인 진동을 모니터링하는 산업 자동화 분야에 이상적입니다.

이 센서는 스포츠 및 피트니스 분야에서 진동과 충격을 측정하는 데에도 사용될 수 있습니다.

1. 진동 스위치(Vibration Switch)란?

진동 스위치는 내부의 금속 스프링이나 구슬이 진동에 의해 흔들리면서 회로를 일시적으로 연결(Closed)하거나 끊는(Open) 역할을 하는 센서입니다. 가장 흔히 쓰이는 모델은 SW-18010P와 같은 롤링 볼/스프링 타입입니다.

작동 원리:

평소에는 회로가 열려 있다가, 일정 수준 이상의 진동이 가해지면 내부 소자가 접점에 닿아 전류가 흐르게 됩니다.

특징:

디지털 신호(0 또는 1)를 출력하며, 아주 미세한 진동보다는 '충격'이나 '흔들림'에 더 민감하게 반응합니다.

2. 아두이노 연결 및 사용 방법

가장 일반적인 3핀 모듈(VCC, GND, DO) 형태를 기준으로 설명합니다.

회로 연결

VCC: 아두이노 5V 또는 3.3V

GND: 아두이노 GND

DO (Digital Out): 아두이노 디지털 핀 (예: 2번 핀)

 

예제 코드:

const int vibrationPin = 2; // 진동 스위치 연결 핀
const int ledPin = 13;      // 알림용 LED

void setup() {
  pinMode(vibrationPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int val = digitalRead(vibrationPin); // 진동 감지 읽기
  
  if (val == LOW) { // 모듈에 따라 HIGH/LOW가 다를 수 있음
    digitalWrite(ledPin, HIGH);
    Serial.println("진동 발생!");
    delay(500); 
  } else {
    digitalWrite(ledPin, LOW);
  }
}

3. 대체 가능한 부품들

프로젝트의 정밀도나 목적에 따라 진동 스위치를 대신할 수 있는 부품들입니다.

부품명
차이점 및 장점
틸트 스위치 (Tilt Switch)
진동이 아닌 '기울기'를 감지할 때 사용합니다. (예: 90도 회전)
가속도 센서 (MPU-6050)
단순 ON/OFF가 아니라 진동의 세기($g$ 값)와 방향을 정밀하게 측정할 때 사용합니다.
압전 소자 (Piezo Sensor)
아주 미세한 진동이나 소리를 전압 신호로 변환하여 감지할 때 유리합니다.

4. 교육적 활용 가치

교육 현장에서 진동 스위치는 다음과 같은 개념을 가르치기에 매우 좋습니다.

물리적 상호작용: 화면 속 코딩이 아닌, 실제 물체를 쳤을 때 반응하는 '피지컬 컴퓨팅'의 재미를 느끼게 해줍니다.

5. 실제 산업 및 일상 활용 사례

진동 스위치는 저렴하고 전력 소모가 적어 실전에서도 자주 쓰입니다.

도난 방지기: 오토바이나 자전거에 부착하여 누군가 건드리면 경보가 울리게 합니다.

장난감/신발: 어린아이들의 신발(불 들어오는 신발)이나 흔들면 소리 나는 인형의 트리거로 사용됩니다.

절전 모드 해제: 기기를 오랫동안 사용하지 않다가 다시 집어 들었을 때 화면이 켜지게 하는 스위치 역할을 합니다.

자동차 블랙박스: 주차 중 충격 감지 시 녹화를 시작하는 신호탄이 됩니다.

아두이노 부품이 중국에서 만든 것들이 대부분입니다.

같은 부품인데 S 신호가 다릅니다.

제가 테스트 해봤을 때는 오른쪽 값으로 세팅을 해야 동작이 됩니다.

왼쪽것도 -, +, S 순으로 연결해야 합니다.

#아두이노 #Arduino #진동스위치 #진동센서 #SW18010P #피지컬컴퓨팅 #아두이노강좌 #코딩교육 #도난방지기 #센서활용 #채터링현상 #디바운싱 #가속도센서대체 #IT리뷰 #DIY

 
반응형