Часы на esp8266 и max7219 + android управление

Тема в разделе "Глядите, что я сделал", создана пользователем IvanUA, 28 авг 2017.

?

Вы повторили это проект?

  1. Нет (просто ознакомился)

    35 голосов
    13,3%
  2. Да, один раз (попробовал)

    111 голосов
    42,0%
  3. Да, не однократно

    122 голосов
    46,2%
Можно выбрать сразу несколько вариантов.
  1. IvanUA

    IvanUA Гуру

    Копайте здесь
    [​IMG][​IMG]
    и здесь
    [​IMG][​IMG]
     
  2. Klient

    Klient Нерд

    Спасибо, получилось...
    Код (C++):
    void showSimpleTemperature(byte znakT, float temp0) {
      bigCklock = 0;
      timerStopBigCklock=millis();
      int temp1 = int(temp0);
      int temp2 = int(temp0*10*(temp0>0?1:-1))%10;
      int znak = znakT%10;
      byte digPos[10] {3, 4, 5, 6, 17, 18, 19, 20, 21, 22};
      byte indent = (NUM_MAX1 * 8) - 32;
      dx = dy = 0;
      clr(1);
      if (znakT == 0) showDigit(194, 0, fontUA_RU_PL_DE, 1),
      showDigit(196, 7, fontUA_RU_PL_DE, 1),
      showDigit(206, 14, fontUA_RU_PL_DE, 1),
      showDigit(204, 20, fontUA_RU_PL_DE, 1),
      showDigit(197, 26, fontUA_RU_PL_DE, 1);
      if (znakT == 1) showDigit(211, 0, fontUA_RU_PL_DE, 1),
      showDigit(203, 6, fontUA_RU_PL_DE, 1),
      showDigit(200, 12, fontUA_RU_PL_DE, 1),
      showDigit(214, 18, fontUA_RU_PL_DE, 1),
      showDigit(192, 24, fontUA_RU_PL_DE, 1);
      showDigit((temp0 < 0.0 ? digPos[znak*2+1]:digPos[znak*2]), 0 + indent, (fontSizeData?znaki5x7:znaki5x8), 1); // друкуємо t+ альбо t-
      if(temp1 <= -10.0 || temp1 >= 10) showDigit((temp1 < 0 ? (temp1 * -1) / 10 : temp1 / 10), 4 + indent, (fontSizeData?dig5x7:dig5x8), 1);
      showDigit((temp1 < 0 ? (temp1 * -1) % 10 : temp1 % 10), 10 + indent, (fontSizeData?dig5x7:dig5x8), 1);
      showDigit(2, 16 + indent, (fontSizeData?znaki5x7:znaki5x8), 1);
      showDigit(temp2, 18 + indent, (fontSizeData?dig5x7:dig5x8), 1);
      showDigit(0, 24 + indent, (fontSizeData?znaki5x7:znaki5x8), 1);
      showDigit(1, 27 + indent, (fontSizeData?znaki5x7:znaki5x8), 1);
      if(dataDown) scrollDown(1);
      refreshAll();
    }
    вот думаю а разве не красивее было-бы если-бы на место не значущего нуля в температуре смещялся бы знак + или -, чтобы пробела в 1 цифру небыло?
    и ещё хотел спросить зачем это? int znak = znakT%10; остаток от деления же будет равен 0 1 2 3 4
     
  3. yuraivan10

    yuraivan10 Нерд


    Спасибо разобрался, пришлось ещё Arduinojson обновить))
     
    IvanUA нравится это.
  4. IvanUA

    IvanUA Гуру

    Код (C++):
    byte param0 = 0;      //  0-темп.дом(tD), 1-темп.улица(tU), 2-темп.Н(tН), 3-(tT), 4-(tL)
    byte param1 = 1;      // 10-влажность1(hD), 11-(h1), 12-(h2), 13-(h3), 14-(h4)
    byte param2 = 2;      // 20-давление(P), 21-целое число(С) 22-батарейка(V), 23-батарейка(A)
    byte param3 = 10;
    byte param4 = 20;
    Нулевой десяток я отвел для работы с температурами, первый десяток - для работы с влажностью, второй - с остальными величинами...
    Эта строчка так сказать задел на будущее... Защита от ошибок. Мало ли что придет в эту переменную, а так там точно будет число от 0 до 9 )))))
     
  5. IvanUA

    IvanUA Гуру

    Ссылка далее по тексту.

    - добавил немного анимаций точек.
    - заморочился и нарисовал новые шрифты что бы на больших часах можно было еще маленькие секунды впихнуть.
    Включить большие часы с секундами можно во вкладке настройки -> часы в две строки.
    [​IMG][​IMG]

    На этом думаю что модернизация данной версии закончена. Немного тестируем и выложу на гитхаб.
     
    Последнее редактирование: 5 ноя 2020
    SteinMark и max50a5 нравится это.
  6. Deniskyn

    Deniskyn Гик

    Закончена с концами?..... переходим на 32ю ESP? =)
     
  7. Djuscha

    Djuscha Нерд

    Не пойму что я делаю не правильно.У меня была VZ_Clock_x2_v4.1 версия часов на 2 матрицы решил перепрошить на VZ_Clock_x2_v4.2 если прошиваю версию которую
    я компилирую сам идет перезагрузка по кругу..кнопки нет сопротивление подключено. чистил Nodemcuс blank.bin. не помогло. если прошиваюVZ_Clock_x2_v4.2.biin
    все матрицы горят и никакои реакции .Прошиваю мою старую VZ_Clock_x2_v4.1 все работает нормально.
    сейчас попробовал VZ_Clock_x2_v4.3 тоже reboot по кругу
     
  8. SteinMark

    SteinMark Гик

    Спасибо Иван! Этот отличный Проект заслуживает высокой оценки, вдвойне за бескорыстность
    и готовность помочь. До сейчас только еще одно... при включении на моих часах загораются все матрикс на несколько секунд
    потом все нормально.
    Оставайтесь здоровыми.
    MfG Mark.
     
  9. yuraivan10

    yuraivan10 Нерд

    А где лежат эти новые версии?
     
  10. IvanUA

    IvanUA Гуру

    У меня пока только одна мысль, попробуйте сопротивление подключить к противоположному полюсу, если было на + то на землю, и наоборот.
    Еще надо односточку допилить.
    Спасибо :)
    Как просили на форуме я сделал двойную инициализацию матриц. Для запуска это не страшно, но у кого проблемы с запуском матриц - то помогает.
    Все финальные версии я выкладываю на гитхаб.
     
    Djuscha нравится это.
  11. yuraivan10

    yuraivan10 Нерд

    Все финальные версии я выкладываю на гитхаб.[/QUOTE]

    Тут пишут о версии 4.2 и 4.3, а на гитхабе вижу 4.1((((
     
  12. IvanUA

    IvanUA Гуру

    Да все верно. 4.2 и 4.3 это промежуточные тестовые версии, я их выкладывал для тестов на гугл диск.
    Завтра думаю что будет готова версия 4.3 для двухстрочного варианта, и она пойдет на гитхаб...
    4.3 для однострочного буду готовить позже...

    ПС.. 4.2 Не будет на гите ввиду того что там не существенные различия с предыдущей версией.
     
    Последнее редактирование: 5 ноя 2020
    max50a5 нравится это.
  13. jgupdimon

    jgupdimon Гик

    Всем привет. Давненько не заходил. Ух сколько нового. Нужно почитать. Огромное спасибо тебе, Иван, за столь замечательный проект с постоянными обгрейдами.
     
  14. IvanUA

    IvanUA Гуру

  15. Klient

    Klient Нерд

    А проблема с обнулением настроек датчиков при пропадании питания исправлена?
    Попробовал, так-же, всё обнулилось, или это только у меня так происходит?
     
    Последнее редактирование: 5 ноя 2020
  16. jgupdimon

    jgupdimon Гик

    Иван, в однострочной версии VZ_Clock_x1_v4.1 вместо давления с BMP180 показывает кракозябры, где поправить? Не шло время. Сменил сервер на Российский ntp3.stratum2.ru
     
  17. jgupdimon

    jgupdimon Гик

    Это по 5 матриц в ряд?
     
  18. max50a5

    max50a5 Гик

    В процедуре void sensorsBmp() замените два раза pressSys == 0 на pressSys == 1. Иначе при выборе mmHg показывает в hPa и на оборот.
    Нет, по 4.
     
  19. jgupdimon

    jgupdimon Гик

    Спасибо
     
  20. jgupdimon

    jgupdimon Гик

    Всё заработало.