Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Raspberry Pi
  3. java + pi4j + raspberry

java + pi4j + raspberry

Запланировано Прикреплена Закрыта Перенесена Raspberry Pi
1 Сообщения 1 Posters 16 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано
    #1

    Ребята, подскажите пожалуйста!!!Есть кусок кода: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.RaspiPin;

    import
    com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;

    import
    com.pi4j.io.gpio.event.GpioPinListenerDigital;

    public class Test {

    public static double summ = 100;

    static
    GpioController gpio = GpioFactory.getInstance();

    static
    GpioPinDigitalInput myButton = gpio.provisionDigitalInputPin(RaspiPin.GPIO_00,PinPullResistance.PULL_DOWN);

    static
    GpioPinDigitalInput myButton2 = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02,PinPullResistance.PULL_DOWN);

    static
    GpioPinDigitalInput myButton3 = gpio.provisionDigitalInputPin(RaspiPin.GPIO_03,PinPullResistance.PULL_DOWN);

    static
    GpioPinDigitalOutput gpioPinDigitalOutput = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_15, "MyLED", PinState.LOW);

    static
    GpioPinDigitalOutput gpioPinDigitalOutput2 = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_16, "MyLED", PinState.LOW);

    static GpioPinDigitalOutput gpioPinDigitalOutput3 = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "MyLED", PinState.LOW);

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

    //  При нажатии на
    первую кнопку (myButton)
    добавляет добавляет к сумме 100

    myButton.addListener((GpioPinListenerDigital)
    (GpioPinDigitalStateChangeEvent eventButton) ->{

    gpioPinDigitalOutput.toggle();

    summ = summ + 100;

    System.out.println(summ);

    });

    //  При нажатии на
    первую кнопку (myButton2)
    запускает цикл №1 от суммы отнимаем 0,01

    myButton2.addListener((GpioPinListenerDigital)
    (GpioPinDigitalStateChangeEvent eventButton) ->{

    gpioPinDigitalOutput2.toggle();

    try {

    Thread.sleep(1000);

    summ = summ - 0.01;

    } catch (Exception e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    System.out.println(summ);

    }

    });

    //  При нажатии на
    первую кнопку (myButton3)
    запускает цикл №2 от суммы отнимаем 0,05

    myButton3.addListener((GpioPinListenerDigital)
    (GpioPinDigitalStateChangeEvent eventButton) ->{

    gpioPinDigitalOutput3.toggle();

    try {

    Thread.sleep(1000);

    summ = summ - 0.05;

    } catch (Exception e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    System.out.println(summ);

    }

    });

    while (true) {

    }

    }

    }Как сделать так, чтобы: нажимаем кнопку myButton2, запускается цикл который отнимает от summ-0.01, потом нажимаем myButton3,  цикл от кнопки myButton2 и запускается цикл который отнимает от оставшейся summ от первого цикла и
    отнимаем в новом цикле sum-0.05.Тут в
    коде если нажать на одну и туже кнопку myButton2 или myButton3 суммируется в цикле т.е.
    Пример: два раза на кнопку myButton2 отнимается не 0,01, а 0,02 ((

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

    • Войти

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

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