All Downloads are FREE. Search and download functionalities are using the official Maven repository.

one.microproject.rpi.hardware.gpio.tests.ButtonTest Maven / Gradle / Ivy

package one.microproject.rpi.hardware.gpio.tests;

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 ButtonTest {

	public static void main(String[] args) throws InterruptedException {

		final GpioController gpio = GpioFactory.getInstance();
		final GpioPinDigitalInput myButton = gpio.provisionDigitalInputPin(RaspiPin.GPIO_04,
				PinPullResistance.PULL_DOWN);

		// create and register gpio pin listener
		myButton.addListener(new GpioPinListenerDigital() {
			@Override
			public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) {
				// display pin state on console
				System.out.println(" --> GPIO PIN STATE CHANGE: " + event.getPin() + " = " + event.getState());
			}

		});

		System.out.println(" ... complete the GPIO #02 circuit and see the listener feedback here in the console.");

		// keep program running until user aborts (CTRL-C)
		for (;;) {
			Thread.sleep(500);
		}

	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy