ARDUINO Нужна дополнительная помощь по урокам

Miha1l

✩✩✩✩✩✩✩
16 Апр 2020
2
0
Здравствуйте, я только начал "изучать" Ардуино. И в основном по урокам AlexGiver. В 7 уроке на YUOTube, AlexGiver предложить доработать, так что, бы диоды так-же гасли, я попытался это реализовать, но это у меня не получается, пожалуйста ткните пальцем в ошибки.
 

Вложения

  • 1.3 KB Просмотры: 1

kalobyte

★★★✩✩✩✩
1 Янв 2020
726
146
для начала вставь ссылку на урок
потом вставь код, чтобы люди не качали файл, а сразу увидели

в кратце напиши, что в уроке есть, что надо доработать и что конкретно у тебя не работает

в следущий раз задавай вопросы по этому алгоритму
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
Ошибка в самом алгоритме. Из за неудобоваримой сложности чтения условий ты запутался.
попробуй упростить условие. вместо нагромождений && разбей для начала так (читай комментарии):

C++:
void loop() {
butt = !digitalRead(3); // считать текущее положение кнопки
if (butt == 1 )
{
    //тут делаешь все, что надо если кнопка НЕ нажата (отпущена)
    if (butt_flag==1) return // выход из цикла луп (в данном случае можно сделать так!)
    if (millis() - last_press <100 ) return; //аналогично!
    // все условия на невыполнение задигания проверен. Теперь можно проверить только номера пинов!
    // вот тут пробуй сам после этого коммента
    
    
    butt_flag=1;   
    last_press = millis();
}
else
{
    //тут делаешь все, что надо если кнопка нажата    , вроде бы только это:
    butt_flag = 0;
}
}
И! подключи монитор порта, выводи на него промежуточные значения, а так же места из которых они выводятся, что бы потом можно было проанализировать это. Примерно так:
C++:
if (butt == 1)
{
    Serial.println("Кнопка не нажата");
    ...
        
    Serial.println("Кнопка не нажата, конец условия");
}
else
{
    Serial.println("Кнопка нажата");
    ...
        Serial.println("Кнопка нажата, конец условия");
}
 

Miha1l

✩✩✩✩✩✩✩
16 Апр 2020
2
0
Спасибо.

Ура у меня, заработало!!!! Спасибо. Буду изучать дальше