초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

진동센서-충격/진동 감지하기

2014-08-06 13:32:29

개요

 

3축의 움직임을 체크하여 움직임이 있을때 값을 출력하는 진동센서를 사용해보자.
진동센서를 응용하면 움직임이 있을때마다 다양한 이벤트 효과를 줄 수 있는 시스템을 만들 수 있다.

진동센서가 흔히 쓰이는 분야는 도난경보기 쪽으로
아래 사진은 누가 물건을 가져가거나 집 문을 흔들때 진동을 감지하여 일정이상의 충격이 가해지면 알람을 울리게 하는 기기이다.




또 일본에서는 진동센서를 체인에 달아서 자전거나 오토바이를 훔쳐가기 위해서 체인을 흔들 경우
체인자체에서 경보가 울려 도둑을 내쫓는 체인도 개발되었다.




이 튜토리얼에서는 진동센서를 사용하여 진동이 느껴질 경우 13번 내장 LED를 켜는 장치를 만들어 볼 것이다.
사용하기 쉽기 때문에 응용한다면 진동에 따라 악기소리를 내는 악기나 만보기 같은 기기,
LED를 사용하여 개인 적색경보기도 만들어 볼 수 있을 것이다.


 

 

 

부품 목록

NO 부 품 명 수 량 상 세 정 보
1 아두이노 보드 1  오렌지 보드
2 브레드 보드 1  
3 진동센서 1  
4 redLED 1  
5 330Ω 저항 1  
6 케이블    

 

 

부품명 아두이노  브레드 보드 진동센서 redLED 330Ω 저항 케이블
부품사진

 

 

 

하드웨어 making

 

전자 회로도

 


 

 

 

브레드보드

 

 

 

소프트웨어 coding

 

//LED핀번호 선언 
int Led = 12; 
//진동센서 핀번호 선언 
int Shock = 3; 
int val; 

void setup() { 
	//LED핀을 OUTPUT모드로 설정 
	pinMode(Led, OUTPUT); 
	//진동센서핀을 INPUT모드로 설정 
	pinMode(Shock, INPUT); 
} 

void loop() { 
	//진동센서에서 값을 읽어들임 
	val = digitalRead(Shock); 
	
	//진동센서값이 HIGH일 경우 
	if (val == HIGH) {
		//LED를 off 
		digitalWrite(Led, LOW); 
	}
	//진동센서값이 LOW일 경우 LED를 on 
	else {
		digitalWrite(Led, HIGH); 
	}
}

 

 

 

 

소스설명

단일센서 사용소스이기때문에 간단하다. 디지털핀에 연결되었으므로 진동센서는 값을 HIGH or LOW 둘중하나로만 반환하게 되고 진동센서에 충격이나 진동이 감지될 경우에는 값이 LOW가 되면서 if문 조건에 따라 브레드보드에 연결된 redLED에 불이 들어오게 된다.

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

진동센서, 아두이노, 오렌지보드

꿀밤 2021-09-18 18:11:06

저기서 진동센서가 5초이상 high일때만 LED에 불이 들어오게 하고싶은데 어떻게해야할까요??