lcd дисплей и минутомер...

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем rappu.nottep, 25 окт 2015.

Метки:
  1. rappu.nottep

    rappu.nottep Нуб

    По плану на экране должно отображаться прошедшее кол-во секунд и минут с момента включения.
    На самом деле просто каждую секунду увеличиваются МИНУТЫ.
    Код (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);

    }
     

    Вложения:

    • HelloWorld.ino
      Размер файла:
      431 байт
      Просмотров:
      396
  2. geher

    geher Гуру

    Ошибка тут:
    Код (Text):
    if (seco = 60){
    Должно быть
    Код (Text):
    if (seco == 60){
    Дело в том, что первый вариант работает так.
    seco присваивается значение 60. if трактует это значение как истинное и выполняет зависящий от этого условия код, т.е. каждый раз увиличивается minu.
    Во втором варианте условие осуществляет простое сравнение, и код, зависящий от условия, выполняется только если seco равно 60.

    Кстати, в выдаче компилятора (если включить соответствующую настройку) должно быть предупреждение на счет присваивания в условии if.
     
    Tomasina нравится это.
  3. rappu.nottep

    rappu.nottep Нуб

    Спасибо