Например TDA7294

Форум РадиоКот :: Просмотр темы - Часы на TFT
Форум РадиоКот
https://radiokot.ru/forum/

Часы на TFT
https://radiokot.ru/forum/viewtopic.php?f=3&t=160228
Страница 7 из 111

Автор:  pin1000 [ Чт фев 07, 2019 15:39:37 ]
Заголовок сообщения:  Re: Часы на TFT

Я заказал под ваш первый проект, сразу дисплей на 3,2", плата распаяна и ждет дисплея, проект постараюсь закончить и оценить. Я не знал, как быстро вы решите продолжить разработки, поэтому решил "синицу в руки".
Я не " наигрался" с цветом, поэтому и хочу попробовать следующую вашу разработку, она меня интересует в плане метеоданных( я подыскивал приемлемый вариант метеостанции).
Два дисплея, конечно, заказывать не буду, будет переход с одним.

Автор:  GoldenAndy [ Чт фев 07, 2019 16:19:24 ]
Заголовок сообщения:  Re: Часы на TFT

Ну смотрите.
Весь код часов уместился в 32 мегу.
Приемник с граф. ресурсами займет не так много памяти.
Соответственно, у нас в 128 меге останется достаточно пространства под всякие аналитики.
Если вы придумаете какие то алгоритмы краткосрочных прогнозов на основании изменения температуры-влажности-давления - это можно будет реализовать.

Кстати, после всех исправлений и допиливания неких хотелок размер последней прошивки - ровно 32 768 байт :)

П.С. Вы в дальнейшем можете докупить второй дисплей, домустим 2,4" - и подарить часики кому то...

Автор:  Frogfot [ Чт фев 07, 2019 16:21:26 ]
Заголовок сообщения:  Re: Часы на TFT

Вот кстати интересный проект - монитор погоды на ESP8266, куча датчиков - тоже ILI941 SPI, картинки на экран для экономии памяти в виде *.jpeg, Чен декодер делал на Мега 128. Проект сделано под Arduino IDE.

Автор:  pin1000 [ Чт фев 07, 2019 16:42:43 ]
Заголовок сообщения:  Re: Часы на TFT

goldenandy
Да, я примерно так и думал, что труд не пропадет.
Дело в том, что я сейчас многое из того, что сделал ранее, прокручиваю по второму кругу, с более серьезными параметрами и обязательно смд( окончательно подсел на эту красоту).

Добавлено after 1 minute 7 seconds:
Frogfot
А что за проект?

Автор:  GoldenAndy [ Чт фев 07, 2019 17:02:41 ]
Заголовок сообщения:  Re: Часы на TFT

монитор погоды - это три графика - изменение давления, влажности и температуры.
А вот краткосрочный прогноз - нужен алгоритм. Ибо ковырять чужую прогу по исходникам - тяжелее, нежели написать свой код по грамотному алгоритму.
jpeg - это хорошо. А еще лучше, если эти картинки где то на флешке лежат.
Но... Все эти мелкие МК и полноцветные дисплеи дружат до определенного момента. А дальше упирается всё в ресурсы.

Я в данных часах не гнался за радугой цветов. Была определена палитра с набором цветов, которыми отрисовываются те или иные элементы.
Был написан редактор палитры на ПК.
Для хранения растровых изображений был проработан алгоритм RLE, сделана реализация для одно- и двубитных изображений.
Хранение шрифтов тоже было оптимизировано.

А рисовать полноцветные картинки - удел несколько более старших контроллеров, у которых уже флеш начинает считаться мегабайтами, а память - сотнями килобайт.... Либо удел фоторамок, которым пофиг на скорость, им надо со вставленной флешки отрисовать картинку.

Автор:  MOHCTEP [ Чт фев 07, 2019 17:34:22 ]
Заголовок сообщения:  Re: Часы на TFT

goldenandy писал(а):
А вот краткосрочный прогноз - нужен алгоритм.
Ну и надо понимать, что вместо анализа истории неполных данных, собранных с единственного датчика, можно подбрасывать монетку с тем же результатом прогноза. :)

Автор:  GoldenAndy [ Чт фев 07, 2019 20:44:52 ]
Заголовок сообщения:  Re: Часы на TFT

MOHCTEP , ну у нас датчик 3-в-1 (почтки как Саша Грей Нескафе), т.е. в наличии история температуры, давления и влажности.
Китайская погодная станция у меня в коридоре висит, по этим данным пытается прогноз нарисовать..... Даже иногда угадывает ;)

Единственное, я не знаю, как лучше это хранить. Если только в ОЗУ - то при выключении питания все забудется и потом нужно опять статистику набирать.
Писать постоянно в ЕЕПРОМку ?
В сети было тестирование еепромки на восьмой меге. ошибки начала выдавать после миллиона с хвостиком записей.
Каждый час скидывать историю в ЕЕПРОМ?
24 часа, 365 дней в году = 8760 циклов записи. на 10 лет ресурса ЕЕПРОМки должно хватить :)

