이전 글 에서 택트 스위치(Tact Switch)를 이용해서 LED를 제어해 보았습니다. 스위치의 버튼을 누르고 있을때만 LED가 켜지고 스위치에서 손을 떼면 LED가 꺼졌었는데요. 이번에는 한 번 누르면 LED가 켜지는 것이 유지되고 다시 누르면 LED가 꺼진 상태로 유지되도록 해 보겠습니다. 그런데 이번에는 Debounce 라는 개념이 들어갑니다. 스위치는 기계적인 장치이므로 켜거나 끌 때 기계적인 진동이나 접촉에 의해서 스위치가 짧은 시간에 여러번 ON/OFF 된 것으로 인식할 수 있습니다. 이런 현상을 Bounce 현상이라고 하고 이것을 없애 주는것이 Debounce 입니다. 즉, 소프트웨어 적으로 Debounce 시간을 설정해두고 이 시간보다 짧은 시간에 일어나는 스위치의 ON/OFF 는 무시하도록 하는 것입니다.
택트 스위치 (Tact Switch) -출처 http://grobotronics.com
택트 스위치 입니다. 위와 같은 것을 사용 합니다. 스위치를 누를 시 초록색 또는 주황색 다리(Lead)끼리 대각선으로 전류가 흐르게 됩니다. 이 글에서는 한 쌍의 Lead 만 사용하면 되므로 쓰지 않는 쌍은 브레드보드에 꼽지 않았습니다.