Страница 19 из 111
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 17:36:38
GoldenAndy
fetus писал(а):Как насчет такой плюшки CCS811.
Это вопрос или предложение ?
Если вопрос - то не знаю.
Если предложение - то можно подумать. Внешний датчик должен уметь отдавать данные по uart на скорости 9600 в текстовом виде. Формат можем оговорить.
fetus писал(а):Есть ли еще свободные платы?
Пока вообще никаких плат нету. Якобы вылетели из Сингапура. Как приедут - кину клич.
pin1000 писал(а):нужно еще покруче и подороже, что уже купленное оборудование
Ну правильно. Какой откат с суммы менее сотки зелени?
Вот если бы олимпиард баксов - то там и попилить можно. И поделиться с кем надо, что бы не посадили...
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 17:46:51
fetus
Это предложение. Датчик внутренний работает по i2c. Мониторит уровень СО2 и органических соединений.
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 17:57:01
pin1000
Я и об этом и о том, что температуру, влажность и атмосферное давление можно измерить несложными датчиками, с достаточной, для личного пользования, точностью. Прогнозировать погоду не могут точно, даже синоптики, с их баснословно дорогим оборудованием и количеством исходной информации. Качество воздуха, в том смысле, как его оценивают, по многочисленным параметрам, требует серьезного, дорогостоящего оборудования. Если нужно отследить утечки природного, углекислого и им подобным газам, сдесь проще и вполне хватает датчика MQ4. У меня сделано устройство в зоне газовой плиты и прекрасно справляется со своими функциями, дополнительно реагирует на пары спирта, когда, при приготовлении мяса добавляем в него сухое вино, на открытие духовки, повышение углекислого газа.
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 18:33:57
fetus
MQ4 громоздкий,почти ватт потребление , городить схему для него надо, а 811 подкинуть к бме280 , подключить либу и выделить место на дисплее....все)))
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 20:27:09
GoldenAndy
Вопрос к "выделить место на дисплее" - это сложно. Ведь изначально это часы с календарем.
В нижней части экрана будет полоса пикселей в 16, ширина 240 пикселей, в нее нужно уложить вывод одной или двух температур, давления и влажности...
Еще туда добавлять ppm ?
И по огороду датчиков.... Внутри изделия изначально планировались только ВМЕ280 и/или DS18B20.
"добавить либу" - на нее нужно смотреть, как там реализована работа с i2c. Скорее всего, придется выпиливать оттуда математику и оборачивать по своему.
Ибо у меня будет свой диспетчер очереди обмена по i2c.
А вот если вы сделаете какой то внешний блок с этим датчиком - можно обговорить по его прикручиванию через uart.
Нужно только будет оговорить формат передачи инфы.
И решить, вместо чего на дисплее показывать уровень ppm. Ибо дисплей маленький. там в 1 мм порядка 5 пикселей выходит. Т. е. шрифт высотой 16 пикселей - это визуально 3 мм высоты. И тулить в пространство 48*3 мм кучу текстовой инфы - не хочется.
И календарь тоже сжимать сильно не хочется.
Добавлено after 4 minutes:
Возможно, менять метеопоказания внизу дисплея циклически. Сначала температуры. Потом давление/влажность.
потом строку с ppm от внешнего датчика...
Но это то, от чего хотелось уйти. Ибо в нужный момент по закону подлости будет отображаться ненужная инфа.
П.С. Приедет 3.2" дисплей - надо будет поиграться с компоновкой и размерами шрифтов и графики. Может и больше получится выделить под доп. инфу места.
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 20:34:11
fetus
Если бегущую строку запилить?
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 21:01:06
GoldenAndy
Возвращаемся к "в нужный момент по закону подлости будет отображаться ненужная инфа"...
Смотрите. У меня пока нет плат, нет дисплея. Первая версия на 2.4" дисплее живет на работе. Разбирать те часы ради экспериментов постоянно не хочется. Тем более, проект вписался в мегу 32 тютелька в тютельку, там свободных в районе 10 байт осталось во флеше:)
Будет дисплей и остальной обвес - соберу версию 2.
После этого будет:
1. Портирование прошивки первой версии.
2. Обвешивание первой версии плюшками для второй - ФМ, расширенные будильники.
3. Поддержка ВМЕ280.
4.1. Поддержка внешнего датчика.
4.2. Разработка внешнего датчика под BME280/DS18B20, с возможными плюшками
После этого можно будет говорить о доп. функционале.
И да, что бы увидеть желаемый функционал - нужно собрать себе часы