Автор:  MOHCTEP [ Чт фев 07, 2019 21:02:14 ]
Заголовок сообщения:  Re: Часы на TFT

goldenandy, этого мало ведь для нормального прогноза. Нужны данные со множества датчиков, раскиданных по географии. + ветер, гоняющий туды сюды области давления с облаками. Это как минимум.
goldenandy писал(а):
по этим данным пытается прогноз нарисовать..... Даже иногда угадывает
Вот она - монетка! :))
А на карту памяти скидывать данные сильно напряжно будет? Вроде дисплеи сейчас с кардридерами продают? или не все?
Тинька на датчик, кстати, выглядит все интереснее и интереснее. :) По идее ног должно хватить даже для мониторинга собственного питания? Метео и питание можно ведь передать одним пакетом, а на дисплее иконкой показывать: поживет еще батарейка или оголодала уже...
ЗЫ
И да. Если прогнозировать, то почасовые данные возможно будут слишком редкими. Анализировать надо не какую-то конкретную величину, чего-то там, в текущем таймштампе, а направление и скорость изменения этой величины во времени.

Автор:  GoldenAndy [ Чт фев 07, 2019 21:47:26 ]
Заголовок сообщения:  Re: Часы на TFT

Цитата:
pin1000Я не " наигрался" с цветом, поэтому и хочу попробовать следующую вашу разработку, она меня интересует в плане метеоданных( я подыскивал приемлемый вариант метеостанции)

На существующем проекте свободны пины приема-передачи УАРТ, на них висят 1wire-датчики.
Так же можно добраться до SCL-SDA, даже на вашей плате - на переходных отверстиях.
СпойлерИзображение


На i2c повесить локальный, либо через uart сделать удаленный датчик температуры-давления-влажности и, выбросив почти весь функционал часов (оставить только мелкое время) - можно сделать и на этой платке метео.

MOHCTEP писал(а):
Нужны данные со множества датчиков, раскиданных по географии. + ветер, гоняющий туды сюды области давления с облаками. Это как минимум.
Так это и прогноз глобальный и более долгосрочный. А вот такие мелкие метеозаморочки могут на ближайшие несколько часов что то наобещать. Единственное - если по правильному - то датчик должен быть не за окном, а хотя бы метрах в 10 от стен домов.
У меня три градусника за окнами говорят, что сейчас на улице от +2 до +4 (каждый своё говорит), а машина стоит во дворе и на приборке у нее градусник говорит -0.5°С

Карту памяти на дисплее я не использовал, даже не подключал ее CS. Плюс, если брать карту, то правильно использовать ее не как внешнюю еепром, а работать с файловой системой. В текущий проект движок файловой системы не влезет.
(вот, кстати, еще плюсик в 128 мегу, завести CS карты в МК. Чтобы было.)

MOHCTEP писал(а):
Тинька на датчик, кстати, выглядит все интереснее и интереснее.

Вот да. Я про сие уже тоже думал. У меня жменька 85х валяется.
Тиня 8 ног. 5 доступны нам.
i2c - 2 ноги, uart tx - 1 нога, 1 нога управления питанием датчика и передатчика (для беспроводного решения), остается одна нога для настройки режимов
- жить экономично и отправлять на скорости 9600 через кварцованный передатчик или жечь на всю катушку при внешнем постоянном питании, его можно не экономить, но отправлять придется данные на низкой скорости 600-1200 бод (что бы минимизировать влияние ухода тактовой частоты от внешней температуры, которая может гулять от -30 до +35 градусов). Даташыт говорит, что внутренний генератор при -40° будет в районе 7.75 МГц, при +40° - в районе 8 МГц...
Но это в идеале. Я сталкивался с мегой8, у которой при комнатной температуре внутренний RC-генератор давал 8.8 МГц..
С учетом того, что датчик будет жить на улице - в автономном режиме питать от трех алкалиновых АА-элементов (они хоть не замерзнут при -20, в отличие от лития...)

Добавлено after 5 minutes 16 seconds:
MOHCTEP
Цитата:
Если прогнозировать, то почасовые данные возможно будут слишком редкими. Анализировать надо не какую-то конкретную величину, чего-то там, в текущем таймштампе, а направление и скорость изменения этой величины во времени.

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

Походу, пока изделие есть в единственном экземпляре... pin1000 свой дисплей получит в середине марта (я тоже получу датчик и второй дисплей не раньше...) так что время есть...

Может еще Frogfot подтянется с STM-версией......

Автор:  MOHCTEP [ Чт фев 07, 2019 22:17:17 ]
Заголовок сообщения:  Re: Часы на TFT

