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

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

?

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

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

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

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

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

    mrcotek Нерд

     

    Вложения:

    • jqJOtWBp_fg.jpg
      jqJOtWBp_fg.jpg
      Размер файла:
      1,9 МБ
      Просмотров:
      458
  2. IvanUA

    IvanUA Гуру

    У вас сейчас так
    Код (C++):
    void showAnimClock() {
      byte digPos[6] = {1, 8, 18, 25, 15, 16};//2, 8, 19, 25, 15, 16,
      if(hour < 10) {
        digPos[1] = 5;
        digPos[2] = 15;
        digPos[3] = 22;
        digPos[4] = 21;
        digPos[5] = 25;
      }
    А должно быть как в коде
    Код (C++):
    void showAnimClock() {
      byte digPos[6] = {1, 8, 18, 25, 15, 16};//2, 8, 19, 25, 15, 16,
      if(hour < 10) {
        digPos[1] = 5;
        digPos[2] = 15;
        digPos[3] = 22;
        digPos[4] = 12;
        digPos[5] = 13;
      }
    Вообще честно говоря не могу понять зачем все эти манипуляции, если бы хотели для 6 матриц сдвинуть часы в центр экрана, то просто ко всем тем цифрам (что не в квадратных скобках) добавили бы 8 (сдвиг на одну матрицу) и все делов.
    Если вам нужен первый ноль, то закомментируйте по примеру
    Код (C++):
    void showAnimClock() {
      byte digPos[6] = {1, 8, 18, 25, 15, 16};//2, 8, 19, 25, 15, 16,
    //  if(hour < 10) {
    //   digPos[1] = 5;
    //  digPos[2] = 15;
    //   digPos[3] = 22;
    //  digPos[4] = 12;
    //  digPos[5] = 13;
    //}
     
    megavit66 нравится это.
  3. mrcotek

    mrcotek Нерд

    Попробовал закомментировать строчки. Всё та же проблема.
     
    Последнее редактирование: 20 авг 2018
  4. IvanUA

    IvanUA Гуру

    А что у вас здесь?
    Код (C++):
    #define NUM_MAX 4
     
  5. mrcotek

    mrcotek Нерд

    Код (C++):
    #define MAX_DIGITS 16
    #define NUM_MAX 6
     
  6. mrcotek

    mrcotek Нерд

    Кажется я нашел проблему, esp не прошивается, не знаю что делать теперь
     
  7. IvanUA

    IvanUA Гуру

    Попробуйте стереть (записать что) ее чем то сторонним. К примеру можно для начала залить в нее LUA через NodeMCU ESP8266 Flasher
     
  8. ИгорьК

    ИгорьК Гуру

    Лучше потереть ее через esptool.py . Это более правильный вариант.

    upload_2018-8-20_10-45-33.png
     
    Deniskyn и IvanUA нравится это.
  9. mrcotek

    mrcotek Нерд

    Все, очистил модуль, спасибо)
     
    Последнее редактирование: 20 авг 2018
  10. mrcotek

    mrcotek Нерд

    Теперь прошивается, но выдает огромную кучу ошибок.

    https://pastebin.com/3a4FdNQ7
     
  11. adecibel

    adecibel Нерд

    Эту строку нашeл здесь в теме: http://arduino.esp8266.com/stable/package_esp8266com_index.json
    Файл ESP8266fs.jar взял с первой страници.
     

    Вложения:

    • 3.jpg
      3.jpg
      Размер файла:
      159,2 КБ
      Просмотров:
      396
    • 1.jpg
      1.jpg
      Размер файла:
      200,3 КБ
      Просмотров:
      369
    • 2.jpg
      2.jpg
      Размер файла:
      153,6 КБ
      Просмотров:
      367
  12. Galubez

    Galubez Нерд

    Приветствую автора этого ЗАМЕЧАТЕЛЬНОГО проекта. :)
    Спасибо вам за вашу работу, добрался я до ардуино кода этих часов. Сделал всё пошло как и предстовлял себе. Есть ещё один вопрос, На одноцветных 16х32 DMD P10 матрицах они не дорогие и как информер сгодятся, вот было бы сделать этот проект на них. Это было бы СУПЕР.
     
    big_alex и ИгорьК нравится это.
  13. ZAZ-965

    ZAZ-965 Гуру

  14. ИгорьК

    ИгорьК Гуру

    Иван, хватит бездельничать! :)
    За работу!
     
    IvanUA нравится это.
  15. polsik

    polsik Нерд

    Можете выложить бинарик от последней версии. заранее Спасибо
     
  16. adecibel

    adecibel Нерд

  17. polsik

    polsik Нерд

    как бороться выскакивает такое, или какие версии библиотек надо?

    C:\Users\polsik\Documents\Arduino\libraries\BlueDot_BME280_Library\BlueDot_BME280.cpp: In member function 'uint8_t BlueDot_BME280::readByte(byte)':

    C:\Users\polsik\Documents\Arduino\libraries\BlueDot_BME280_Library\BlueDot_BME280.cpp:428:42: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: [enabled by default]

    Wire.requestFrom(parameter.I2CAddress,1);

    ^

    In file included from C:\Users\polsik\Documents\Arduino\libraries\BlueDot_BME280_Library\BlueDot_BME280.h:9:0,

    from C:\Users\polsik\Documents\Arduino\libraries\BlueDot_BME280_Library\BlueDot_BME280.cpp:10:

    C:\Users\polsik\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:69:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)

    uint8_t requestFrom(int, int);

    ^

    C:\Users\polsik\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\libraries\Wire/Wire.h:67:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)

    uint8_t requestFrom(uint8_t, uint8_t);

    ^

    C:\Users\polsik\Documents\Arduino\libraries\SimpleDHT\SimpleDHT.cpp:72:27: error: no 'int SimpleDHT::getBitmask()' member function declared in class 'SimpleDHT'

    int SimpleDHT::getBitmask() {

    ^

    C:\Users\polsik\Documents\Arduino\libraries\SimpleDHT\SimpleDHT.cpp:76:24: error: no 'int SimpleDHT::getPort()' member function declared in class 'SimpleDHT'

    int SimpleDHT::getPort() {

    ^

    exit status 1
    Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
     
  18. IvanUA

    IvanUA Гуру

    Не могу, я в отпуске))))
     
    Mitrandir и Deniskyn нравится это.
  19. gtsky

    gtsky Гик

    Если ващ отпуск мешает работе)) нужно неходить в отпуск)))
     
  20. chipmoca

    chipmoca Гик

    Подскажите плиз, где можно подкорректировать показания датчика AM3202 в прошивке ver.01.05.2018 ? Завышает температуру на пару градусов.
    Где-то здесь? Если да, то в каком месте? ))

    void sensorsDht() { //4
    if ((err = dht22.read2(pinDHT22, &tempDht22, &humiDht22, NULL)) != SimpleDHTErrSuccess) {
    return;
    Serial.print("Read DHT22 failed, err=");
    Serial.println(err);
    } else if(printCom) {
    humiDht22 = (int) humiDht22;
    printTime();
    Serial.println("Temperature DHT22: " + String(tempDht22) + " *C, Humidity: " + String(humiDht22) + " %");
    }
    }
     
    Последнее редактирование: 22 авг 2018