запуск генератора с пульта при помощи ардуино

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ม.ค. 2025

ความคิดเห็น • 4

  • @solviks6879
    @solviks6879 2 ปีที่แล้ว

    Спасибо. Зачетно!

  • @tedi0023
    @tedi0023  7 ปีที่แล้ว

    #include
    const int led1Pin = 4; // Подключен к пину 4
    const int led2Pin = 5; // Подключен к пину 5
    RCSwitch mySwitch = RCSwitch();
    unsigned long led1OnTime;
    unsigned long led2OnTime;
    bool led1On;
    bool led2On;
    volatile boolean flag;
    void setup()
    { pinMode(led1Pin, OUTPUT); // обьявляем пин к которому подключено реле на выход
    pinMode(led2Pin, OUTPUT); // обьявляем пин к которому подключено реле на выход
    led1On = false;
    led2On = false;
    mySwitch.enableReceive(0); // Receiver on interrupt 0=> подключен к пину 2
    pinMode(3, INPUT_PULLUP);
    attachInterrupt(1, myInterrupt, FALLING);
    }
    void loop() {
    if (mySwitch.available())
    {int value = mySwitch.getReceivedValue();}
    if (mySwitch.getReceivedValue() == 11088392) // Кнопка A пульта
    {digitalWrite(led1Pin, HIGH);
    led1On = true;
    led1OnTime = millis();}
    if (flag){digitalWrite(led1Pin, LOW);
    led1On = false;
    flag = 0;
    }
    if (mySwitch.getReceivedValue() == 11088388) // Кнопка B пульта
    {digitalWrite(led2Pin, HIGH);
    led2On = true;
    led2OnTime = millis();}
    if (led1On && millis() - led1OnTime > 10000)
    {digitalWrite(led1Pin, LOW);
    led1On = false;}
    if (led2On && millis() - led2OnTime > 10000)
    {digitalWrite(led2Pin, LOW);
    led2On = false;}
    mySwitch.resetAvailable();}
    void myInterrupt() {
    flag = 1;
    }

  • @TAY-77
    @TAY-77 3 ปีที่แล้ว +2

    можно сделать в 3 раза проще.