Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4601

Java • Pi4J does not work correctly with PI5 in a Java project

$
0
0
Here is a Python script that successfully turns the relay on/off

Code:

import RPi.GPIO as GPIOimport timechannel = 27GPIO.setmode(GPIO.BCM)GPIO.setup(channel, GPIO.OUT)def motor_on(pin):    GPIO.output(pin, GPIO.HIGH)def motor_off(pin):    GPIO.output(pin, GPIO.LOW)if __name__ == '__main__':    try:        motor_on(channel)        time.sleep(1)        motor_off(channel)        time.sleep(1)        GPIO.cleanup()    except KeyboardInterrupt:       GPIO.cleanup() 
Here is a similar java code, but when executed, the relay turns on and freezes in the on position. It is impossible to remove the signal at pin 27 (or any other)

Code:

import com.pi4j.context.Context;import com.pi4j.Pi4J;import com.pi4j.io.gpio.digital.DigitalOutput;import com.pi4j.io.gpio.digital.DigitalOutputConfig;import com.pi4j.io.gpio.digital.DigitalState;public class Main {    public static void main(String[] args) throws InterruptedException {        Context pi4j = Pi4J.newAutoContext();        DigitalOutputConfig config = DigitalOutput.newConfigBuilder(pi4j)                .id("LED")                .name("Simple LED Control")                .address(27)                .shutdown(DigitalState.LOW)                .initial(DigitalState.LOW)                .build();        DigitalOutput led = pi4j.create(config);        led.state(DigitalState.HIGH);        Thread.sleep(1000);        led.state(DigitalState.LOW);        pi4j.shutdown();    }}
What should I do? If there are any alternatives for Java? Or am I doing something wrong
implementation ("com.pi4j:pi4j-core:2.6.0")
implementation ("com.pi4j:pi4j-plugin-raspberrypi:2.6.0")
implementation ("com.pi4j:pi4j-plugin-gpiod:2.6.0")

Statistics: Posted by kvazarrius — Sat Jan 11, 2025 3:49 pm — Replies 0 — Views 18



Viewing all articles
Browse latest Browse all 4601

Trending Articles