Поскольку у меня такого датчика нет - тестировать придется удаленно. (Это приблизительно как лечить одну интересную болячку по фотографии)
Пока прогресс доолзет до пункта 4 - месяца два точно пройдет. Так что смотрите на ВОМ, делайте китайцев богаче и расчехляйте паяльник

Когда у вас будут в руках рабочие часы и подключенный датчик - можно будет о чем то говорить
Re: Часы на TFT
Добавлено: Вс мар 03, 2019 21:16:34
fetus
811 у меня есть. Могу дать для отладки) Вы с какого района?
Дисплей конечно лучше бы oled, но дорогущие.
у меня
вот такой есть.Разрешение маловато.
Re: Часы на TFT
Добавлено: Пн мар 04, 2019 00:07:02
GoldenAndy
fetus писал(а):Вы с какого района?
Альфа Центавра знаешь? Тамошние мы... (ц) Любимый фильм детства
(А кто вспомнит, что за фильм ?)
В центре обитаю, район парка Шевченка.
За предложение спасибо, но .... Давайте последовательно.
Хотелки в очередь. Первая хотелка - BME280, вторая - вынести наружу.
Ваша - третья

Буду делать - отпишусь. Может там математика простая будет - и вылечим по фотографии.
Добавлено after 2 hours 28 minutes 40 seconds:
Посмотрел на дисплей ваш. Он 64 * 128, да еще и i2c-шный. И нет тача.
Мне кажется, что на таком разрешении хорошо разложить время и календарь будет сложно.
Я же тоже хотел первую версию часов делать на ЖКИ 64*128. Но когда прикинул расположение инфы на нем в пейнте - понял, не оно..
Тогда и решил освоить ТФТ+тач.
Можно сделать и на вашем дисплее + кнопки. Однако это будет совсем другой проект. (И да, вроде как ОЛЕДы не любят одну и ту же картинку на одном месте.... Выгорают....)
Re: Часы на TFT
Добавлено: Пн мар 04, 2019 01:07:16
MOHCTEP
fetus Да, в этом плане, он получше ВМЕ680 будет. Тот, судя по даташиту, только на органику реагирует.

Запустил я ВМР280, даже чего-то показывает. Потестировал 3 разнотипичных арифметики с даташита.
Код: Выделить всё
//64 bits formula:: Flash - 4900 bytes, RAM - 444 Bytes
_bmp280_temp = compensate_T_int32(temp_raw);
_bmp280_pres = compensate_P_int64(pres_raw);
//floating point formula:: Flash - 4700 bytes, RAM - 438 Bytes
_bmp280_temp = compensate_T_double(temp_raw);
_bmp280_pres = compensate_P_double(pres_raw);
//32 bits formula:: Flash - 3768 bytes, RAM - 438 Bytes
_bmp280_temp = compensate_T_int32(temp_raw);
_bmp280_pres = compensate_P_int32(pres_raw);
Самой голодной, при прочих равных, оказалась 64-битная математика, 32-битная с фиксированной точкой, ожидаемо самая тощая, ну и плавающая точка посерединке и плавает...
Даташит предупредил, что 32-битная математика менее точна с давлением. Ее дискретность = 1 Паскаль, тогда как у двух остальных = 0.1 Паскаль.
Re: Часы на TFT
Добавлено: Пн мар 04, 2019 08:45:42
GoldenAndy
А настолько критичен 0,1 паскаль ?
Один фиг переводить в привычные мм рт.ст.... 1 мм рт.ст. - это 133,3 Па
Re: Часы на TFT
Добавлено: Пн мар 04, 2019 12:36:46
MOHCTEP
goldenandy, Вот и думаю, что абсолютно не критичен. Ну и терять больше кило флеша и х.з. сколько времени на бесполезную точность, смысла не вижу. Ну и математики у ВМР280 и ВМЕ280, хоть и похожи, но у второго все же чуть посложней + добавится обработка влажности еще. Значит разбег в потреблении памяти, времени и ресурсов будет даже побольше, чем в моих опытах.
Re: Часы на TFT
Добавлено: Вт мар 05, 2019 19:46:27
GoldenAndy
Западло подкралось незаметно.
У восьмой меги WDT простой, не продвинутый. И у него нет своего прерывания....
Соответственно, реализовать спящий режим глубокого сна на заданное время будет сложно....
Re: Часы на TFT
Добавлено: Вт мар 05, 2019 21:52:34
MOHCTEP
10.4 Power-down Mode
...
Only an External Reset, a Watchdog Reset, a Brown-out Reset, a Two-wire Serial Interface address match interrupt, or an external level interrupt on INT0 or INT1, can wake up the MCU.
Не?
Re: Часы на TFT
Добавлено: Вт мар 05, 2019 23:00:49
GoldenAndy
Именно, что Watchdog Reset, а не Watchdog Interrupt, как в продвинутых Мегах и тупых Тиньках.
Просто выдержка сна в минуту в продвинутом варианте решается через прерывание от WDT, а тут WDT перегружает контроллер.
Поэтому приходится идти по пути переменных, которые не инициализируются при загрузке. Потом отслеживать причину перезагрузки и делать глобальный конечный автомат. Нет ничего нерешаемого, но .... Как бы это выразиться, не так красиво.
Re: Часы на TFT
Добавлено: Вт мар 05, 2019 23:31:54
MOHCTEP
goldenandy писал(а):а тут WDT перегружает контроллер.
Тут WDT контроллер, кажись, пробуждает, если я правильно басурманский понял... Ну, а если прерывание таки сильно надо, то опять упираемся в 48/88/168

