Блок пользователя - Часы на ленте WS2812, ESP8266

Разработка блока часов на адресной ленте и ESP8266

Создаем свой блок. Вопросы, помощь знатоков.
Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

Блок пользователя - Часы на ленте WS2812, ESP8266

#61

Сообщение Qwert855 » 13.03.2021{, 10:29}

попробовал покрутить положение текста.

Кириллицу не отображает. но видимо пытается

Код: Выделить всё

in_Text = String("ПВST");
При этом нет отступов знаков "ПВ" пусть и пробелы, кривые знаки или хоть что то , т.е. в строке "ST" отображаются сразу с левого края.
Применив выравнивание по горизонту вылезла буква "ё"

Код: Выделить всё

 {
            			if (1) x=(-length_string+matrix.width())/2;
            			else x=0;
            			
        }
заменил шрифт на другой, увидел то же самое другим шрифтом.
IMG_20210313_10254 .jpg

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#62

Сообщение aidar_i » 13.03.2021{, 10:32}

Пробуете оба варианта блоков?
Я не знаю, в чем у Вас дело, Грачик тоже не смог запустить. У меня работает без проблем.
Использую последнюю версию программы , пробовал штатную и стороннюю Ардуино Иде.

Отправлено спустя 7 минут 24 секунды:
Проверьте после компиляции, с той ли папки Иде использует библиотеку.

Отправлено спустя 2 минуты 11 секунд:
Может влияет последняя доработка Сергея с кодировкой шрифтов?

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

Блок пользователя - Часы на ленте WS2812, ESP8266

#63

Сообщение Qwert855 » 13.03.2021{, 11:16}

aidar_i писал(а):
13.03.2021{, 10:42}
Пробуете оба варианта блоков?
Я не знаю, в чем у Вас дело, Грачик тоже не смог запустить. У меня работает без проблем.
Использую последнюю версию программы , пробовал штатную и стороннюю Ардуино Иде.

Отправлено спустя 7 минут 24 секунды:
Проверьте после компиляции, с той ли папки Иде использует библиотеку.

Отправлено спустя 2 минуты 11 секунд:
Может влияет последняя доработка Сергея с кодировкой шрифтов?
посмотрел пример.
у меня нет объяснения.
шрифты работают разные.
работает (криво) пробег текста, такое уже наблюдал ранее.
работает статика текста
Проверил совместные знаки, из поста выше, так же работают как в одной строке так и отдельно. :smile113:

