아두이노의 인터럽트 > IT Tip&Tech

본문 바로가기

사이트 내 전체검색


IT Tip&Tech

아두이노의 인터럽트

페이지 정보

작성자 책읽는아이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일18-03-13 15:26 조회372회 댓글2건

본문

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 목록

게시물 검색


Copyright © LittleCandle All rights reserved.
문의메일 : littlecandle99@gmail.com
상단으로
PC 버전으로 보기