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

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

?

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

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

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

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

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

    lcf11 Нуб

    Еще вопрос, хорошо я перевел делов то ))). Не будет проблем с Fonts.h? Просто это мой первый проект. И пару постов назад вы давали ссылку на версию 5,2.Т.е она актуальная на данный момент. Или скачать с шапки 5,1?
    Спасибо что откликнулись.
     
  2. IvanUA

    IvanUA Гуру

    Я думаю что не должно быть))))
     
  3. lcf11

    lcf11 Нуб

    Код (C++):
    void convertWeatherDes(){
      if(weatherDescription == "clear sky") weatherDescription = "  чисте небо  "; // 0-8% тучи
      else if(weatherDescription == "few clouds") weatherDescription = "  малохмарно  "; //12-20% тучи
      else if(weatherDescription == "scattered clouds") weatherDescription = "  розкидані хмари  "; //40% тучи
      else if(weatherDescription == "broken clouds") weatherDescription = "  хмарно з проясненнями  "; //75% тучи
      else if(weatherDescription == "overcast clouds") weatherDescription = "  дужа хмарність  "; //  93% тучи
      else if(weatherDescription == "light rain") weatherDescription = "  невеликий дощ  "; //  влажность  588-606 ммРс давление  36% тучи 93-97%
      else if(weatherDescription == "moderate rain") weatherDescription = "  помірний дощ  "; // 83% влажность  731ммРс давление  % тучи
      else if(weatherDescription == "light intensity shower rain") weatherDescription = "  легкий проливний дощ  ";
      else if(weatherDescription == "thunderstorm") weatherDescription = "  гроза  ";
      else if(weatherDescription == "haze") weatherDescription = "  туман  "; // 56% влажность 725-731ммРс давление  75% тучи
      else if(weatherDescription == "mist") weatherDescription = "  густий туман  "; // 100% влажность 735ммРс давление  75% тучи
      else if(weatherDescription == "shower sleet") weatherDescription = "  снег с дождем  ";
      else if(weatherDescription == "light shower snow") weatherDescription = "  небольшой снегопад  ";
    Где можно найти эти данные и сравнить, т.к нет "light snow" и в показе эта строка по английский. Даже без перевода так.
     
    Последнее редактирование: 28 дек 2017
  4. Deniskyn

    Deniskyn Гик

    Если EN то все показывает на инглише, если UA то как и было (некоторые строчки не переводит), если RU то на русском, но не так как в скетче вписано руками.... Странно...
     
  5. IvanUA

    IvanUA Гуру

    Боюсь что ни где... Я эти данные сам собирал.
    То есть, приходило сообщение на английском, я его переводил на украинский и вписывал в переводчик.

    Вот и сегодня прилетело новое слово "fog".
    Переключил язык на "ua" - оказалось что это туман. Хотя туман уже был.
    Так и записал....
    Код (C++):
      else if(weatherDescription == "haze") weatherDescription = "  туман  ";
      else if(weatherDescription == "fog") weatherDescription = "  туман  ";
     
     
  6. IvanUA

    IvanUA Гуру

    Все верно....
    Изначально переводчик задумывался следующим образом:
    Прилетело слово на английском - к примеру "haze"
    Переводчик сравнил его со своими знакомыми словами (в том блоке что вы переводили)
    Да действительно есть такое слов, и он вместо этого слова в переменную weatherDescription - вписывает то
    что я ему написал - " туман "
    Напишу снег - он будет переводить "haze" - как снег.
    Ну это то что касается механизма работы переводчика.
    Так что если переводчик не знает какого то прилетевшего слова хоть на английском хоть на русском, то естественно он его не переведет, а выдаст то слово что прилетело....

    Не знаю, понятно пояснил, или наоборот запутал((((
     
  7. IvanUA

    IvanUA Гуру

    Вот теперь в моей табличке появилась еще одна новая запись))))
    Код (C++):
      else if(weatherDescription == "shower sleet") weatherDescription = "  сніг з дощем  ";
      else if(weatherDescription == "light snow") weatherDescription = "  легкий сніг  ";
      else if(weatherDescription == "light shower snow") weatherDescription = "  невеликий снігопад  ";
     
  8. Deniskyn

    Deniskyn Гик

    Т.е. грубо, ново прилетевшие строчки просто добавлять в скетч? =)
     
  9. lcf11

    lcf11 Нуб

    Да это я и хотел понять, думал на сайте openweathermap.org где-то это есть, типа пункта для разработчика.Искал но там чуть другое, именно этого не нашел. Хорошо с этим разобрались.
    Еще хотелось бы поправить показ даты, проблема в том что конец строки даты не доезжает до конца, быстро гаснет и затем следующая информация. Не ткнете носом где эта часть кода, хотелось что бы и дата прокатилась от и до с задержкой printStringWithShift?
    Спасибо!
     
    Последнее редактирование: 28 дек 2017
  10. IvanUA

    IvanUA Гуру

    Да.

    ПС. Если выбирать прогноз городов из разных точек планеты, то дело пойдет быстрее)))
     
    Последнее редактирование: 28 дек 2017
  11. IvanUA

    IvanUA Гуру

    Я тоже этого не нашел.
    Код (C++):
      date="     "+dw+", "+String(day)+" "+_month+" "+String(year)+"р.          ";
    после +"р. "; надо добавить пробелов.
     
  12. big_alex

    big_alex Гик

  13. IvanUA

    IvanUA Гуру

    Пока не планируется дорабатывать.
    В скетчах были наработки, так что если есть желание, то можете доработать.
     
  14. lcf11

    lcf11 Нуб

    Подскажите пожалуйста пины ds18b20. 10pin, gnd, 3v?
    Как подключить 2й ds18b20? Ведь там t в доме и на улице.
    Как подключить buzzer, подключаю к 14 пину и к gnd это правильно? А то после оповещения buzzer продолжает выдавать шумы.Или нужен резистор, может buzzer такой, взял со старых часов.
    Еще такой вопрос поменял на "ru" приходит все на русском языке, но с маленькой буквы.
    Это не зависит от строки!
    elseif(weatherDescription =="light shower snow") weatherDescription =" Небольшой снегопад ";
    Нужно как то по другому выставить заглавную букву.Как?
    Всем спасибо за помощь. Прошу не пинать больно то, я только учусь :(
     
    Последнее редактирование: 29 дек 2017
  15. IvanUA

    IvanUA Гуру

    [​IMG][​IMG]

    Второй датчик температуры - передает данные через инет по протоколу MQTT.

    Попробуйте базер подключить через конденсатор 1мкф.

    Переводчик (вот те строки что вы пишите в коде) работает только с языком "en"
     
    Последнее редактирование: 29 дек 2017
    Securbond нравится это.
  16. big_alex

    big_alex Гик

  17. Deniskyn

    Deniskyn Гик

    не знаю в чем фокус, но пропала погода на сейчас, показывает только на завтра....
     
  18. IvanUA

    IvanUA Гуру

    Сегодня часики получили новый корпус и последнюю свою прошивку v5.55))))
    Все хотелки реализованы, спасибо откликнувшимся.
    Ну и маленькое видео...

     
    ПетрЧ, ИгорьК и lcf11 нравится это.
  19. lcf11

    lcf11 Нуб

    Класс, поделитесь скетчем.
    По поводу "en"
    Если ставить на английском, то "light snow" не переводит( погоду на завтра), даже если я добавляю строку.
    Код (C++):
    else if(weatherDescription == "light snow") weatherDescription = "  легкий сніг  ";
    Остальные значения переводит, а именно "light snow" так и пишет. "ru" исправляет эту проблему, но выводит с маленькой буквы.
    UPD:
    Сейчас пробовал копировал строки погоды с сегодня на завтра т.к на сегодня то переводит, и вставил их в погоду на завтра, в результате строки на английском. Проблема где-то в показе на завтра?
    Да.
    Сейчас отдал черное оргстекло на гравировку,поставлю впереди фильтр-рамку и на подставку.
    Поделюсь.:) Но надо еще датчики температуры подождать.
     
    Последнее редактирование: 30 дек 2017
  20. IvanUA

    IvanUA Гуру

    Ну в Вашем случае, мне кажется что это лишнее.)))
    Я ведь правильно понял что ваша цель не скопировать, а разобраться как оно работает?
    В скетче в получении погоды на сегодня есть такая строка
    Код (C++):
      if(printCom) Serial.println(line);
    Её же можно добавить и в прогноз погоды.
    Эта строка выводит в ком порт данные в json формате получаемые от сервера погоды.
    скопируйте это название "light snow" - из порта к себе в код.
    Там просто может быть добавлен пробел, а для переводчика - это тоже знак.
    Будет интересно.