[센서/진동] 가변 진동 센서-디지탈/Adjustable vibration sensor-digital with potentiometer
진동 센서(Vibration sensor)를 통해 움직임을 감지할 수 있다.
▶ 이 가이드를 따라하면
- 충격을 감지하면 on(5V, HIGH)를 디지털 핀을 통해 출력하는 센서를 활용할 수 있다(가변 미터/potentiometer포함)
▶ 먼저 읽으면 좋은 글
- Arduino 일반 : http://bbangpan.tistory.com/1
- 디지털 충격 센서(유사 센서) : http://bbangpan.tistory.com/57
- 약한 진동 감지하는 Piezo disk vibration sensor(Analog) : http://bbangpan.tistory.com/46
▶ 부품 설명 및 회로 구성
이 센서는 앞 진동 센서들과 유사하나, potentiometer가 달려있어 감지 진동의 크기를 조절할 수 있다. 부품은 아래와 같이 생겼다. 정식 명칭은 없고 다양한 센서들을 팔기 때문에 본인이 필요한 진동 정도가 해당 조절 범위에 드는지 구매해서 확인하는 수 밖에 없다.
<Adjustable vibration sensor / 디지털 버전, GNS/5V/OUT(Signal)로 이루어져있다.>
이 모듈은 3pin으로 구성되어 진동에 반응한다. Potentiometer를 시계방향으로 돌리면 민감해지고, 시계반대방향으로 돌리면 민감도가 떨어진다. 단지 십여 바퀴가 넘게 돌릴 수 있는데 맨 끝단에 가야 민감도가 급작스럽게 변하므로, 생각보다 많이 돌려야 할 수 있다.
<GND->GND, 5V->5V, OUT->D3 에 연결>
상기와 같이 연결하면 기존 소스( http://bbangpan.tistory.com/57 )와 동일하게 진동 검출이 가능하다. 기존 센서들과 차이점은 충격감지시 해당 모듈에도 작은 LED가 달려있어 불이 들어온다.
▶ 소스 코드 입력 및 구동
아래 간단한 소스를 작동시킨다. 디지털 핀에서 값을 읽어 HIGH일때를 검출하면 된다. 검출하면 LED에 불이 들어온다(UNO 보드와 모듈 모두)
----------------------------------------------------------
int Led=13;
int Shock=3;
int val;
void setup()
{
pinMode(Led,OUTPUT);
pinMode(Shock,INPUT);
}
void loop()
{
val=digitalRead(Shock);
if(val==HIGH){
digitalWrite(Led,LOW);
}
else
{
digitalWrite(Led,HIGH);
}
}
-------------------------------------------------------
업로드 한 후 손가락으로 살짝 건드리면서 신호를 보자. Potentiometer를 돌려가면서 감도를 측정해보고 원하는 곳에 사용하자. 이 사진의 모듈은 상당히 민감하게 혹은 좀 둔감하게 조절할 수 있었으나 약간의 방향성이 존재했다. (특정 방향으로는 좀 민감도가 떨어지는 경향을 보였다.)
▶ 구매 가이드
vibration sensor with potentiometer : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150823075402&SearchText=potentiometer+vibration+sensor ($3)
▶ 강의 키워드
Arduino UNO, vibration sensor with potentiometer, 가변 진동 센서, 가변 충격 센서