Зарегистрироваться

DIY часы на DS3231 - расширяем функционал

  • Цена: 761,84 руб.

Часы были куплены и собраны год назад. Так как все покупки участвующие в обзоре покупались давно и продавцы их уже не продают, ссылки ведут на аналогичные предложения.

Данные часы уже несколько раз обозревались:
Набор для самостоятельной сборки матричных часов на DS3231,
Часы – конструктор на высокоточном (extremely accurate I2C) чипе DS3231.



Основой часов является микроконтроллер stc15w1k24s и микросхема rtc ds3231. Сменив прошивку микроконтроллера и подключив дополнительные модули мы можем увеличить функционал часов.

В модернизации принимали участие или тестировались:
Модуль bmp180 GY-68 — $1.97
Модуль si7021 GY-21 — $2.87
Модуль bme280 GYBMEP — $4.07
usb — uart конвертер на CH340G — $2.55

Модули bmp180 и si7021 были между собой спаяны.

Расстояние между отверстиями модулей 5 мм.
Изначально для изготовления П-образных контактов пытался изогнуть штырьки от гребенок PLS, но почему-то при изгибании они лопались. Пришлось применить жилу от провода ПВ-1/ПУВ 1х0,5 мм( диаметр жилы примерно 0.7мм ).

и подпаяны к часам.

Точки подключения модулей.

Перепрошиты и собраны.


Отличия прошивки от стандартной(заводской):
1. При подключенном модуле si7021 — вывод влажности.
2. При подключенном модуле bmp180 — вывод давления.
3. При подключенном модуле bme280 — вывод давления и влажности.
4. Будильник с выбором дней недели.
5. 6 уровней яркости.
6. Наши праздники.
7. Возможность корректировки хода ds3231.
8. Пока отсутствуют анимация/эффекты.

GitHub Repository с проектом под Keil, поддержку STC15 в Keil можно добавить через STC-ISP.
Архив с HEX файлом.
STC-ISP v6.86D

Перепрошивал часы с помощью STC-ISP и USB-UART адаптера на CH340G. С напряжением 3.3v.
Input IRC frequency: 18.432 MHz

При перепрошивке просто прислонял шлейф к контактным площадкам.


+
avatar
  • Setjet
  • 29 августа 2017, 20:25
+8
Мне вот почему то думается, что давление и влажность как таковые не столь важны, сколь интересно знать тенденцию их изменения. Т.е. если бы при выводе их значений где-то рядом отображалась бы стрелочка вверх или вниз (куда это самое значение двигается скажем за последние несколько часов). А если бы при сильном изменении она ещё бы и зловеще мигала — было бы вообще шикарно))
+
avatar
  • dimkin
  • 29 августа 2017, 21:48
0
Данные за неделю :) Толку от них? :)
+
avatar
  • Setjet
  • 29 августа 2017, 21:56
+3
За неделю не нужно.
А вот на основании изменения давления за последние 6-12 часов вполне можно принять решение брать ли с собой зонт или отправиться куда-то налегке.
+
avatar
  • dimkin
  • 29 августа 2017, 22:00
+3
ну вот на картинке выше много данных и немного подсказок — когда стоило брать зонт? :)
+
avatar
0
Когда падает давление — берем зонт, будет пасмурно, возможны осадки.
+
avatar
  • dimkin
  • 30 августа 2017, 08:57
0
за всю картинку давление падало 4 раза. дождь был только 25го да и то не везде.
Мне до работы 25 км — по пути погода может радикально переменится раза 2.
Вот такая маленькая и гордая страна с грустными синоптиками :D
Хотя именно осадки в ближайщие пару дней они угадывают очень точно
+
avatar
  • Onibi
  • 29 августа 2017, 22:13
0
Осталось к ним счётчик гейгера прикрутить :)
+
avatar
  • VahaC
  • 29 августа 2017, 22:13
+2
А можеш поделиться исходниками етой прошивки? Спасибо.
ПС
хочу прошить свои часики под bme280
и добавить дни рождения своего семейства
+
avatar
  • v0tang
  • 30 августа 2017, 01:24
0
Поддержку bmp280 и bme280 я и сам собираюсь сделать, тк модуль уже пришел.
+
avatar
  • v0tang
  • 31 августа 2017, 11:48
+1
bme280 — работает.
В теории и bmp280 должен.
Сначала ищется по адресу 0x76, потом по 0x77, при удачной проверке 0x76, 0x77 не проверяется.
По chipid определяется модель датчика, и его возможности.

проверялось на:
bmp180 — I2C address 0x77 chipid 0x55
bme280 — I2C address 0x76 chipid 0x60
+
avatar
0
Давно ждал когда можно избавится от этих Китайских праздников. Хорошая работа!.. Супер..! Тож хочу так прошить…
Только вот несколько вопросиков…
Можно ссылочку на саму програмку-прошивальщик, где её скачать можно? Если не подключать дополнительные модули, а только пролить. Будут работать часики?
Если с одним модулем BMP180, без si7021, будут работать?
+
avatar
  • v0tang
  • 30 августа 2017, 01:27
+1
STC-ISP v6.86D
Будут.
Будут.
+
avatar
0
А вот это Firmware for STC15W1K24S microcontroller on DIY LED Matrix Clock with DS3231 Это и есть исодник?
Интересно, в заводской прошивке почасовой сигнал был только один раз, при смене часа… А в той прошивке исправлено?
+
avatar
  • v0tang
  • 30 августа 2017, 10:25
+1
Да, это и есть исходник.
А сколько раз нужно при смене часа?
+
avatar
  • VahaC
  • 30 августа 2017, 10:38
0
а в какой среде собирали бинарник под етот проц?
+
avatar
  • v0tang
  • 30 августа 2017, 10:42
+1
Keil v9.56
+
avatar
0
Почасовой сигнал, конечно традиционно один раз в час — достаточно. Но именно на прошивке с «завода» вот такая странность есть… Допустим подали питание на часики в 10:20, они в 11:00 как и положено пикнули… И далее в 12 часов, в 13 часов и так далее — молчат… И в меню непонятно как этот почасовой сигнал включается…
Подскажите вот ещё что… Можно как то прошивку с часов «списать», чтоб потом можно было «откат» сделать...?
+
avatar
  • v0tang
  • 30 августа 2017, 14:01
0
Я такого способа не знаю.
У меня двое часов на новой прошивке, нормально себя чувствуют.
+
avatar
0
На новой прошивке, вы О этой которая есть здесь..?
А как вы включает и Отключаете почасовой сигнал..?
А анимация часов тоже есть?
+
avatar
  • v0tang
  • 30 августа 2017, 16:16
0
Да. Новая — это та которая не заводская.
В меню — on/off.
Анимации/эффектов нет, в меню пункт disp есть, но он ни на что не влияет.
+
avatar
  • Orloff
  • 31 августа 2017, 01:28
0
А температуру с какого датчика берет? Встроенный в DS3231 не очень точный.
+
avatar
  • v0tang
  • 31 августа 2017, 10:24
0
Температуру берет с ds3231.
Про точность, жаль что единственную si7021 впаял в часы она тоже что то свое показывала. Все трое воткнуты в одну бредбоард, после 15 минутного прогрева:

bme280 Temperature = 23.09 *C
bme280 Pressure = 744.45 mm
bme280 Humidity = 50.24 %

bmp180 Temperature = 22.30 `C
bmp180 Pressure = 743.8 mm

ds3231 Temperature = 21.25 `C
+
avatar
0
Пробовал прошивать, но что то даже MCU не удалось прочитать… Первая попытка в жизни… и появились вопросики… Можно подробней для несильно продвинутых… На часы питание с БП перед соединением программатора и компа надо подавать...? Перед запуском прошивки на программаторе кнопку Ресет нужно нажимать? Или я програматор не правильный использовал..? Или сигнал готовности проводулькой нужно подавать… я фото программатора позже выложу, но он точно но CH340 сделан, но может он не UART...? И у моего ноги на так расположены как у вас на фото…
+
avatar
0
+
avatar
  • v0tang
  • 31 августа 2017, 11:32
0
UART-адаптер у меня точно такой же как верхний, только я его в термоусадку загнал.


+
avatar
  • v0tang
  • 31 августа 2017, 10:43
0
Для любых операций из STC-ISP( «Download» / «Check MCU» ) нужно чтобы STC15 вошел в bootloader, то есть его нужно перезапустить. На верхнем UART-адаптере нажатие на кнопку обесточивает вывод VCC, что приводит к сбросу и входу в bootloader.

1. часы выключены.
2. нажимаем «Download» или «Check MCU»
3. если на часы припаяны контакты и подсоединен шлейф, то нажимаем кнопку на UART или вручную отключаем и подключаем вывод VCC.
если не припаяны то просто начиная с GND прислоняем гребенку, VCC должен податься последним и не отпускаем до радостного писка часов.

Опыты лучше начать с кнопки «Check MCU»
Checking target MCU ... 
  MCU type: STC15W1K24S
  F/W version: 7.2.5T

Current H/W Option:
  . Current system clock source is internal IRC oscillator
  . IRC frequency: 18.425MHz
  . Wakeup Timer frequency: 36.896KHz
  . Do not detect the level of P3.2 and P3.3 next download
  . Power-on reset, use the extra power-on delay
  . RESET pin behaves as I/O pin
  . Reset while detect a Low-Voltage
  . Thresh voltage level of the built-in LVD : 2.62 V
  . Inhibit EEPROM operation under Low-Voltage
  . CPU-Core supply level : 2.81 V
  . Hardware do not enable Watch-Dog-Timer
  . Watch-Dog-Timer pre-scalar : 256
  . Watch-Dog-Timer stop count in idle mode
  . Program can modify the Watch-Dog-Timer scalar
  . Do not erase user EEPROM area at next download
  . Do not control 485 at next download
  . Do not check user password next download
  . TXD is independent IO
  . TXD pin as quasi-bidirectional mode after reset
  . P2.0 output HIGH level after reset
  . Testing time: 2016-11-17

  . MCU type: STC15W1K24S
  F/W version: 7.2.5T


  Complete !(2017-08-31 10:41:44)