goldenandy писал(а):
одна нога для настройки режимов
Подробнее можно? Каких режимов? Если так, то монитор питания невозможен? Ну или если только тиньку не "портить", использовав ногу сброса, как пин.
goldenandy писал(а):
Если есть вменяемый алгоритм
Он почти уже был. Одно время занимался похожим проектом, в составе веселой группы. Был среди нас этакий шаман. Мы ему лопатами цифры кидали, а он какие-то графики рисовал, колдовал и выводил довольно точные прогнозы. Проект, к сожалению, развалился. Помню лишь, что он акцентировался в расчетах именно на изменении данных. Статика его интересовала мало.

Автор:  GoldenAndy [ Чт фев 07, 2019 23:09:22 ]
Заголовок сообщения:  Re: Часы на TFT

для мониторинга питания вывод не нужен.

Если есть АЦП - то там все просто. вход АЦП конфигурируется на подключение к внутреннему ИОН, а Референс цепляется на питание.
Дальше - математика (нужно деление), либо табличное преобразование.

Если нет АЦП - тут сложнее, нужен один вывод - инвертирующий вход компаратора AIN1. К нему подключаются резистор и конденсатор, вторым концом резистор на питание, а конденсатор на землю.
Неинвертирующий вход AIN0 цепляется на внутренний ИОН.
Для измерения нужно скофигурировать AIN1, как выход и подать на него 0. на несколько миллисекунд ,что бы конденсатор разрядился.
После этого включаем какой то таймер, обнуляем его счетчик, AIN1 конфигурируем как вход без подтяжки и ждем, пока сработает компаратор.
По сработке компаратора смотрим значение таймера. Сработку можно ловить по прерыванию компаратора или настроив захват таймера по сработке компаратора.
Чем выше питание, тем быстрее конденсатор зарядится до уровня встроенного ИОН - и тем меньше будет значение таймера.
Я так делал в каком то фонаре, там управлятором работала тиня 2313, у которой нет АЦП. Для оценки заряда лития точность вполне достаточная.

Добавлено after 9 minutes 51 second:
По алгоритму прогноза. Я буду делать поддержку датчиков:
DS18B20 - 2 шт.
BME280 по i2c
BME280 по UART (с промежуточной тинькой, опционально - радиоканал).
Будет писаться история температур, давдения, влажности за какой то период. И может отображаться в виде графиков.
Если будет вменяемый алгоритм прогноза - я его попробую вкорячить туда.

По приоритетам датчиков
первая DSка сама по себе, это внутренняя температура
если на i2c присутствует ВМЕ280, вторая DSка игнорируется, uart игнорируется
если на i2c нету ВМЕ280 и по uart не прилетают данные от внешнего ВМЕ280 - отображается температура второй DS-ки.
Если на уарте "засветилась" внешняя ВМЕшка - вторая DSка игнорируется.
Вот как то так...

Автор:  MOHCTEP [ Чт фев 07, 2019 23:56:53 ]
Заголовок сообщения:  Re: Часы на TFT

Есть АЦП в 85.
А с хотелками на будильник, что нибудь придумается?

Автор:  pin1000 [ Пт фев 08, 2019 01:31:52 ]
Заголовок сообщения:  Re: Часы на TFT

