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

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

?

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

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

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

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

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

    saha74 Гик

    Подскажите а где в скетче сократить время вывода IP 192.168.4.1
     
  2. IvanUA

    IvanUA Гуру

    Код (C++):
    printStringWithShift(tPoint.c_str(), 35);
     
    меняйте последнее значение - это скорость.
     
  3. IvanUA

    IvanUA Гуру

    Немного поправил код. Теперь можно менять только в одном месте в конце скетча в этой функции
    Код (C++):
    void bip(){
      tone(buzzerPin, 2000, 40);
      delay(200);
    }
    Хотя для удобства можно было бы сделать какую то переменную и меняя ее переключать тип базера)))
     
    Deniskyn и Kesik нравится это.
  4. MIchaell

    MIchaell Нерд

    И вывести её в веб морду?
     
  5. IvanUA

    IvanUA Гуру

    В принципе не проблема, только надо будет добавить ее перевод на все языки)))))
     
  6. GeorgeZ

    GeorgeZ Нерд

    приехала наконец посылка из далёкого Китая, заказывал зеленый индикатор (глаза не слепит приятно светит даже на полную яркость) еспешку и BMP280. Быстренько всё собрал и...... полезли непонятки, залил последнюю версию бинарник. BMP показывает завышенное давление примерно на 20-23 мм, погода тоже показывае завышенное давление, бузер начинает жужжать после первого пика, включил отображать курсы, нажал кнопочку обновить курсы валют часики ушли в вечный ребут....
     
    Последнее редактирование: 8 июн 2018
  7. IvanUA

    IvanUA Гуру

    Я бы рекомендовал использовать последнюю версию прошивки, там много глюков было поправлено.
    Единственное что ввиду с прожорливостью и кучей непоняток с курсом валют его пришлось удалить...
     
  8. MIchaell

    MIchaell Нерд

    а я подумал так: активный баззер -- переключалка -- пассивный баззер. Переводить тогда надо только 4 слова
    по этой самой причине у нас зеленая перешла в спальню, а красная осталась у меня
     
  9. jgupdimon

    jgupdimon Гик

    Здравствуйте. Прописал свойгород во всех вкладках языков. Вылазит вот такая ошибка. Гто то еще не прописал? Помогите. Спасибо. ПрошивкаLED_clock_weath_v30.05.2018
    exit status 1
    'tPolunochnoye' was not declared in this scope
     
  10. IvanUA

    IvanUA Гуру

    вот сюда допишите еще свою переменную
    Код (C++):
    String tWarsaw, tKrivoy, tKyiv, tOdessa, tDnepr, tCherkassy, tLviv, tKherson, tNikolaev, tZaporozhye, tKharkiv, tDonetsk, tLugansk, tPoltava, tSumy, tChernigov, tZhytomyr;
     
     
  11. GeorgeZ

    GeorgeZ Нерд

    так я и залил самый последний бинарник LED_clock_update_bin
     
  12. IvanUA

    IvanUA Гуру

    Самый последний, это таки скетч. Бинарник я не перезаливаю, Когда кардинально обновлю прошивку, то перезалью)))
     
    Deniskyn нравится это.
  13. jgupdimon

    jgupdimon Гик

    Спасибо, Иван. Все прошивается.
     
  14. Sandr

    Sandr Гик

    Иван добрый день! Подскажи пожалуйста. Где копать. Пытаюсь вывести статически показания Атмосферного давления вместо 765 выходит 760. Формулу вставил ту, что Обсчитывает температуру .Не пойму может она больше сотни не пересчитывает показания. прошивка 5.21
    t3 =0;
    t4 =0;
    if((payload[0]>=48&& payload[0]<58)|| payload[0]==45){
    if(payload[0]==45){
    t5 =-1;
    if(payload[1]>=48&& payload[1]<58){
    t3 = payload[1]-48;
     
  15. IvanUA

    IvanUA Гуру

    Эту формулу надо переделывать, она рассчитана на значения от -99,9 до 99,9
    Надо убрать проверку на отрицательные числа и на запятую после второго знака...
     
  16. Sandr

    Sandr Гик

    А Как ? Иван поправь пожалуйста. Не долго ведь когда знаешь. А тоя уже третий вечер мучаюсь. всё перепробовал.Так и понял что она не считает больше 99,9.
    Может кому тоже ещё пригодится.
     
  17. IvanUA

    IvanUA Гуру

    Не, не не, спасибо, мне не интересно)))
    Неужели Вам самим не интересно сделать?

    Я вот сегодня к примеру сделал что бы когда меняешь язык меню - то текст на странице сам тоже меняется в зависимости от выбранного языка.... Вот это мне действительно было интересно и доставило удовольствие наблюдать результат в конце моих стараний)))))))))

    [​IMG][​IMG]
     
    Последнее редактирование: 9 июн 2018
    MIchaell и Deniskyn нравится это.
  18. Sandr

    Sandr Гик

    Мне интересно . Но я не знаю как .Даже в инете нет этой формулы .хотя бы её описания. Если есть где ссылка у Вас дайте хоть почитать. А так я не знаю как.Я не понимаю эти закарючки.
    А так я почти всё сделал только дело вот из за этой формулы встало.
     
  19. Sandr

    Sandr Гик

    Если бы не было интересно. То я бы тупо вкачал последнюю прошивку. А мне хочется что то сделать под себя. Но не всё так просто. Вот по этому и обращаюсь к вам за помощью. Не зная языка программирования ,это тоже самое, что писать по китайски.Но я всё равно чему то учусь.

    Ладно нет так нет.
     
  20. IvanUA

    IvanUA Гуру

    Формулы нет, я ее делал сам, но могу помочь и немного добавить комментариев....
    Код (C++):
        tMqtt3 = 0;
        tMqtt4 = 0;
        if((payload[0] >= 48 && payload[0] < 58) || payload[0] == 45) { // в payload[0] - хранится первый полученный символ. 48, 58 и 45 - это коды знаков можете их посмотреть в fontUA_RU_PL_DE[]
          if(payload[0] == 45) {                                        // если первый символ = "-" (равен минусу) то tMqtt5 = -1
            tMqtt5 = -1;
            if(payload[1] >= 48 && payload[1] < 58) {                   //  здесь проверяем уже второй символ что он является числом...
              tMqtt3 = payload[1] - 48;                                 // если от кода числа отнять 48 то получим число.... К примеру код "0" = 48 если от 48-48 то получим 0
              if(payload[2] >= 48 && payload[2] < 58) {
                tMqtt3 = tMqtt3 * 10 + (payload[2] - 48);               // если третий знак тоже число, то второй знак был десятками, умножаем его на 10 (получаем ествественно десятки
              }
            }
            if(payload[3] == 46) {                                      // если третий знак не число, то проверяем его на то что но является точкой...
              if(payload[4] >= 48 && payload[4] < 58) tMqtt4 = payload[4] - 48; // если третий знак точка и четвертый знак является числом, то это десятые значения
            }
            if(payload[2] == 46) {                                      // тоже самое со втрорым знаком...
              if(payload[3] >= 48 && payload[3] < 58) tMqtt4 = payload[3] - 48;
            }
          } else {                                                      // здесь таже самая процедура но уже с положительными числами))))) tMqtt5 = 1 - это признак того что число положителньное или отрицательное....
            tMqtt5 = 1;
            tMqtt3 = payload[0] - 48;
            if(payload[1] >= 48 && payload[1] < 58) {
              tMqtt3 = tMqtt3 * 10 + (payload[1] - 48);
              if(payload[2] == 46) {
                if(payload[3] >= 48 && payload[3] < 58) tMqtt4 = payload[3] - 48;
              }
            }
            if(payload[1] == 46) {
              if(payload[2] >= 48 && payload[2] < 58) tMqtt4 = payload[2] - 48;
            }
          }
        }
        tMqtt3 = tMqtt3 * tMqtt5;                                        // через tMqtt5 - определяем число будет положительным или отрицательным.....
      }