Проблемы с кодом на arduino

Тема в разделе "Arduino & Shields", создана пользователем РоманСталоне, 20 дек 2022.

Метки:
  1. Задание: Собрать схему из кнопки и сервомотора. Пока нажата кнопка, сервомотор вращается.

    Не работает по условию. Не знаю как сделать проверку на зажатость кнопки и пока цикл полностью не срабатывает оно не останавливается. Даже по завершению цикла возвращается в исходное состояние, а должно остаться на том месте где прекратили зажимать на кнопку. Помогите плиз, напишите код, уже не нет вариантов как реализовать даже через flag пробовал так даже хуже.

    Код:
    #include <Servo.h>
    Servo servo;
    //Собрать схему из кнопки и сервомотора.
    //Пока нажата кнопка, сервомотор вращается.
    void setup() {


    pinMode (4, OUTPUT);
    pinMode (5, OUTPUT);

    pinMode(8, INPUT_PULLUP);
    servo.attach(9);
    }

    void loop()
    {
    int pos;
    int button = !digitalRead(8);
    while (button==HIGH)
    { delay(15);
    for (pos = 0; pos <= 180; pos += 1)
    {
    servo.write(pos);
    delay(5);
    }
    if (button==LOW) break;
    while (button==HIGH)
    {
    if (pos ==180)
    {for (pos = 180; pos >= 0; pos -= 1)
    { servo.write(pos);
    delay(5); }
    }
    }}
    // else
    // if (button==LOW) break;

    //}
    //else
    // if (button==LOW) break;

    }
     

    Вложения: