본문 바로가기
Study/Arduino

DFRobot Digital Vibration Sensor V2

by Answer Choi 2018. 5. 3.
반응형


DF Robot의 진동센서인 DFR0027입니다.


저렴한 가격에 구입가능합니다.


DFRobot 에 가시면 샘플코드로 바로 테스트가 가능합니다.



센서는 5V(빨강), GND(검정) 전원과 Sensor Output(초록)  총 3개의 단자가 있습니다.


소스코드를 조금 수정하여 LED가 아닌 터미널로 출력하는 코드로 변경했습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Connect the sensor to digital Pin 3 which is Interrupts 1.
#define SensorINPUT  3    
void setup() {
  Serial.begin(115200);
  pinMode(SensorINPUT, INPUT);
  //Trigger the blink function when the falling edge is detected
  attachInterrupt(1, blink, FALLING);  
}
 
void loop() {
  
  delay(500);
}
  
//Interrupts function  
void blink() {
  Serial.println("vibration detected");
}
cs


Line 1~2 : 센서 출력, 보드에서는 센서 입력 포트입니다.


Line 5 : 센서 출력이 들어오는 부분이므로 입력으로 잡아줍니다.


Line 7 : 인터럽트 설정입니다.



Arduino reference를 찾아보면 위와 같습니다.


attachInterrupt(인터럽트 번호, 인터럽트 함수, 인터럽트 모드)


즉 처음 설정한 3번핀은 인터럽트 1번입니다.(Uno)


그리고 신호가 falling일때 blink 함수가 호출됩니다.


Line 10~13 : 인식시간이 너무빨라 딜레이를 주었습니다.


Line 16~18 : 인터럽트가 발생되면 호출되는 함수입니다.


이곳에서 터미널로 출력되도록 하였습니다.



터미널로 출력된 화면입니다.



오실로스코프로 트리그 한 화면입니다.



확대한 화면입니다. 


저 신호가 떨어질때마다 인터럽트가 호출됩니다.









반응형

인기글