Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Аппаратные модули
  3. Общие вопросы по GPIO, I2C, UART, SPI, 1-Wire, DSI, CSI, I2S
  4. Pi4J некорректно работает с PI5 в Java проекте

Pi4J некорректно работает с PI5 в Java проекте

Запланировано Прикреплена Закрыта Перенесена Общие вопросы по GPIO, I2C, UART, SPI, 1-Wire, DSI, CSI, I2S
1 Сообщения 1 Posters 29 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • K Не в сети
    K Не в сети
    Kvazarrius
    написал в отредактировано
    #1

    Вот скрипт на Python который успешно включает/выключает реле

    import RPi.GPIO as GPIO
    import time
    
    channel = 27
    GPIO.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()
    

    Вот аналогичный java код, но при его исполнении реле включается и намертво зависает во включенном положении. Невозможно снять сигнал в 27 пина (и любого другого)

    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();
        }
    }
    

    Какие есть соображения на этот счет?

    1 ответ Последний ответ
    0

    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Login or register to search.
    • Первое сообщение
      Последнее сообщение
    0
    • Категории
    • Главная
    • Документация
    • Последние
    • Пользователи