goldenandy
Сильно волнует вопрос читаемости на дисплее. Информации предполагается много, дисплейчик, пока не большой. У меня смарт 5,5" и думаю на 6" брать из за зрения . Подскажите, теоретически, возможен ли вариант вывода информации разделов( календарь> часы> температура> давление+влажность> и т.д) посдедовательно на экране, за счет этого увеличить размер буковок и пр. В идеале, возможность настройки времени отражения раздела( допустим меня интересует более длительное отражение метеоданных, а время, календарь и пр. пролистывались бы быстрее? Другого способа увеличить размер букв, символов и пр., вроде и нет.

Автор:  GoldenAndy [ Пт фев 08, 2019 10:26:06 ]
Заголовок сообщения:  Re: Часы на TFT

MOHCTEP писал(а):
А с хотелками на будильник, что нибудь придумается?

Ммммм... Уточните хотелки по будильнику ?

Будильники будут такие же, как и сейчас, добавится только радиоприемник.
Ну и плюс, наверное, будет один (или два) выход с открытым стоком для каких то внешних устройств. Он будет активизироваться на время сработки будильника. В будильнике будет соответствующая настройка.

Про 85 - я знаю, что есть в ней АЦП, поэтому и написал, что вывод не нужен. А про 2313 - выписал в копилку знаний форумчан.

pin1000 писал(а):
теоретически, возможен ли вариант вывода информации разделов( календарь> часы> температура> давление+влажность> и т.д) посдедовательно на экране, за счет этого увеличить размер буковок и пр.

Ну как сказать....

Я думал чуток сжать шрифт календаря, что бы внизу еще одна строчка поместилась. В нее писать температуры, давление, влажность.
По тапу на ней заменять календарь графиками температуры/влажности/давления.... При этом календарь схлопывается до одной строчки...
Назад или по таймауту, или по тапу на строке даты/времени.

Почему я сделал часы с календарем на таком дисплее - что бы уйти от автосмены показаний. Я уже делал часы с автосменой, на семисегментниках - вот. Не всегда удобно. Ибо по закону подлости на момент взгляда часы показывают совершенно не то, что нужно.

По размеру и плохому зрению. Дождитесь дисплея (будем надеяться, что он заведется без плясок с бубном), а дальше уже будете смотреть на читабельность.

Автор:  MOHCTEP [ Пт фев 08, 2019 12:12:44 ]
Заголовок сообщения:  Re: Часы на TFT

Процитирую. Мы обсуждали будильник "рассвет".
Цитата:
По будильнику, хотелось бы иметь несколько программируемых выходов. Один из них срабатывал бы по будильнику, второй пораньше будильника на задаваемый промежуток времени, третий при сбросе/выключении будильника. Желательно предусмотреть и разные варианты "срабатывания" выходов: простое переключение уровня, кратковременное переключение и, например секундные, импульсы.
Может есть какие-то другие подходящие идеи?
Ну и pin1000 дело пишет, по поводу читаемости. Почему бы не организовать постраничный вывод данных, если это возможно? 1 экран - часы/будильники, 2 - календарь, 3 - метео. Здесь и авторотация необязательна, если использовать сенсорные возможности экрана. Ткнул по нужной иконке/табу/кнопке и читай сколько угодно... В метео, тап по нужным показаниям покажет соответствующий график.

Автор:  GoldenAndy [ Пт фев 08, 2019 12:40:17 ]
Заголовок сообщения:  Re: Часы на TFT

MOHCTEP, вспомнил.

Не совсем уверен по такой накрученой логике программируемых выходов.
Пока предусмотрится пара выходов с открытым стоком, которые будут включаться при срабатывании будильника. По окончанию будильника - выключаться. А разные вариации типа секундных импульсов.... Зачем ?
Не нужно плодить сущности.... Да и настройка этих выходов потребует кучу места и менюшек на экране.

По подсветке - тут есть смысл взять что то отдельное с тремя каналами ШИМ и управлять RGB-светильником через шим и нормальные полевики.
Что бы плавно включать свет утром.
СпойлерУ меня под подсветку вообще 2 устройства выделено. Одно - контроллер ленты, умеет включаться и выключаться по внешним командам плюс воспроизводить заранее записанные программы.
А второе - это чисто управлятор с энкодером и дисплейчиком цветным - позводяет включить нужный цвет на нужное время, а так же редактировать программы.


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

Автор:  pin1000 [ Пт фев 08, 2019 12:50:33 ]
Заголовок сообщения:  Re: Часы на TFT

MOHCTEP
А вот это уточнение, вообще по делу. В течении дня возникают разные потребности, то погоду глянуть, то календарь посмотреть, радио, будильник. И если сам можешь этим управлять - это идеально. В предложенном мною варианте( а это вариант и не более, мне и самому не очень такое мелькание) много минусов. Выводить самому какой либо раздел( в нем может быть дополнительная информация, но по мельче)- вот "золотая середина". Я, очень даже, ЗА!
Все основные модули, детали на новый проект приобрел. ☺Жду когда китайцы наотдыхаются( чтоб я так жил☺) и отправят дисплей.

Автор:  GoldenAndy [ Пт фев 08, 2019 13:09:02 ]
Заголовок сообщения:  Re: Часы на TFT

Кинул себе в корзину спикеры 16 ом 36 мм.
И подумал про компоновку корпуса - разъем питания MicroUSB не всегда удобен будет на основной плате.
Кинул еще припаянное на отдельную плату микро-ЮСБ гнездо. Цена вопроса 52 цента. У нас приблизительно в те же деньги в розницу голые гнёзда.
А на плате разведу место под такое же гнездо, как и на первой версии, но и контакты предусмотрю под внешнее подключение.

Автор:  MOHCTEP [ Пт фев 08, 2019 13:14:32 ]
Заголовок сообщения:  Re: Часы на TFT

Дык и сам не хочу плодить сущности. :)) Оттого и спросил про возможные другие подходящие идеи.

Автор:  GoldenAndy [ Пт фев 08, 2019 14:59:16 ]
Заголовок сообщения:  Re: Часы на TFT

MC34119 пойдет, как аудиоусилитель....

Добавлено after 1 hour 12 minutes 34 seconds:
MOHCTEP Свет - отдельное устройство. Запускается одним из будильников, через управляющий вывод. Громкость будильника можно выставить минимальную будет. Далее подсветка живет сама по себе, по своей программе...

Страница 7 из 111 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/