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

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

?

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

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

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

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

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

    IvanUA Гуру

    Я бы поставил 3. Но в любом случае нужно еще и немного пошевелить извилинами и посчитать токи)))))
     
  2. Oleksandr54

    Oleksandr54 Нерд

    После синтеза звука в конце надо прописать: noTone(buzzerPin);
     
  3. IvanUA

    IvanUA Гуру

    Зачем?
     
  4. Oleksandr54

    Oleksandr54 Нерд

    После подачи сигнала в канале появляется черт знает что, мой усилитель D-класа с ума сходил.
     

    Вложения:

    • 94517.png
      94517.png
      Размер файла:
      228,5 КБ
      Просмотров:
      1.086
  5. IvanUA

    IvanUA Гуру

    Возможно.
    Я просто этим никогда не заморачивался.
    Максимум на что меня хватило, так это поиграть разные мелодии, но и......
    .....delay(огогосколько времени даром);
    .....портит всю картину.
    Так что моё твёрдое убеждение что на Ардуино и ЕСП - базер можно использовать только в роли пищалки - короткой озвучки какого либо события.
    Ну а хотите мелодию или голос, да еще и стерео - мп3 модуль вам в помощь.
     
  6. IvanUA

    IvanUA Гуру

    А что там Ваши эксперименты с лагами конфигурации и повторами прогноза?
    Мой тестовый вариант уже после добавления MQTT работает в детской без сбоев, по крайней мере памяти, как там с прогнозом, особо за этим никто не следит.
     
  7. Oleksandr54

    Oleksandr54 Нерд

    В варианте с термометром лагов замечено не было, мне кажется, что временные расстановки вывода информации более жесткие как бы.
     
  8. IvanUA

    IvanUA Гуру

    Я уж и не помню почему именно я выбрал именно такие временные интервалы для событий, но ничего не мешает вам экспериментировать ;)
     
  9. Oleksandr54

    Oleksandr54 Нерд

    Переделал отображение температуры. Добавлено отрицательные значения температур, убрана индикация не значащего нуля в термометре.
     

    Вложения:

    Последнее редактирование: 29 сен 2017
  10. IvanUA

    IvanUA Гуру

    Дошли руки, посмотрел Ваш код... Ну в принципе интересный вариант.
    Но дальше я таки пошел своим методом, и продолжил написание кода не особо меняя программу получения значений температуры.
    Мне просто показалось что так будет удобнее формировать строку для публикации ее на MQTT сервер... Хотя можно было приспособить спокойно и ваш вариант.
    В моём же я подправил программу вывода температуры на экран, что бы корректно отображались отрицательные числа.

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

    На таком меленьком индикаторе ничего умнее не придумал как разделить показания в доме и на улице значками D и У...
    [​IMG]
    [​IMG]
     
  11. surikoff

    surikoff Нуб

    Автор, подскажите, вы писали что использовали для проекта ESP-01, но у него, насколько я знаю, не выведен на пины SPI. Так как же вы подружили его с max7219?
     
  12. IvanUA

    IvanUA Гуру

    Да нормально они дружат :)
    Код (C++):
    /*  ESP-01 піни на платі:             |
                                          |
      GND______GPIO2____GPIO0____RX/GPIO3 |
    TX/GPIO1___CH_______RST______VCC     |
    --------------------------------------|
    Піни LED------ESP-01----NodeMCU 1.0  |
                                          |
      DataIn_______GPIO 2______D8         |
      LOAD/CS______GPIO 0______D7         |
      CLK__________GPIO 3______D6         |
    ______________________________________|
    */


    ...

    //for ESP-01 module
    //#define DIN_PIN   2   // D4
    //#define CS_PIN    0   // D3
    //#define CLK_PIN   3   // D9/RX

    //for NodeMCU 1.0
    #define DIN_PIN   15  // D8
    #define CS_PIN    13  // D7
    #define CLK_PIN   12  // D6

    ...

    void initMAX7219(){
      pinMode(DIN_PIN, OUTPUT);
      pinMode(CLK_PIN, OUTPUT);
      pinMode(CS_PIN, OUTPUT);
      digitalWrite(CS_PIN, HIGH);
      sendCmdAll(CMD_DISPLAYTEST, 0);
      sendCmdAll(CMD_SCANLIMIT, 7);
      sendCmdAll(CMD_DECODEMODE, 0);
      sendCmdAll(CMD_INTENSITY, 0); // minimum brightness
      sendCmdAll(CMD_SHUTDOWN, 0);
      clr();
      refreshAll();
    }

    ...

    void sendCmdAll(byte cmd, byte data){
      digitalWrite(CS_PIN, LOW);
      for(int i=NUM_MAX-1; i>=0; i--){
        shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, cmd);
        shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, data);
      }
      digitalWrite(CS_PIN, HIGH);
    }

    ...

    ну и так далее
    Могу конечно ошибаться, но кажись это называется ногодрыгом...
     
    Последнее редактирование: 19 окт 2017
  13. surikoff

    surikoff Нуб

    Ага, спасибо. Т.е. получается такой софтовый spi... Причем GPIO3 вы вроде не задействовали?
    А не могли бы вы для полноты картину накидать схему, хотя бы вчерновую от руки? Думаю, многим бы пригодилось.
     
  14. IvanUA

    IvanUA Гуру

    Набросал на скорую руку
    [​IMG]

    Немного поправил картинку (ввиду того что с ЕСП-01 тестировалось все только с экраном)
     
    Последнее редактирование: 21 окт 2017
  15. IvanUA

    IvanUA Гуру

    Кстати параллельно контактам, я вывел разъемчик, что бы можно было если чего программировать через СОМ порт. Хотя.... по воздуху прошивка залетает шустрее)))
     
  16. vovkoon

    vovkoon Нерд

    Ребята, не подскажите, как прикрутить DHT12, и чтоб показывала температуру и влажность в комнате, ко всему прочему? В смысле, может попадалось в нете.
     
    Последнее редактирование: 20 окт 2017
  17. ИгорьК

    ИгорьК Гуру

    DHT12 не показывает температуру и влажность. Оно показывает свои предположения на эту тему.
     
    DIYMan нравится это.
  18. vovkoon

    vovkoon Нерд

    Извините, конечно я имел ввиду DHT22. Спасибо за ответ.
     
  19. DIYMan

    DIYMan Guest

    И DHT22 из той же оперы: только предположения по влажности и температуре. Вот из последнего тестирования от юзера:
     
  20. IvanUA

    IvanUA Гуру

    Поправил вчерашнюю картинку, так как вспомнил что с ЕСП-01 я тестировал работу еще без динамика и датчика температуры.
    По поводу цеплять DHT-22. Если уж очень охота, то все возможно. Есть желание - делайте. Что будет не получаться, спрашивайте.

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