Skip to content

Commit da32461

Browse files
committed
dependency to pi4j and basic example added
1 parent 4487504 commit da32461

File tree

2 files changed

+61
-1
lines changed

2 files changed

+61
-1
lines changed

build.gradle

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@ group 'ch.fhnw'
88
version '0.1'
99

1010
repositories {
11-
jcenter();
11+
jcenter()
1212
mavenCentral()
13+
maven {
14+
url "https://oss.sonatype.org/content/repositories/snapshots/"
15+
}
16+
1317
}
1418

1519

@@ -28,6 +32,8 @@ compileJava {
2832
}
2933

3034
dependencies {
35+
implementation 'com.pi4j:pi4j-core:1.4-SNAPSHOT'
36+
3137
testImplementation('org.junit.jupiter:junit-jupiter:5.6.0')
3238
}
3339

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package gpiosimulator;
2+
3+
import com.pi4j.io.gpio.GpioController;
4+
import com.pi4j.io.gpio.GpioFactory;
5+
import com.pi4j.io.gpio.GpioPinDigitalInput;
6+
import com.pi4j.io.gpio.GpioPinDigitalOutput;
7+
import com.pi4j.io.gpio.GpioPinPwmOutput;
8+
import com.pi4j.io.gpio.PinPullResistance;
9+
import com.pi4j.io.gpio.PinState;
10+
import com.pi4j.io.gpio.RaspiBcmPin;
11+
import com.pi4j.io.gpio.RaspiGpioProvider;
12+
import com.pi4j.io.gpio.RaspiPinNumberingScheme;
13+
import com.pi4j.io.gpio.event.GpioPinListenerDigital;
14+
import com.pi4j.util.Console;
15+
16+
public class HelloGPIO {
17+
18+
public static void main(String[] args) throws Exception {
19+
GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING)); //like on GPIO Extension Board
20+
21+
final GpioController gpio = GpioFactory.getInstance();
22+
23+
GpioPinDigitalOutput led = gpio.provisionDigitalOutputPin(RaspiBcmPin.GPIO_16, // PIN NUMBER
24+
"My LED" , // PIN FRIENDLY NAME (optional)
25+
PinState.LOW); // PIN STARTUP STATE (optional)
26+
27+
28+
led.setShutdownOptions(true, PinState.LOW);
29+
30+
final GpioPinDigitalInput button = gpio.provisionDigitalInputPin(RaspiBcmPin.GPIO_05,
31+
PinPullResistance.PULL_DOWN);
32+
33+
// set shutdown state for this input pin
34+
button.setShutdownOptions(true);
35+
36+
button.addListener((GpioPinListenerDigital) event -> {
37+
if(event.getState().isHigh()){
38+
led.high();
39+
}
40+
else {
41+
led.low();
42+
}
43+
});
44+
45+
Console console = new Console();
46+
console.promptForExit();
47+
48+
while (console.isRunning()) {
49+
Thread.sleep(1000);
50+
}
51+
52+
gpio.shutdown();
53+
}
54+
}

0 commit comments

Comments
 (0)