반응형
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 : 인터럽트가 발생되면 호출되는 함수입니다.
이곳에서 터미널로 출력되도록 하였습니다.
터미널로 출력된 화면입니다.
오실로스코프로 트리그 한 화면입니다.
확대한 화면입니다.
저 신호가 떨어질때마다 인터럽트가 호출됩니다.
반응형
'Study > Arduino' 카테고리의 다른 글
PIR SENSOR(인체감지센서) Arduino로 코딩 (0) | 2018.05.09 |
---|---|
비접촉 온도센서(4-20mA 출력) Arudino에서 읽기 (2) | 2018.05.04 |
Arduino 1-Wire DS18B20 (온도센서 ) (0) | 2018.04.04 |
Software Serial 사용하기 (0) | 2018.03.28 |
4-20mA 센서 Arduino에서 읽기(전류센서) (3) | 2018.03.19 |