По плану на экране должно отображаться прошедшее кол-во секунд и минут с момента включения. На самом деле просто каждую секунду увеличиваются МИНУТЫ. Код (C++): #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 53, 50, 49, 46); int seco = 55; int minu = 0; void setup() { lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Look at me! =)"); } void loop() { seco = seco + 1; if (seco = 60){ seco = 0; minu = minu + 1; } lcd.setCursor(0, 1); lcd.print("ON: "); lcd.print(minu); lcd.print(" min."); lcd.print(seco); lcd.print(" sec."); delay(1000); }
Ошибка тут: Код (Text): if (seco = 60){ Должно быть Код (Text): if (seco == 60){ Дело в том, что первый вариант работает так. seco присваивается значение 60. if трактует это значение как истинное и выполняет зависящий от этого условия код, т.е. каждый раз увиличивается minu. Во втором варианте условие осуществляет простое сравнение, и код, зависящий от условия, выполняется только если seco равно 60. Кстати, в выдаче компилятора (если включить соответствующую настройку) должно быть предупреждение на счет присваивания в условии if.