~ Interrupt에 대한 설명은 앞 글 참고하기 ~
Arduino는 digital I/O port의 2,3번 핀에 External Interrupt 기능을 지원한다.
Pin3을 External Interrupt로 사용하려면?
attachInterrupt(1, function_name, mode)
첫 번째 parameter = Interrupt 번호 (0: pin2, 1: pin3)
두 번째 parameter = interrupt service routine 이름
마지막 parameter = interrupt가 발생하는 조건을 설정하는 parameter. RISING, FALLONG, LOW, CHANGE 중 하나를 사용할 수 있다
- LOW : LOW 상태일 때
- CHANGE : 입력 값이 변할 때
- RISING : LOW -> HIGH
- FALLING : HIGH -> LOW
- HIGH : HIGH 상태일 때
Chattering 현상
스위치를 누르다 보면, 상태가 변할 때마다 플로팅과 비슷한 현상이 매우 짧게 나타난다.
이 증상을 채터링(chattering)이라고 한다.
전자 회로 내의 스위치 접점이 닫히거나 열리는 순간에 기계적인 진동에 의해 매우 짧은 시간 안에 스위치가 붙었다가 떨어지는 것을 반복하는 현상
대안 LPF(LowPass Filter)
고주파 신호를 통과시키지 않는다. 따라서 높은 주파수의 chattering이 INT1으로 전해지지 않도록 막는 역할을 한다.
캐패시터를 넣어주는 것으로 HW적인 방법이다.
참고 : https://m.blog.naver.com/roboholic84/220880882127
이수용 교수님 메카트로닉스 개론 강의자료
'Internet of Things' 카테고리의 다른 글
[메카트로닉스] #3. Timer Interrupt with Arduino (0) | 2023.11.30 |
---|---|
[메카트로닉스] #1. Interrupt (0) | 2023.11.30 |
댓글