я так и не понял что произошло сейчас чего не могло случиться несколько дней назад :(

Отправлено спустя 6 минут :
перегрузил старый проект.
стабильно не работает :smile390:
буду ковырять построчно, где то что отличается.
по крайней мере теперь понятно что библиотеки присутствуют и они где надо
Вложения
IMG_20210313_110408.jpg
IMG_20210313_110404.jpg

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#64

Сообщение aidar_i » 13.03.2021{, 11:27}

Qwert855 писал(а):
13.03.2021{, 11:16}
я так и не понял что произошло сейчас чего не могло случиться несколько дней назад
Вспомните, что меняли последний раз.
И еще в Ардуино Иде стоит в настройках "Сохранять скетч при проверке или компиляции"? Если нет и не нужно Вам, нужно скетч сохранять ручную "Файл-Сохранить", чтобы кириллица не пропала.

Qwert855
Сержант
Сообщения: 159
Зарегистрирован: 19.12.2020{, 23:57}
Репутация: 7
Имя: Alex

Блок пользователя - Часы на ленте WS2812, ESP8266

#65

Сообщение Qwert855 » 13.03.2021{, 11:54}

имеется разница в блоках.
функция setFont вынесена из void setup() в void loop()
поправив это в проекте он начал что то отображать.

Отправлено спустя 55 минут 33 секунды:
подводя итоги, надеюсь.

перенос блоков из последнего примера в проект дал частичный результат. (заработал дефолтный мелкий шрифт без реакции на setFont)
перенос частями проекта в пример выложенный выше дал желаемый результат.

короче, последний выложенный пример с блоками работает на WS2812 и библиотеками с этой ветки.
в моем проекте включены библиотеки

Код: Выделить всё

#include <ESP8266WiFi.h>
#include <Adafruit_NeoPixel.h>
#include <Adafruit_GFX.h>
#include <WiFiUdp.h>
#include <FontsRus/TimesNRCyr9.h>
#include <ESP8266mDNS.h>
#include <ArduinoJson.h>
#include <ArduinoOTA.h>
#include <TimeLib.h>
#include <Adafruit_NeoMatrix.h>
WiFiUDP _ntpUdpServer;
extern "C" 
{
    #include "user_interface.h"
вроде конфликтов пока не вижу.
буду накидывать проект, посмотрю может опять словится "глюк"
иначе как "глюк" происходящее назвать не могу.

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#66

Сообщение hatul » 18.12.2021{, 19:17}

aidar_i, Хочу повторить Ваш проект из 3 сообщения. Но мне надо попроще. Только время. Либо на Nano и DS3231 , Либо на ESP8266 и время с интернета. Посмотрел Ваше видео, и у меня вопрос. Для чего у Вас на экране 10 строк,если задействовано только 7 ? Если я соберу экран 30х7 надо что то менять в блоке , кроме количества строк? Или надо править шрифты в библиотеках?

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#67

Сообщение aidar_i » 18.12.2021{, 19:29}

hatul писал(а):
18.12.2021{, 19:17}
Для чего у Вас на экране 10 строк,если задействовано только 7
5 метровая лента кромсается удобно по пайкам на 10 кусков. имейте ввиду, что у шрифта могут быть хвосты и сверху чтото.

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#68

Сообщение hatul » 18.12.2021{, 19:48}

aidar_i,
aidar_i писал(а):
18.12.2021{, 19:29}
5 метровая лента кромсается удобно
Да у меня идет 3м х 60 . через 10-12 дней должно подойти. И есть немного из старых запасов. 210 штук я наберу. А 300 точно нет. Короче ,я думаю,надо собрать то что есть, а уж потом падать на колени,и просить о помощи! Надеюсь не откажете!

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#69

Сообщение aidar_i » 18.12.2021{, 20:15}

hatul писал(а):
18.12.2021{, 19:48}
aidar_i,
aidar_i писал(а):
18.12.2021{, 19:29}
5 метровая лента кромсается удобно
Да у меня идет 3м х 60 . через 10-12 дней должно подойти. И есть немного из старых запасов. 210 штук я наберу. А 300 точно нет. Короче ,я думаю,надо собрать то что есть, а уж потом падать на колени,и просить о помощи! Надеюсь не откажете!
Можете любую матрицу сделать, в блоке в параметрах настройки ленты измените и шрифт подберите.
Для этого шрифта лучше 9 строк 23х9.

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#70

Сообщение hatul » 05.01.2022{, 13:55}

aidar_i, Наконец пришла лента. Спаял матрицу зигзагом 5х17 . Первый светодиод - нижний левый . Пытаюсь собрать простые часы на Arduino Nano и DS3231. При проверке скетч выдает ошибку: 10:29: fatal error: user_interface.h: No such file or directory .
Я так понимаю ,эта библиотека нужна для ESP8266. Я эту строку комментирую. Следом идет ошибка :
in function 'void setup()': pr1:55: error: 'class TwoWire' has no member named 'pins' Wire.pins(4, 5);
exit status 1
'class TwoWire' has no member named 'pins'
Если закомментировать и эту строку,скетч компилируется,заливается в Ардуину , и тишина. Ни один светодиод не горит. Что надо исправить?
Часы на ESP8266_WS2812.flp
(382.38 КБ) 33 скачивания

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#71

Сообщение aidar_i » 05.01.2022{, 16:16}

Удалил
Последний раз редактировалось aidar_i 06.01.2022{, 19:53}, всего редактировалось 1 раз.

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#72

Сообщение hatul » 05.01.2022{, 22:33}

Что то не получается у меня. Сначала при компиляции выходит сообщение
Scr022.jpg
Scr022.jpg (14.81 КБ) 1041 просмотр
но прект компилируется. Затем при проверке скетча ошибка:

In function 'void loop()':

pr6:87:22: error: 'matrix' was not declared in this scope

if (en_font) matrix.setFont(&Roboto_Bold_5.h);

^~~~~~

C:\Users\hatul\AppData\Local\Temp\flprog\pr6\pr6.ino:87:22: note: suggested alternative: 'atoi'

if (en_font) matrix.setFont(&Roboto_Bold_5.h);

^~~~~~

atoi

pr6:87:52: error: 'const struct GFXfont' has no member named 'h'

if (en_font) matrix.setFont(&Roboto_Bold_5.h);
Я уже этот Roboto_Bold_5.h запихал везде где только можно. Все равно программа его не находит. Подскажите где еще копать!

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#73

Сообщение aidar_i » 06.01.2022{, 08:43}

Удалил
Последний раз редактировалось aidar_i 12.01.2022{, 10:17}, всего редактировалось 4 раза.

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#74

Сообщение hatul » 06.01.2022{, 20:30}

aidar_i, Ничего не получается. Программа упорно не видит папку Fonts (это я так думаю). При компиляции пишет "Не найдена библиотека FontsRoboto_Bold_5.h". Жму ОК. ,компиляция идет дальше. Скетч тоже компилируется,загружается,и тишина. Не горит ни один светодиод. Я уже папку Adafruit_GFX удалил отовсюду. Оставил только в одном месте . Ничего.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#75

Сообщение aidar_i » 06.01.2022{, 21:21}

hatul,
Выложите сюда Вашу схему подключения, четкое фото матрицы с Ардуино.

Отправлено спустя 48 секунд:
hatul писал(а):
06.01.2022{, 20:30}
Программа упорно не видит папку Fonts (это я так думаю). При компиляции пишет "Не найдена библиотека FontsRoboto_Bold_5.h". Жму ОК.
На это не обращайте внимания!

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#76

Сообщение hatul » 06.01.2022{, 21:30}

Соединение зигзагом. Подключено к 13 пину.
IMG_20220106_202429.jpg

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#77

Сообщение aidar_i » 06.01.2022{, 21:37}

hatul,
В блоке в параметрах поставили 13 пин? Лучше другой, на 13 штатный светодиод обычно висит.
Питание подавайте на ленту отдельно. На вход дата резистор поставили?
Блок пока без часов испытайте, на вход текст подайте на английском или цифры..

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#78

Сообщение hatul » 06.01.2022{, 21:46}

Пин сменю. Резистор стоит. Загружаю скетч "бегущий огонь",все горит,все моргает.
СпойлерПоказать
IMG_20220106_203835.jpg
Отправлено спустя 18 минут 12 секунд:
Поменял на 5 пин.Все тоже самое. Намеренно делаю чтобы скетч выдавал ошибку,чтобы посмотреть откуда он берет библиотеку. Все нормально. Из той папки ,куда я положил Вашу библиотеку. Старую удалил. Скажите, если я хочу поменять библиотеку, в каких местах надо менять. Может я где то ,что то неправильно указываю. Ваш последний файл вообще ничего не менял. Там стоит 5 пин. Я так у себя и сделал.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Блок пользователя - Часы на ленте WS2812, ESP8266

#79

Сообщение aidar_i » 07.01.2022{, 16:23}

Удалил
Последний раз редактировалось aidar_i 08.01.2022{, 21:33}, всего редактировалось 1 раз.

hatul
Сержант
Сообщения: 147
Зарегистрирован: 06.05.2017{, 18:40}
Репутация: 0
Откуда: Netanya

Блок пользователя - Часы на ленте WS2812, ESP8266

#80

Сообщение hatul » 07.01.2022{, 17:51}

Работает. Правда это мало похоже на шрифт. Но что то прокручивается. Скетч загружался не в Arduino IDE от FlProg , а в штатной IDE , установленной на компьютере. Кстати,я пользуюсь портабельной FlProg ,если это имеет значение.

Отправлено спустя 50 минут 2 секунды:
Поменял текст на 123,вот что получилось.
СпойлерПоказать
654 [320x200].jpg
654 [320x200].jpg (6.06 КБ) 975 просмотров
Вложения
006.jpg
006.jpg (11.12 КБ) 979 просмотров
005.jpg
005.jpg (12.47 КБ) 979 просмотров
004.jpg
004.jpg (11.95 КБ) 979 просмотров

Ответить

Вернуться в «Разработка пользовательских блоков»