아두이노의 인터럽트

본문 바로가기
사이트 내 전체검색

로그인
회원가입
IT Note

아두이노의 인터럽트
2

View 14,906  | 작성일2018.03.13 15:26

본문

d8337d76664018a00c3462292b70d197_1520921887_9824.png

 

아두이노 인터럽트 테스트 위해서 간단하게 버튼과 led 하나로 연결한 모습입니다.

 

검색해 보면 이런 예제들은 많이 나오는데 이게 샘플 코드 그대로 해보면 뭔가 동작이 이상합니다.

 

지멋대로 꺼지고 켜지고 하는데... 결론만 말하면 Connect 'Bounce' 때문이라고 하네요.

버튼 접점이 닿고 떨어지는 게 ON/OFF 딱 구분지어지는게 아니라 그 짧은 순간 사이에도 

신호가 수차례 출렁거린다는 얘기 같습니다.

 

https://www.allaboutcircuits.com/textbook/digital/chpt-4/contact-bounce/

https://stackoverflow.com/questions/29756145/arduino-attachinterrupt-seems-to-run-twice

 

솔루션으로 하나는 캐패시터를 달아 주는 것이고 다른 하나는 millis 함수를 이용해 인터럽트 간에 일정 텀을 두게 하는 것 이라고 합니다.

 

어떤 글에서는 인터럽트 콜백 내에서 millis 함수 사용을 하지 말라는 글도 있었는데

이 부분에 대한 자세한 내용은 잘 모르겠습니다. 지식이 짧네요. =ㅅ=a

 

인터럽트 처리 간격을 200ms 정도 줘봤는데 그럭저럭 어색하지 않게 느껴지네요.

 

d8337d76664018a00c3462292b70d197_1520923810_393.PNG
 

댓글목록

소음 측정 장비 개발로 들어온거긴 한데... 지지난달까지 장비 3대 조립하곤 더 뭔가 진행되는게 없는 상태입니다.
지난주는 케이블 선 조립하고 이번주는 선형대수 강의 좀 듣다가 이전에 작성했던 코드 수정해야할 것 떠오르면 수정하고 그러고 있습니다...
회사가 개발에 대한 로드맵도 없고... 뭔가 붕 뜬 느낌이에요..
그냥 이것 저것 끄적대는 중입니다.

IT Tip&Tech 목록

게시물 검색

접속자집계

오늘
1,234
어제
1,391
최대
6,399
전체
905,056
Copyright © LittleCandle All rights reserved.
문의메일 : littlecandle99@gmail.com
모바일 버전으로 보기