Ответы пользователя по тегу Arduino
  • Как включать/выключать лазер по нажатию кнопки?

    @AlbertForest
    const int LaserPin = 3;
    const int ButtonPin = 4;
    bool LaserState = false;
    bool ButtonState = false;
    void setup() {
    
      pinMode(ButtonPin, INPUT_PULLUP);
      pinMode(LaserPin, OUTPUT);
    }
    void loop() {
      if (!ButtonState && digitalRead(ButtonPin)){ // Если кнопка нажата, а прошлый статус - 0
        delay(10); // убеждаемся что это не шум
        if (digitalRead(ButtonPin)){
          LaserState = !LaserState; // меняем статус лазера
          digitalWrite(LaserPin, LaserState); // устанавливаем
          ButtonState = true; // запоминаем состояние кнопки
        }
      }
      if(!digitalRead(ButtonPin) && ButtonState){ // Если кнопка опущена а ее статус 1 - меняем статус
        ButtonState = false;
      }
    }
    Ответ написан
    1 комментарий