#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でのプッシュボタン認識サンプル
参考にしてプログラム作成しました。