RaspBerryPi3에서 입력 감지 (Pi4j)

1, 입력 감지



LED에 출력을 할 수 있었으므로 입력도 시도했습니다.

주의
・나는 전자 기기에 대해서는 전압=저항×전류가 아는 정도의 전혀 아마추어입니다.

2, 주제



 (1) 접속



푸시 버튼, 220Ω 저항기, LED를 연결하고 있습니다.
 ①전체 화상


 ②상세


(2) Raspberry pi 설정



직렬을 활성화하면 핀을 제어 할 수 있습니다.


 (3) 실행 프로그램



푸시 버튼을 누르면 전압이 바뀌어 감지됩니다.
즉 눌렀을 때, 말했을 때에 감지됩니다.

Listener.java
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.PinPullResistance;
import com.pi4j.io.gpio.RaspiPin;
import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;
import com.pi4j.io.gpio.event.GpioPinListenerDigital;
public class Listener {
    /**
     * @param args
     * @throws InterruptedException 
     */
    public static void main(String[] args) throws InterruptedException {
        int count = 0;
        final GpioController gpio = GpioFactory.getInstance();
        final GpioPinDigitalInput pin02 = gpio.provisionDigitalInputPin(RaspiPin.GPIO_00, PinPullResistance.PULL_DOWN);
        pin02.addListener(new GpioPinListenerDigital(){

            @Override
            public void handleGpioPinDigitalStateChangeEvent(
                    GpioPinDigitalStateChangeEvent arg0) {
                // TODO 自動生成されたメソッド・スタブ
                System.out.println("検知");
            }

        });
        // TODO 自動生成されたメソッド・スタブ
        while(true){
            System.out.println("処理中:"+count);
            Thread.sleep(1000);
            count++;

        }
    }

}

 (4)실행 결과



 검지했습니다.

 ①실행 결과

처리 중 : 0
처리 중 : 1
처리 중 : 2
처리 중 : 3
감지      ←여기서 푸시 버튼 누르기
감지      ←여기서 푸시 버튼 놓기
처리 중 : 4
처리 중 : 5

②누를 때의 화상


3, 결론



무사 검지했습니다. 입력을 할 수 있으면 센서등의 응용이 편리할 것 같기 때문에 기대됩니다.



참고
Pi4J에서 Raspberry pi3에서 푸시 버튼 인식 샘플
참고로 프로그램 작성했습니다.

좋은 웹페이지 즐겨찾기