Re: Часы на TFT
Добавлено: Вт мар 05, 2019 23:58:14
dadigor
[uquote="goldenandy",url="/forum/viewtopic.php?p=3583443#p3583443"]Западло подкралось незаметно.
У восьмой меги WDT простой, не продвинутый. И у него нет своего прерывания....
Соответственно, реализовать спящий режим глубокого сна на заданное время будет сложно....[/uquote]
Еще одна причина, по которой пора бы переходить на STM. В STM, в том числе в малопотребляющих STM32L и даже в STM8L из standby можно выходить несколькими способами, включая по будильнику встроенных RTC, что наверное полностью снимает проблему.
Re: Часы на TFT
Добавлено: Ср мар 06, 2019 00:49:20
GoldenAndy
Пробуждение происходит через сброс от собаки.
Причину сброса можно посмотреть в MCUCSR.
А текущее состояние приходится хранить в переменной, у которой проставлен признак .noinit
Такие переменные при включении/сбросе контроллера не инициализируются.
Соответственно, можно накрутить машину состояний, позиция которой живет в такой переменной.
И после перезагрузки анализировать, где мы и что мы.
Вот у меня на макетке сейчас крутится "секундомер" на дисплейчике, котороый реализован на вочдоге.
Дисплей+Мега во сне отребляют порядка 0,2мА (дофига на самом деле), в режиме пробуждения - порядка 11 мА на время порядка 75 мс.
Итого средний ток 0.44ма.
Добавлено after 5 minutes 25 seconds:
dadigor писал(а):Еще одна причина, по которой пора бы переходить на STM
Если вы тему прочитаете, то увидите, что в планах по часам есть переход на СТМ.
Хотя на данный момент основной платформой является АВР.
Сейчас, пока китайцы везут детали, идет вялотекущее обсуждение платформы для внешнего датчика.
По СТМкам есть один минус - шаг выводов 0.5 мм (вывод 0.24, зазор 0.26 мм). Это уже почти предел для большинства технологий.
Вон у
pin1000 хоть и фоторезист (китайский), но меньше 0.3/0.3 результат бывает рандомный.
В этом плане меги на порядок демократичней.
Re: Часы на TFT
Добавлено: Ср мар 06, 2019 06:06:32
dadigor
За темой слежу, поэтому и встрял )) По поводу выводов согласен, это непросто, тем не менее ЛУТ меня вполне спасает. Хотя конечно бывают и неудачи. Для внешнего датчика хорошо подходят стмки в soic 20, тут даже не обязательно stm32, достаточно stm8lf3. Зато потребление в спячке у них совсем мизерное.
Re: Часы на TFT
Добавлено: Ср мар 06, 2019 08:51:05
GoldenAndy
dadigor писал(а):достаточно stm8lf3. Зато потребление в спячке у них совсем мизерное.
У Атмег потребление в спячке живет на уровне единиц микроампер.
Но если в меге (так же как и в СТМ, наверное) завести какой то источник тактирования - тот же watchdog или RTC на 32768гц - то потребление уже вырастет до 10-15 мкА.
Но основное потребление у меня - это дисплей. от +5 вольт он жрет как не в себя. 0.2-0.3 мА.
Это пока тестовая площадка
Спойлер

Потребление в режиме пробуждения (падение на 30 Ом резисторе)
Спойлер

Я еще поиграюсь с режимами. Ибо из 75 мс пробуждения - основное время занимает StartUp time 64ms, определенное во фьюзах.