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

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

?

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

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

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

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

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

    Makc Нуб

    Здравствуйте.
    Очень понравился ваш проект, сделал себе такое же. Спасибо за проделанный труд.
    В описании к проекту у вас есть такой пункт:
    Про "зависание" часов - это не проблема ESP. После того, как у меня часы неоднократно "подвисали" - начал разбираться в вашем коде, и нашёл ошибку - у вас сделан ненужный return:
    Код (C++):

    //------------- РОБОТА З КНОПКОЮ --------------------------------------------------------
    if(digitalRead(BUT_PIN) == HIGH) {
      if(alarm_stat) {
        alarm_stat = 0;
        alarm_hold = 1;
        if(alarme[alarm_numer][2] == 11) alarme[alarm_numer][2] = 0;
      } else {
        showSimpleTemp();
        return;
      }
    }
     
    Если его убрать, то часы перестанут "зависать".
    С наилучшими пожеланиями.
    Максим.
     
  2. mikhail09p

    mikhail09p Гик

    Вот сюда...
     

    Вложения:

    • Bezymiannyi.jpg
      Bezymiannyi.jpg
      Размер файла:
      105,6 КБ
      Просмотров:
      396
  3. IvanUA

    IvanUA Гуру

    Этот пункт - сделан немного для другого случая.
    Этот ретурн сделан для того, что когда нажата кнопка, то выводятся только показания температуры, все функции что ниже, просто не выполняются. Если его убрать, то думаю что будут проблемы при отображении температу при нажатии на кнопку.
     
  4. Seaven

    Seaven Нерд

    Ага, будут показания перемигиваться.
    Но вот хочу добавить - собрал пару часиков, при подаче питания был индикатор пустой, после нажатия кнопки "ресет" все стартовало. Оказалось, что ESP стартует, а индикатор нет. Добавил паузу в начале процедуры инициализации, все стало хорошо.
     
  5. IvanUA

    IvanUA Гуру

    Что то мне так подумалось что не факт что завтра действительно не попадутся разные матрицы.... Короче двух часовой мозговой штурм, переделывание куска программы и вуаля, в вебе появилась всего лишь одна доп настройка угла поворота второй матрицы.... Но зато как мозги "подогрелись"))))
    Бинарник с функцией поворота для двух матриц.
    обновленная ссылка в следующих сообщения на форуме.
    [​IMG][​IMG]
     
    Последнее редактирование: 24 дек 2018
    Egoist нравится это.
  6. urg2000

    urg2000 Нерд

    ZAZ-965 спасибо гул пропал
    По-моему надо в функции bip() останавливать генерацию
    void bip(){
    if(!buzzerSet){
    tone(buzzerPin, 2000, 40);
    delay(250);
    // останавливаем таймер и обнуляем Waveform
    noTone(buzzerPin);
    } else {
    digitalWrite(buzzerPin, HIGH);
    delay(120);
    digitalWrite(buzzerPin, LOW);
    delay(120);
    }
    }
     
  7. Egoist

    Egoist Нуб

    Ничего себе! Супер круто! В этом году даже и не ждал уже, шикарный подгон! Огромное Спасибо за ваши старания, но снова небольшая проблема, видимо что-то было напутано с отображением и на первом экране мне так и не удалось добиться правильного отображения ни на одной из матриц, чтобы было яснее я все нафотал, получается на фото 0>90>270, матрица №1, матрица №2 и матрица №1 на прошивке 25.10
    IMG_8808.JPG IMG_8810.JPG IMG_8811.JPG
    На втором экране инфа отображается корректно, по крайней мере с моей матрицей №2))

    p.s. еще хотел бы попросить за mqtt, там у вас в поле ввода порта в вэбе почему-то стоит минимальное количество в 5 цифр, меньше нельзя, странновато если честно, т.к. если использовать локальный сервер, обычно порт идет 1883, а тут получается его нельзя вставить, в общем-то я просто редактировал саму страничку перед заливкой, но раз зарегистрировался и начал с вами общение, хочу задать этот вопрос, особенно актуальненко сейчас, пока нет исходников))
     
    Последнее редактирование: 24 дек 2018
  8. IvanUA

    IvanUA Гуру

    Попробуйте вторую матрицу перевернуть физически на 180 градусов, а программно поставить 90
     
  9. Egoist

    Egoist Нуб

    Попробовал так, получилось что часы отображаются корректно, а информер никак, т.е. получается на этой версии матрица #2 вообще может корректно отображать инфу ни на одном экране, хотя на всех прошлых версиях работали обе матрицы правильно, правда не одновременно)))
     
  10. buba911

    buba911 Гик

    Ну дык я вам говорил, что вы пытаетесь впихнуть не впихуемое в старую прошивку upload_2018-12-24_17-6-50.png
    которая работает только с openweathermap вставить опрос с сервера погоды который не поддерживается в скейтче. Обновите прошивку и будет вам счастье.
     
  11. IvanUA

    IvanUA Гуру

    Что бы было комфортнее пользоваться часами в ночное время, сделал вывод на экран только ОГРОМНЫХ часов... Эта фукнция включается в вебе. Работает только в ночное время.


    Бинарник - обновленная ссылка в следующих сообщения на форуме.
    Поправил в коде. Теперь можно вводить 4-5 знака.
     
    Последнее редактирование: 24 дек 2018
    Deniskyn, yucan и Egoist нравится это.
  12. IvanUA

    IvanUA Гуру

    Сделайте фото разных углов только с этой матрицы (ну и желательно подписать фотки, где какой угол)
     
    Egoist нравится это.
  13. Egoist

    Egoist Нуб

    Большие часы в ночное время - отличная идея!) [при нажатии кнопки показывается температура на нижней матрице, баг или фича?))]
    За mqtt благдарен)
    Я выкладывал в предыдущем посте, в спойлере, матрица поярче это и есть эта зловещая "№1" на этих фотках получается идет 0>90>270 в такой последовательности, на прошивке 25.10 она корректно работала с поворотом 270, на двуматричных, ранних уже не помню, но вероятно тоже была 270, а вторая моя матрица на прошивке 25.10 корректно работала на 90гр...
     
    Последнее редактирование: 24 дек 2018
  14. IvanUA

    IvanUA Гуру

    Кажишь нашел ошибку, перезалейте прошивку
     
    Последнее редактирование: 25 дек 2018
  15. Egoist

    Egoist Нуб

    Время 23.20 показывает)) это на 270гр
    Отображение вроде правильное, но идет сдвиг...
     

    Вложения:

    • IMG_8819.JPG
      IMG_8819.JPG
      Размер файла:
      593,3 КБ
      Просмотров:
      405
  16. IvanUA

    IvanUA Гуру

    Перезалил, проверьте.
     
    Egoist нравится это.
  17. Egoist

    Egoist Нуб

    О, да! Наконец-то! Теперь все ок! Огромное Вам СПАСИБО! Теперь буду тестить полноценно)
    На счет кнопки прочитали в прошлом сообщении?)
     
  18. IvanUA

    IvanUA Гуру

    И ни баг и ни фича... Так устроен код. При нажатии на кнопку, во второй ряд выводится температура в комнате.
    Но в принципе вы правы... сделал так что бы в ночное время при выводе больших часов,. нажатие на кнопку не выводило температуру в нижнюю строчку.
    ПС. Не знаю есть ли смысл выводить температуру на две строки при нажатии...
     
    Последнее редактирование: 24 дек 2018
  19. IvanUA

    IvanUA Гуру

    Где именно и какая пауза?
     
  20. Egoist

    Egoist Нуб

    Как по мне, лучше часы наверх, температуру снизу, как в обычном дневном режиме типа)
    Поймал баг в ночном режиме, теперь сдвиг получился на нижней части, при этом в однострочном режиме все отображается корректно, т.е. баг именно на больших часах наверное...
     

    Вложения: