|
@@ -1,3 +1,5 @@
|
|
|
+Wall Segment Clock
|
|
|
+
|
|
|
простые часы на базе ESP8266 ESP-12e
|
|
|
|
|
|
Вдохновил пост на хабре "Бескнопочные часы" http://geektimes.ru/post/267718/
|
|
@@ -19,209 +21,64 @@
|
|
|
на 31.12.2015 всё.
|
|
|
|
|
|
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
+Решил попробовать вариант, когда 3-ий и 4-ый индикаторы "вверх ногами", и
|
|
|
+двоеточие образовано точками от 2-го и 3-го индикаторов.
|
|
|
+Сколько видел такие варианты в фильмах-сериалах - смотрится вполне прилично.
|
|
|
+UPD: развести можно, только я попутал индикаторы и сейчас переделывать просто
|
|
|
+влом.
|
|
|
|
|
|
-Wall Segment Clock
|
|
|
-
|
|
|
-После двух дней ебли с nodemcu решил для своего проектика остановится на Sming.
|
|
|
-за основу взял проект "MeteoControl", выкинул I2C LCD Display, добавил
|
|
|
-обновление сайта из "HttpClient_ThingSpeak", добавил обработку DHT22 из
|
|
|
-"Humidity_DHT22", хотел добавить FTP сервер -- но оно не влезло.
|
|
|
-В качестве датчика освещённости можно будет использовать "Light_BH1750", или
|
|
|
-останется фоторезистор.
|
|
|
+Кроме этого, подозреваю проблему в том, что нельзя индикаторы подключать
|
|
|
+напрямую к MC74HC595 - может перегреваться, а на 3.3В может тупо не хватить
|
|
|
+напряжения.
|
|
|
+Этот момент нужно оттестировать обязательно.
|
|
|
|
|
|
-"ThingSpeak" планирую заменить на что-то своё, на своём сервере, что ещё
|
|
|
-предстоит придумать и реализовать. Возиожно это будет не HTTP а что-то на
|
|
|
-основе UDP (клиент/сервер).
|
|
|
+Возможно, неправильно диммить индикаторы выводами OE - тогда нужно ставить
|
|
|
+отдельный ключ (ключи) в катоды индикаторов и ШИМ-имить уже им.
|
|
|
|
|
|
-Осталось добавить поддержку для MAX7221 и сделать вывод на индикаторы...
|
|
|
-Возможно, по ходу дела придётся что-то выкидывать, чтобы влезло нужное.
|
|
|
+Думаю, что лучше питать м/с не 3.3 а 5 вольт, и на Wemos подавать 5В на её
|
|
|
+стабилизатор.
|
|
|
+Из 7-ми делть 5-ть импульсником, а 3.3 для ESP - отдельным линейником.
|
|
|
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-
|
|
|
-out/firmware/spiff_rom.bin---------->0x4C000
|
|
|
+Вообще не определился пока с ESP-шкой -- Wemos жалко, осталась одна ESP-12,
|
|
|
+можно попробовать восстановить ESP-07 и применить её.
|
|
|
|
|
|
-FTP не влезло на 1594 байта :-(
|
|
|
+Вообще со статикой общее потребление до 1.2 Ампера, что как-бы очень жирно...
|
|
|
+Может всё-таки вернуться к динамике? только не на Максе, а на рассыпухе, на
|
|
|
+мелких индикаторах можно использовать ТМ1650.
|
|
|
+Вместо мелких можно вообще поставить олед экран (или другой) и на него
|
|
|
+выводить доп инфу.
|
|
|
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-WebTime занимает слегка меньше места чем NTPclient.
|
|
|
+Ещё нужно уточнить реальные размеры индиктаоров.
|
|
|
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.01.29
|
|
|
-
|
|
|
-Прикрутил поддержку max7219 с программным spi.
|
|
|
-Сделал вывод времени -- пора проверять в железе.
|
|
|
-
|
|
|
-Нужно придумать как выводить всё остальное -- дату, показания датчиков.
|
|
|
-Как считать дни недели, как определять переход на зимнее/летнее время?
|
|
|
-Как взаимодействовать с внешним миром -- оставлять вебсервер,
|
|
|
-или переходить на UDP сервер/клиент?
|
|
|
-
|
|
|
-по поводу дня недели:
|
|
|
-https://ru.wikibooks.org/wiki/Реализации_алгоритмов/Вечный_календарь
|
|
|
----
|
|
|
-struct struct_date
|
|
|
-{
|
|
|
- short day;
|
|
|
- short month;
|
|
|
- short year;
|
|
|
-};
|
|
|
-
|
|
|
-int what_day(const struct struct_date const date)
|
|
|
-{
|
|
|
- int a = (14 - date->month) / 12;
|
|
|
- int y = date->year - a;
|
|
|
- int m = date->month + 12 * a - 2;
|
|
|
- return (7000 + (date->day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12)) % 7;
|
|
|
-}
|
|
|
+может стоит применить датчик освещённости вместо фоторезистора?
|
|
|
---
|
|
|
+2020.10.02
|
|
|
|
|
|
-Пример вывода:
|
|
|
-каждые 25-29 и 55-59 секунд на верхние индикаторы выводить дату, а на нижние день недели.
|
|
|
-(01 29 / ПОН ВРН СРЕ ЧРГ ПНА СУБ ВОС)
|
|
|
-в остальное время на нижних чережовать каждые 5 сек темп/влажность (XXc/XXh).
|
|
|
-делать мжно с помощью таймеров и однократного запуска.
|
|
|
-нужно разрисовать подобие КА.
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.02.01
|
|
|
-
|
|
|
-Уберу http-клиент, поменяю чуть сбор данных, json буду отдавать с точностью
|
|
|
-в 2 знака.
|
|
|
-Возмжно попробую добавить udp-сервер и ftp-сервер.
|
|
|
-
|
|
|
-Управление внешним выходом в зависимости от температуры/влажности -- это
|
|
|
-конечно прикольно, но мне в часах оно нахрен не нужно.
|
|
|
-
|
|
|
-Далее в планах -- переделать под себя страницу конфигурации,
|
|
|
-убрать всё лишнее, добавить нужное -- например, задание 2-4 порогов регулировки
|
|
|
-яркости в зависимости от внешнего освещения.
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.02.02
|
|
|
-
|
|
|
-Переделал обработку времени, поправил обработку данных от датчика.
|
|
|
-
|
|
|
-FTP сервер уже влазит, вот только нужен ли он?
|
|
|
-
|
|
|
-UDP Server тоже влез. Если я всё правильно понял, то на строку "get_sensors"
|
|
|
-должен возвращать температуру и влажность. На любые другие данные -- echo.
|
|
|
-
|
|
|
-Переделал конфигурацию -- выбросил всё ненужное, добавил настройку уровней
|
|
|
-освещённости (два) и ировней яркости индикатора (три). Пока не использую.
|
|
|
-План такой:
|
|
|
- if (ADCVAL < LLow) {
|
|
|
- MAX7219br = BLow
|
|
|
- } else if (ADCVAL > LHigh) {
|
|
|
- MAX7219br = BHigh
|
|
|
- } else {
|
|
|
- MAX7219br = BMid
|
|
|
- }
|
|
|
-
|
|
|
-Выкинул FTP Server -- какой-то он странный, скачать ничего не вышло,
|
|
|
-закачть уже и не пытался.
|
|
|
-
|
|
|
-Выкинул UDP Server -- запросы принимает, ответа от него не видно...
|
|
|
-Или я что-то не понимаю, или одно из двух...
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.02.02
|
|
|
-
|
|
|
-Заменил м/с MAX7219 -- и всё чудесным образом заработало.
|
|
|
-Один индикатор (ед. часов) бракованый -- не светится верхний левый сегмент,
|
|
|
-нужно поменять местами со средним.
|
|
|
-
|
|
|
-Не очень нравится раскладка 5/3, было бы лучше 4/4.
|
|
|
-
|
|
|
-Поменял отображение темп. и влажности -- символ спереди,
|
|
|
-так кажется более правильно.
|
|
|
-
|
|
|
-Мигающий минус теперь грубо отображет секунды:
|
|
|
- - с 0 по 14 сек -- "минус"
|
|
|
- - с 15 по 29 сек -- "средний и нижний"
|
|
|
- - с 30 по 44 сек -- "верхний и средний"
|
|
|
- - с 45 по 59 сек -- "верхний, средний и нижний"
|
|
|
-Была ещё мысль время выводить в первых четырёх идикаторах, мигать точкой,
|
|
|
-а в 5-ом индикаторы "двоичным" кодом отображать секунды, но пока отбросил.
|
|
|
-
|
|
|
-Белые индикаторы светят заметно ярче синих, пока ничего менять не буду,
|
|
|
-посмотрим как оно будет под светофильтром.
|
|
|
-
|
|
|
-Решил отказаться от вывода даты и дня недели -- не нужно оно.
|
|
|
-
|
|
|
-Нужно вынести в настройку адрес ntp сервера.
|
|
|
-Нужно доделать регулировку яркости. Возможно стоит заменить на плавную.
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.02.07
|
|
|
-
|
|
|
-Делаю автоматическую регулировку яркости.
|
|
|
-
|
|
|
-Немогу понять, почему я фоторезистор поставил на землю? Ведь так получается
|
|
|
-не уровень яркости, а уровень темноты...
|
|
|
-
|
|
|
-Как-то я собирал несколько дней инфу с подобнго датчика смотрящего на улицу.
|
|
|
-Статичечки, его знчение приведённые к уровням 0-16 имеют значимую величину
|
|
|
-в диапазоне оот 12 до 16, т.е. всего 4 значения.
|
|
|
-Попробую это дела как-то нормализовать.
|
|
|
-
|
|
|
-Пробовал 12-16 растгивать -- сильно грубо.
|
|
|
-Сейчас сделал 7-14, лучше, но тоже не сильно нравится.
|
|
|
-Похоже, что простое приведение было лучше всего.
|
|
|
-
|
|
|
-Стало зависать постоянно, на ноге сброса -- 0.
|
|
|
-Вынес регулировку яркости в отдельную задачу -- прошло...
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.11.15
|
|
|
-
|
|
|
-Перерисовал схему под статику, 4 шт. 1.5" + 4 шт. 0.8".
|
|
|
-Большие индикаторы запитал через TD62783A (UDN2981).
|
|
|
-MC74HC595A работают и от 3.3В -- отказался от 5-ти вольтового стаба.
|
|
|
-Осталось придумать ШИМ для регулировки яркости и можно пытаться разводить.
|
|
|
-И нужно что-то придумать с сегментными резисторами (20 и 5 Ом)...
|
|
|
-И точки -- или в обход буферов, или больший резистор (185 Ом)
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.11.17
|
|
|
-
|
|
|
-Добил схему.
|
|
|
-Питание -- внешнее 7В + китайский импульсный стаб на 3.3В.
|
|
|
-
|
|
|
-Добил плату -- раскладку "подсмотрел" у китайцев, всё влезло под индикаторы,
|
|
|
-надеюсь что wifi будет работать нормально...
|
|
|
-размер платы -- 194 на 67 мм. Перемычек правда вышло шо пипец...
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.11.21
|
|
|
-
|
|
|
-LDO на 3.3 вольта выкинул потому, что одного мало (я насчитал макс. ток ~1.2А)
|
|
|
-а два ставить особо некуда, плюс будут большие потери.
|
|
|
-
|
|
|
-Появилась идея -- убрать сегменты точек. Можно даже сократить один сдвиговый
|
|
|
-регистр, но это принесёт больше гемора. Добавить два синих 3мм ветодиода --
|
|
|
-засверлить их между 2-ой и 3-ей цифрами. Подключить или вместо точки второго
|
|
|
-индикатора, или, что ещё лучше -- задействовать отдельный вывод ESP и
|
|
|
-транзистр. Хотя тогда появится лишний гемор с регулировкой яркости именно этих
|
|
|
-светодиодов...
|
|
|
-
|
|
|
-Второй момент -- раширить плату в высоту, вытащить ESP и DHT вниз -- уменьшить
|
|
|
-толщину "пакета".
|
|
|
-
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.11.22
|
|
|
+закончил вариант с динамикой и Wemos...
|
|
|
+добавил крепёж -- 152*94 мм
|
|
|
+в качестве корпуса можно поискать фоторамку, но тогда AHT10 нужно на обратную
|
|
|
+сторону выносить.
|
|
|
+и открытый вопрос с фотодатчиком, и с esp модулем.
|
|
|
+---
|
|
|
+2020.10.21
|
|
|
|
|
|
-v1 -- исходная версия
|
|
|
-v2 -- без точек, с двумя светодиодами.
|
|
|
-текущая -- попытался вытащить наружу ЕСП, но не вышло.
|
|
|
+попробую поставить цифровой датчик освещённости, и перенести ESP на лицевую
|
|
|
+сторону.
|
|
|
|
|
|
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
|
-2016.11.23
|
|
|
+надеюсь финал, вроде как устраивает полностью.
|
|
|
+---
|
|
|
+2022.10.02
|
|
|
|
|
|
-Хочу пропрбовать сделать раскладку "4 сверху / 4 снизу".
|
|
|
+Дошли руки.
|
|
|
+В процесе запайки платы обнаружил пару моментов - местами можно было сделать
|
|
|
+лучше. Если будет не лень, поправлю плату.
|
|
|
|
|
|
-получилось. вроде неплохо -- 153 на 84 мм.
|
|
|
-переходных -- 59 штук.
|
|
|
+Железо:
|
|
|
+ - WeMos D1 mini Pro (16 MB flash)
|
|
|
+ - TM1650 для нижних 4-х индикаторов
|
|
|
+ - нижние индикаторы по SPI: TPIC6B595 для выбора индикатора, 74HC595+TD62783A - сегменты.
|
|
|
+ - датчик освещённости GY-49 (MAX44009)
|
|
|
+ - сенсор температуры/влажности AHT10
|
|
|
|
|
|
-ещё попробовать "вынести наружу" ESP и DHT22.
|
|
|
-кажется получилось -- плата 152 на 84 мм, 62 переходных.
|
|
|
-пока мне этот вариант нравиться больше всего.
|
|
|
+Приступаю к коду.
|
|
|
+Пытаюсь заставить компилиться Sming...
|