import com.pi4j.gpio.extension.mcp.MCP23017GpioProvider;
import com.pi4j.gpio.extension.mcp.MCP23017Pin;
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinPullResistance;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;
import com.pi4j.io.gpio.event.GpioPinListenerDigital;
import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CFactory.UnsupportedBusNumberException;
import com.pi4j.wiringpi.I2C;
import com.pi4j.wiringpi.Gpio;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author burak.dogancay
*/
public class MCP23017_InputTest {
public static int ldrval;
public static int incnumber;
public static int incnumberl;
public static void I2csetup() throws UnsupportedBusNumberException, IOException{
final GpioController gpio = GpioFactory.getInstance();
/*
final MCP23017GpioProvider provider = new MCP23017GpioProvider(I2CBus.BUS_1, 0x71);
GpioPinDigitalInput myinputs= gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A0, "MyInput-A0", PinPullResistance.PULL_UP);
GpioPinDigitalOutput myoutput[] = {
gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_A1, "MyOutput-A1", PinState.LOW),
gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B1, "MyOutput-B1", PinState.LOW)
};
while(true){
try {
ldrval = gpio.getState(myinputs).getValue();
if (ldrval==1){
gpio.setState(true, myoutput);
System.out.println("The ldr value is correctly read : %d"+ldrval);
}
else{
gpio.setState(false, myoutput);
System.out.println("The ldr value is correctly read : %d"+ldrval);
}
if((incnumber>=15)&&(incnumberl==incnumber)){
break;
}
incnumber+=1;
incnumberl=incnumber;
Thread.sleep(1000);
} catch (InterruptedException ex) {
//Logger.getLogger(Pi4jI2Control.class.getName()).log(Level.SEVERE, null, ex);
}
}
*/
gpio.shutdown();
}
}