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

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

?

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

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

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

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

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

    Ingenegra Нерд

    Так какие порты показывает сканер портов?

    Что подразумевается под "к pin 4 SDA и PIN 5 SKL."
    Нарисуйте Вашу схему, ну или фото сюда выложите...
     
  2. anatolyj

    anatolyj Нерд

    gpio 4, gpio 5
     

    Вложения:

    • ПИНЫ.jpg
      ПИНЫ.jpg
      Размер файла:
      51,3 КБ
      Просмотров:
      357
  3. chipmoca

    chipmoca Гик

    У вас спрашивают порты, а вы пишите адреса (0х77). На одном порту может быть много адресов (датчиков). А один адрес (датчик) не может быть на нескольких портах.
     
  4. Ingenegra

    Ingenegra Нерд

    Приведите Вашу схему. Иначе экстрасенсов нема...

    Из гадания... На gpio 4 Вашей версии платы подключена некая кнопка, вероятней всего с некоей подтяжкой хрен знает куда(или на + или на -)... Опять же - подтягивающие резисторы на линии I2C присутствуют?

    Приборы, а ля осциллограф в наличии имеется?
     
  5. IvanUA

    IvanUA Гуру

    ОК.
    Просто скажите. Вы на конкретно этой плате. На этих же портах подключали этот датчик. Заливали прошивку IOT и он выдавал вам температуру?
     
    Deniskyn нравится это.
  6. anatolyj

    anatolyj Нерд

    да
     
  7. anatolyj

    anatolyj Нерд

    Вот с таким датчиком
     

    Вложения:

    • датчик.png
      датчик.png
      Размер файла:
      237,2 КБ
      Просмотров:
      347
  8. anatolyj

    anatolyj Нерд

    Я видел, что на gpio 4 висит кнопка и думал, что она может мешать. Но залив прошивку WIFIIOT и укaзав в настройках gpio 4 gpio 5 датчик заработал. Схема Ивана из этой темы. Ничего не менял. Подключено 2 кнопки, фоторез., экран, активный бузер, и bmp 280. Только мультиметр. Да кстати есть еще одна плата esp 12f на которой на gpio 4 не висит кнопка. Так вот на ней тоже самое
     
    Последнее редактирование: 1 дек 2018
  9. IvanUA

    IvanUA Гуру

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

    RuslanV Нерд

    Подскажите как вывести температуру в дома (+D22.8*C) в бегущую строку (Приміщення + 22.8 *С). Что изменить в коде. Спасибо.
     
  11. IvanUA

    IvanUA Гуру

    printStringWithShift("Текст бегущей строки", timeScrollSpeed);
     
    RuslanV нравится это.
  12. RuslanV

    RuslanV Нерд

    Может я не правильно написал.
    Как из этого :
    //==========ВИВІД НА ЕКРАН ТЕМПЕРАТУРИ В БУДИНКУ========================================
    void showSimpleTemp() {
    dx = dy = 0;
    clr();
    showDigit((t0 < 0.0 ? 14 : 13), 0, dig5x8rn); // друкуємо D+ альбо D-
    if(t1 <= -10.0 || t1 >= 10) showDigit((t1 < 0 ? (t1 * -1) / 10 : t1 / 10), 4, dig5x8rn);
    showDigit((t1 < 0 ? (t1 * -1) % 10 : t1 % 10), 10, dig5x8rn);
    showDigit(12, 16, dig5x8rn);
    showDigit(t2, 18, dig5x8rn);
    showDigit(10, 24, dig5x8rn);
    showDigit(11, 27, dig5x8rn);
    refreshAll();
    }
    " Получаем на экран +D 22.8*C"
    Применив функцию: printStringWithShift("Текст бегущей строки", timeScrollSpeed);
    вывести на экран "Приміщення + 22.8*С"
     
  13. IvanUA

    IvanUA Гуру

    Это, трогать не надо.
    Вам просто нужно сложить свою строку в любую строчную переменную к примеру text="Приміщення " + t0 +"*C";
    Потом эту переменную выводить через функцию printStringWithShift(text, timeScrollSpeed);
    ПС. Единственное надо будет еще в конце и возможно в начале пробелов доставить.
     
    RuslanV нравится это.
  14. RuslanV

    RuslanV Нерд

    textH = "Помещение" + t0 + "*C";
    printStringWithShift(textH, timeScrollSpeed);
    пишет ошибка
    exit status 1
    'textH' was not declared in this scope
     
  15. RuslanV

    RuslanV Нерд

    Получилось как Вы написали.
    Раньше я пробовал так одной строкой:
    printStringWithShift((" " " Приміщення " + String(t1) + "." + String(t2) + ("\202") + "C"" ").c_str(), timeScrollSpeed);
    результат один и тот же.
    Цель есть вывести температуру в помещении шрифтом (
    showDigit((t0 < 0.0 ? 14 : 13), 0, dig5x8rn); // друкуємо D+ альбо D-
    if(t1 <= -10.0 || t1 >= 10) showDigit((t1 < 0 ? (t1 * -1) / 10 : t1 / 10), 4, dig5x8rn);
    showDigit((t1 < 0 ? (t1 * -1) % 10 : t1 % 10), 10, dig5x8rn);
    showDigit(12, 16, dig5x8rn);
    showDigit(t2, 18, dig5x8rn);
    showDigit(10, 24, dig5x8rn);
    showDigit(11, 27, dig5x8rn); в строку.
     
  16. IvanUA

    IvanUA Гуру

    Не задекларированная переменная. Ее надо объявить или в глобальных переменных или локальных.
     
    RuslanV нравится это.
  17. RuslanV

    RuslanV Нерд

    Вопрос как текст бегущей строки сделать шрифт dig5x8rn?
    textdomt = (" " + tTmpH + " " + String(t1) + "." + String(t2) + ("\202") + "C"" ");
    printStringWithShift(textdomt.c_str(), timeScrollSpeed);
     
  18. IvanUA

    IvanUA Гуру

    Ну тут не все так просто.
    Код (C++):
    //==========ДРУКУВАННЯ БІГУЧОГО СИМВОЛУ с - символ, shiftDelay - швидкість, zone - зона екрану================
    void printCharWithShift(unsigned char c, int shiftDelay, byte zone) {
      c = convert_UA_RU_PL_DE(c);
      if(c < ' ') return;
      c -= 32;
      int w = showChar(c, fontUA_RU_PL_DE, zone);
      for(int i = 0; i < w + 1; i++){
        delay(shiftDelay);
        scrollLeft(zone);
        refreshAll();
      }
    }
    Вот в этой процедуре надо будет как то сделать переключение шрифтов, к примеру отслеживать что печатаются цифры.
    И да, вы не забывайте что что шрифт dig5x8rn имеет 8 строк и он жирный. А текстовый шрифт имеет только 7 строк, нижняя используется только для печати "хвостиков" в буквах. Бегущая строка может будет не совсем красиво выглядеть.
     
  19. chipmoca

    chipmoca Гик

    Доброе время суток! Может кто подскажет, как на прошивке 11.11. (apixu) изменить "Слабый переохлажденный дождь" ?
     
  20. RuslanV

    RuslanV Нерд

    Ни как. Как я понимаю эта информация берётся из сайта погоды.