반응형

【 아두이노 기초 】 #06  채터링과 디바운스


스위치를 사용하게 되면 흔히 발생하는 채터링현상과 이를 방지하기 위한 디바운스에 대해 알아보도록 하자.



 하드웨어적 해결 방법은 스위치 쪽에 RS-플립플롭 회로를 연결하는 방법으로 할 수 있다.  하지만 여기서는 소프트웨어적으로 알고리즘을 통해 해결해보도록 하겠다.


▶ 실물 회로도면 :








▶ 부대품 목록 : 아두이노 보드, 브레드 보드

▶ 부품 목록    : PB SW 1개 ,  저항 10KΩ


▶ 프로그램 : 


 아래 로직을 실행 해서 시리얼 모니터로 확인해보면, 채터링 현상이 일어나는 것을 확인 해 볼 수 있다.



그럼, 채터링을 방지하기 위해 아래 로직처럼 수정해 보자~!




▶ 실행(동작) 영상 :

 아래 영상을 확인해 보면 스위치를 누르는 대로 즉각 반응이 오며 채터링 현상이 일어나지 않는 것을 확인 할 수 있다.

(영상을 확대해서 보세요)





▶ 실습 절차 : (위 회로도 참고)


▶ 실습 방법 : 일반적인(기계적) 푸시버튼 스위치를 준비하고 회로 연결을 한다. 


▶ 포인트 : 아두이노 메뉴 :  툴(Tool) 》시리얼 모니터(Serial monitor) 를 띄워서 확인해본다.  



▶ 아두이노 코드 다운로드 ( ~.ino ) 


bounce_ok.ino

deBounce_ok1.ino

debounce2_opti.ino




반응형