푸시 버튼 예제

다음으로 우리는 GPIO 인터럽트 리스너를 연결합니다. 이 이벤트는 핀이 상태를 변경할 때마다 호출됩니다. 또한 전기 노이즈로 인한 스퓨리어스 이벤트를 필터링하기 위해 DebounceTimeout 속성을 50ms로 설정합니다. 버튼은 기계 장치이며 한 번의 버튼 누루로 여러 번 접촉을 만들고 끊을 수 있습니다. 우리는 이벤트에 압도되고 싶지 않아서 이를 필터링합니다. 설치() 루틴은 전원을 켜거나 다시 프로그래밍하거나 리셋 버튼을 누를 때 한 번만 실행됩니다. 아래 프로그램에서 가장 먼저 해야 할 일은 pin9을 설정() 루틴에서 pinMode() 기능이 있는 출력 핀으로 초기화하는 것입니다. 다음으로 단추 핀을 설정합니다. 라즈베리 파이 대 한 2, 우리는 우리가 활성화할 수 있는 저항을 끌어 내장 되어 있다는 사실을 활용. 우리는 외부에 저항을 공급 할 필요가 없도록 내장 풀 업 저항기를 사용합니다. 먼저 사용할 GpioPin 리소스를 엽니다. 이 버튼은 활성 LOW 구성으로 GPIO5에 연결되어 있으므로 버튼을 누르지 않을 때 신호가 높으며 버튼을 누르면 신호가 LOW로 이동합니다.

우리는 활성 LOW 구성에 연결된 GPIO6에 연결된 LED를 사용할 것입니다, 핀 HIGH를 운전하는 것은 LED를 끄고 핀 LOW를 운전하는 것은 LED가 켜집니다. 이것은 모든 종류의 프로젝트에 적합한 순간적인 멀티 컬러 버튼의 간단한 12 팩입니다! 지금까지, 우리는 출력에 주로 초점을 맞추고있다. 이제 우리는 스펙트럼의 다른 쪽 끝으로 가서 입력으로 놀것입니다. 실험 2에서는 아날로그 입력을 사용하여 전위차계를 읽었습니다. 이 회로에서는 디지털 입력을 사용하여 가장 일반적이고 간단한 입력 중 하나인 푸시 버튼을 읽습니다. 푸시 버튼이 레드 보드 또는 Arduino Uno R3에서 작동하는 방식은 버튼을 누르면 전압이 낮아집니다. 당신의 레드 보드 또는 아두 이노 우노 R3이 읽고 그에 따라 반응. 인터럽트를 사용하는 푸시 버튼 카운터 데모 이 프로그램은 인터럽트속도가 빨라지기 때문에 이전 예제보다 스위치 접촉 바운스에 더 많은 문제가 있습니다. 푸시 버튼을 누르면 오른쪽 LED 3개에 거의 난수가 있는 것처럼 보입니다.