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

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

?

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

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

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

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

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

    IvanUA Гуру

    Как я понял с отрицательными температурами вы справились, а что же с положительными то не так.
    Давайте скетч, будем посмотреть.
     
  2. IvanUA

    IvanUA Гуру

    У меня все матрицы, одного типа, то таких задач не стояло.
    Вы или конкретнее поясните что у вас не так отображается, или давайте фото(видео), может чего и придумаем.
    Могу конечно ошибаться, но мне кажется что скетч должен и эти датчики в том числе переваривать
     
  3. jgupdimon

    jgupdimon Гик

    Показания DS1820, DS18S20 нужно делить на 8.
     
  4. jgupdimon

    jgupdimon Гик

    Вот 90 градусов
     

    Вложения:

    • 90.jpg
      90.jpg
      Размер файла:
      1.016,7 КБ
      Просмотров:
      890
  5. jgupdimon

    jgupdimon Гик

    180 градусов
     

    Вложения:

    • 180.jpg
      180.jpg
      Размер файла:
      1.016,7 КБ
      Просмотров:
      540
  6. jgupdimon

    jgupdimon Гик

    270 градусов
     

    Вложения:

    • 270.jpg
      270.jpg
      Размер файла:
      1 МБ
      Просмотров:
      561
  7. jgupdimon

    jgupdimon Гик

    Еще одна фотка 90 градусов
     

    Вложения:

  8. Fedoss

    Fedoss Нерд

    Переделал скетч: 1. Прогноз работает с бесплатным API,
    2 . закомментировал наружный датчик, температуру на улице с openweather отсылает на mqqt и выводит на экран.
    3. закомментил buzzer

    https://yadi.sk/d/FeIELetv3Smdz8
     
    DimedrolOFF и big_alex нравится это.
  9. yrbas

    yrbas Нерд

    А почему тогда по этому ключу погода приходит?
     
  10. Fedoss

    Fedoss Нерд

    Мне кажется вы не верно подставляли ваш API вместо ***Ваш_АПИ***.
     

    Вложения:

  11. saha74

    saha74 Гик

     

    Вложения:

    • ulica.ino
      Размер файла:
      7,8 КБ
      Просмотров:
      555
  12. IvanUA

    IvanUA Гуру

    Исхоя из этой картинки у вас нормальное расположение экрана 90 градусов, только почему то отображение зеркальное.
    Единственное что мне приходит на ум, это
    Попробуйте блок 90 градусов заменить на такой
    Код (C++):
    void refreshAllRot90() {
      byte mask = 0x80;
      for(int c = 0; c < 8; c++) {
        digitalWrite(CS_PIN, LOW);
        for(int i = NUM_MAX - 1; i >= 0; i--){
          byte bt = 0;
          for(int b = 0; b < 8; b++){
            bt <<= 1;
            if(scr[i * 8 + b] & mask) bt |= 0x80;
          }
          shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, CMD_DIGIT0 + c);
          shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, bt);
        }
        digitalWrite(CS_PIN, HIGH);
        mask <<= 1;
      }
    }
    Или такой
    Код (C++):
    void refreshAllRot90() {
      byte mask = 0x01;
      for(int c = 0; c < 8; c++) {
        digitalWrite(CS_PIN, LOW);
        for(int i = NUM_MAX - 1; i >= 0; i--){
          byte bt = 0;
          for(int b = 0; b < 8; b++){
            bt >>= 1;
            if(scr[i * 8 + b] & mask) bt |= 0x01;
          }
          shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, CMD_DIGIT0 + c);
          shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, bt);
        }
        digitalWrite(CS_PIN, HIGH);
        mask >>= 1;
      }
    }
     
  13. IvanUA

    IvanUA Гуру

    У вас типичная процедура получения температуры, хотя....
    я бы в строке 108 увеличил время паузы до... delay(800);
    в строке вывода на брокер все же передавал бы переменную темпер, раз уж вы ее создали.... client.publish(mqtt_pub, (String(temper)).c_str());

    Ну и собственно луп, я бы немного так изменил:
    Код (C++):
    void loop() {
      if(WiFi.status()==WL_CONNECTED) {
        if(!client.connected()) reconnect();          
        if(client.connected()) {
          client.loop();
          long now = millis();
          if (now - lastMsg > 10000){
            lastMsg = now;
            Serial.print("tmp= ");
            Serial.println(tmp);
            tmp = getTemp();
            if(tmp != 999.00) temper = tmp;
            client.publish(mqtt_pub, (String(temper)).c_str());
          }
        } else Serial.println("Not connected MQTT");
      } else setup_wifi();
    }
    Если вы таки луп поменяли как я написал выше, то какую температуру устройство выводит в сериал порт? (верную или нет ... отрицательную/положительную)
     
  14. lukyanovc

    lukyanovc Нуб

    Помогите пожалуйста!! Ни-как не получается настроить МQTT nodemcu с датчиком ds18B20 дайте бинарник и схему подключения датчика.На сайте cloudmqtt.com зарегистрирован или скетч
     
  15. IvanUA

    IvanUA Гуру

    Вот честно, не понял что конкретно у вас не получается, и что конкретно вы хотите получить на выходе. Что вы делали в конце концов, и какой был результат?
     
  16. lukyanovc

    lukyanovc Нуб

    рабочий проект что бы датчик ds18b20 через esp8266 отправлял данные на cloudmqtt.com
     
  17. lukyanovc

    lukyanovc Нуб

    но у меня nodemcu платка как внешнее устройство с датчиком
     
  18. lukyanovc

    lukyanovc Нуб

    все получилось разобрался
     
  19. Oleksandr54

    Oleksandr54 Нерд

    Читал где-то, что "китайци" не той стороной светодиодние матрици умудрялись впихнуть в модуль. 180 градусов примерно. Может стоит сравнить расположение с заведомо исравним модулем.:)
     
  20. Deniskyn

    Deniskyn Гик

    Мне такой вчера попался...