+
avatar
0
Огромное человеческое СПАСИБО… Получилось с подачей питания была хитрость… ;-)
+
avatar
0
Работают нормально дополнительные датчики ещё не подпаивал, праздники на русском пишут… Клёво…
А можно в праздники добавить день энергетика 22 декабря..?
+
avatar
  • v0tang
  • 31 августа 2017, 14:33
0
+
avatar
0
GitHub Repository по этой ссылке прошивка для Ардуино?
+
avatar
  • v0tang
  • 02 сентября 2017, 12:53
0
Причем тут arduino, если там исходники прошивки для часов на stc15w1k24s?
+
avatar
0
Я в архиве увидел файлики похожие на скетч от Ардуино… Но похоже ошибся…
А чтоб этот архив использовать, его нужно ещё как то в Keil v9.56 обработать?
+
avatar
  • v0tang
  • 02 сентября 2017, 15:06
0
В архиве проект. Если его собрать в Keil C51, то получим hex файл годный для заливки в часы.
+
avatar
0
А не будете ли вы так любезны, кинуть ссылочку, так попробовать хочется… Может праздничков добавить днюхи получится…
+
avatar
  • v0tang
  • 03 сентября 2017, 20:28
0
Ссылочку на что?
+
avatar
0
На Keil C51… Пробовал сам найти, но пока не получается… На официальном сайте, какой то, бонус на 14 дней дают, но чтоб воспользоваться нужно свой эл.адрес ввести я все сделал как они хотят, но мой ящик что то оказался неправильным для них… Наверно надо им надо «буржуинский» типа gmail.com…
+
avatar
  • v0tang
  • 04 сентября 2017, 00:41
0
Тут все есть.
+
avatar
+1
Можете исходник прошивки выложить?
+
avatar
  • Viha
  • 30 августа 2017, 06:31
+2
Ну почему люди считают, что их обзоры читают ТОЛЬКО жители России??? Неужели так тяжело указать стоимость в более распространённых тугриках?
И сам обзор малоинформативен. В комментариях и то больше информации почерпнул, чем в обзоре.
+
avatar
0
Ну потому, хотя бы, что расположен он в зоне .ru
+
avatar
  • Viha
  • 30 августа 2017, 07:55
+1
А то, что он расположен в буржуйском интернете? Написан на буржуйском языке? Крутится на буржуйскуом сервере? Не нужно лепить горбатого со своей зоной «ru». На каждый аналогичный глупый аргумент есть десяток грамотных ответов, от которых вы как минимум засмущаетесь и почувствуете себя довольно неловко.
+
avatar
0
Ну давайте, засмущайте же меня скорее :)
+
avatar
  • Offi
  • 30 августа 2017, 12:38
0
Лично мне НЕУДОБНО рубли переводить в доллары, так как я из Израиля и для этого приходится открывать страницу товара.
+
avatar
0
ну, тогда уж в шекели :))
+
avatar
  • Viha
  • 31 августа 2017, 01:45
0
Достаточно уважать других посетителей сайта и предоставлять удобоваримую цену в нормальной валюте, которую в любой стране мира людям удобно пересчитать в свою национальную. Мы же уважаем вас и пишем на русском, а не на своем родном. Почему вы считаете, что все остальные люди на Земле хуже вас и должны прогибаться под вас? Обыкновенное уважение. Тем более тысячу раз просили поступать по человечески.
+
avatar
  • AIS
  • 30 августа 2017, 09:27
0
Это обзор про русскую прошивку для китайских часов. Автор обзора очень мне помог в русификации прошивки для другой модели подобных часов. Свою прошивку он писал с нуля, так как исходников китайской прошивки на эту модель не было. Прошивка из-за используемых в ней российских праздников рассчитана в основном для пользователей из России. Исходники есть можно сделать прошивку с праздниками и днями недели других стран. Можно добавить в прошивку и дни рождения членов семьи, но это уже спец прошивка для отдельной семьи.
+
avatar
-1
А что на Али, в настройках, нельзя Тугрики поставить и рассчитываться своими Тугриками...?
+
avatar
  • djuscha
  • 30 августа 2017, 08:15
-2
а такие часы можно перепрошить?
+
avatar
  • xxxtaz
  • 30 августа 2017, 11:23
0
А обзор читать не пробовали?
+
avatar
  • v0tang
  • 30 августа 2017, 14:56
0
Можно, но не этой прошивкой.
+
avatar
  • djuscha
  • 31 августа 2017, 07:45
0
а какой? Подскажите пожалуйста где найти.
+
avatar
  • v0tang
  • 31 августа 2017, 10:45
0
Не владею данной информацией.
Таких часов у меня нет.