На банггуд часы со скидкой все раскупили, нашел такие на алиэкспресс, но без скидки дороже.
Этот товар на taobao, для тех, кто умеет там покупать.
К этим часам теперь есть русская прошивка: отображение дней недели на русском, даты в формате «день месяц», благодарность за редактирование прошивки v0tang. Подробности в обзоре.
Светодиодные часы из данного обзора наиболее близко похожи на другую модель обзор 1обзор 2, ранее представленную на этом сайте. Основное отличие в том, что в обозреваемых часах имеется встроенный контроллер и в них можно загрузить прошивку через USB кабель. Часы поставляются без загруженной прошивки и после сборки в них нужно загрузить прошивку с компьютера, чтобы они заработали. Часы упакованы в фирменную картонную коробку с логотипом производителя YahBoom.
В комплект часов входит блок питания с американской вилкой (переходника в комплекте нет).
Часы из коробки практически собраны не припаян только датчик температуры, кварц, выключатель, ртутный выключатель и светодиодные матрицы. Все smd элементы, более сложные в монтаже уже припаяны производителем часов.
Также в комплекте идет корпус часов из пластика с крепежными винтами с гайками и бумажная инструкция от производителя.
Содержание бумажной инструкции
Согласно бумажной инструкции в комплекте должен быть лазерный диск, но его в наличии нет. Без этого диска запустить и собрать эти часы нельзя, так как там находятся все необходимые инструкции, драйвера, программы и прошивки. Ниже в обсуждении этого товара на сайте банггуд в темах есть ссылки на электронную копию этого диска. Некоторые ссылки на файлы мне прислал продавец товара в письме.
Сам процесс пайки не снимал, так как не планировал писать обзор, но он подобен тому что написано в двух других обзорах подобных часов (ссылку на обзоры давал в начале текста).
Вот фото уже собранных часов:
На плате три микросхемы:
STC 15w1k24s контроллер
ds1302 микросхема часов
ch340 контроллер USB для прошивки микросхемы контроллера
После окончания сборки часов они находятся в не рабочем состоянии, далее необходимо загрузить в них прошивку.
1. Подключить включенные часы USB кабелем к компьютеру. Включение и выключение часов осуществляется выключателем расположенным рядом с микро USB гнездом на плате часов. При включении часов горит светодиод L2. Компьютер обнаружит новое устройство, установить драйвера для ch340 (драйвера брать в копии лазерного диска).
2. Установить программу для прошивки микросхемы контроллера STC 15w1k24s stc-isp-15xx-v6.85 или более позднюю версию (брать в копии лазерного диска).
3. Прошить микросхему.
Названия файлов прошивок и папки с программой должны быть на английском языке, на русском и китайском выдает ошибку, переименовать файлы на английский перед прошивкой.
Согласно скриншоту:
1. Выбрать тип микросхемы MCU Type — STC15w1k24s
2. Выбрать com порт к которому подключен ch340 контроллер. Если программа не определит сама выставить порт в ручном режиме.
3. Нажать кнопку Open Code File и выбрать для загрузки файл прошивки в формате hex. Выкладывал отдельно ссылку на файл заводской прошивки выше по тексту, чтобы не искать его в копии лазерного диска.
4. Нажать кнопку Download Program. Выключить часы выключателем на плате (светодиод L2 при этом не должен гореть), часы подключены USB кабелем к компьютеру., включить часы выключателем на плате. Начнется процесс прошивки, по окончании прошивка начнет работать.
В копии лазерного диска есть другие прошивки (примеры) для этих часов, при этом на дисплее часов в зависимости от загруженной прошивки будет отображаться картинка или какие либо движущиеся объекты. Я ставил эти прошивки, устанавливать аналогично, пункт 3 и 4 инструкции выше.
Как это все выглядит в работе можно посмотреть на видео от производителя часов
В отличии от прошивки часов более старой модели, часов с которыми сравнивал в начале обзора. Шрифт тут всего один. Меню состоит всего из трех пунктов: Time, Date, Alarm. Как выглядит меню можно посмотреть на видео ниже.
Часы также умеют показывать бегущей строкой китайские праздники, как и в более старой модели часов, это видно на первом видео. Часы бывают с прозрачным или темным корпусом, у меня модель с прозрачным корпусом. На мой взгляд с темным корпусом лучше. Так же модель часов из этого обзора может быть с синим цветом светодиодной матрицы.
Часы у меня немного меньше месяца идут точно, отключал их много раз от сети на ночь (светят сильнее, чем с темным корпусом), от встроенной батарейки отсчет времени идет точно. Температуру показывают на 1 °С больше чем мои термометры и часы старой модели. Это можно исправить изменив прошивку, но я не разобрался, как это сделать. Программированием на языке Си никогда не занимался. Если кто может исправить имеющуюся прошивку, чтобы температура была на 1 градус меньше и выложит ее на сайте буду благодарен. Так же если кто сделает свой более лучший вариант прошивки для этих часов и поделится ей, не отказался бы от ее использования.
В копии лазерного диска имеются примеры программ для этих часов на языке Си и обучающие видео на китайском языке.
Данная модель часов будет более полезна тем, кто занимается программированием на языке Си и создает свои прошивки, для простого использования в качестве часов лучше более старая модель обзор 1обзор 2 по функционалу прошивки она на настоящий момент лучше.
Дополнение. Русская версия прошивки.
В прошивке заменены английские названия дней недели на русские. Изменен формат вывода даты на наш день потом месяц.
Русская прошивка жирный шрифт отображения дней недели Русская прошивка жирный шрифт отображения дней недели, вывод температуры на 1 градус меньше, чем в исходной прошивке
Фото отображения дней недели жирный шрифт (наклеил черную пленку на прозрачный корпус).
Фото отображения дней недели жирный шрифт
Русская прошивка тонкий шрифт отображения дней недели Русская прошивка жирный шрифт отображения дней недели, вывод температуры на 1 градус меньше, чем в исходной прошивке
Планирую купить+16Добавить в избранноеОбзор понравился+36
+60
Первая ссылка напрямую с сайта банггуд, там возникает какая то ошибка сертификата, даже если скачиваешь с их сайта. Ниже тоже самое на на google диске, скачивайте оттуда.
Ну китайцы совсем обленились. Раньше их часы только собирать надо было, прошивка хоть была уже, а сейчас уже и прошивать надо! Цена, кстати, меньше не стала. Беспредел ваще.
В этой модели часов реализована возможность самому загружать прошивку, добавлен контроллер, которого нет в более ранней модели. Для тех кто пишет свои прошивки для контроллеров эти часы могут быть полезны для учебных целей и реализации своих идей. Для этих часов есть прошивка с примитивной игрой. За счет своей конструкции эти часы пригодны для тестирования прошивок. Цена больше так как в комплекте еще блок питания, которого нет в предыдущей модели. На банггуде сейчас выгодная цена на алиэкспресс они дороже.
Это получается чисто для себя пишут и никуда не выкладывают. И прошивать еще микросхему как то надо, нужен программатор. В этой модели часов, программатор встроен в саму плату устройства, я такого в часах конструкторах раньше не встречал.
В коде, начиная с 496 строки происходит инициализация датчика температуры и дальнейшая запись и чтение информации с него. В интернете можно почитать про датчик ds18b20. Для вычисления температуры надо: при положительном значении ( S=0 ) код перевести в десятичный и умножить на 0,0625 °C. Предположу, что отрицательную температуру ваши часы не могут показать, т.к. предполагается их размещение дома. В связи с такими рассуждениями, не стали писать код на отрицательную температуру, т.к. вывод ее информации надо организовывать несколько иначе.
Вот этот участок кода считывает информацию с датчика:
Немного его поправил для читаемости и добавил комментарии:
Может наведет вас на мысль как скорректировать температуру
Последним языком программирования, который я изучал был Паскаль. По аналогии с Паскалем я бы внес изменение в строку программы с комментарием вычисление температуры.
tempbindata=tempbindata*0.0625-1 так как часы завышают температуру на 1 градус, показания на дисплее должны снизиться на 1. Тогда температура будет отображаться правильно.
Это правильное решение?
Надо код смотреть внимательно. Я бегло глянул.
Больше склоняюсь к тому, что tmp — это вывод температуры. Я бы после tmp дописал, tmp = tmp — 1; (не забыть поставить точку с запятой)
Но и ваш вариант верный, т.к. в любом случае значение попадет в tmp )))
Предположительно, должно сработать.
По поводу отрицательной температуры я скорее всего погорячился. думаю DQ = 0 и DQ = 1 — это и есть выбор знака + или — .
Спасибо за ответ. При отрицательной температуре эти часы у меня работать не будут, по этому поводу я не переживаю. При положительной температуре они нормально показывают, только завышают на градус, теперь понятно, как исправить программу.
Мне пока довольно сложно разобраться с прошивкой часов на языке Си, так как не изучал этот язык программирования. Чтобы скомпилировать прошивку нужно использовать Keil про который есть видео на лазерном диске, в котором тоже нужно разобраться. По китайскому видео программировать в этой среде не научишься. Нужно искать информацию на русском. Надежда на помощь тех кто тоже купил эти часы недавно на банггуд, из продажи они там пропали, значит скоро должны быть получены. Может кто разберется и напишет обзор именно по программной части этих часов, готовые прошивки в формате hex устанавливаются довольно просто, а вот их написание для меня довольно сложный вопрос.
Это более старая модель часов, на нее было два обзора, я с ней сравнивал новую модель в своем обзоре, цена очень высокая у этого продавца. Ниже в комментариях цена на тоже на 10 долларов ниже.
красный цвет это самый дешевый светодиод, если вам не подходит синий и он вызывает уныние то есть еще зеленый берёзовый или желтый(янтарный)
другое дело что у этого производителя красный и синий (мне синий не вызывает уныние)
ну или
Красный цвет наиболее удобен для восприятия глазом, особенно в темноте. Не зря в госучереждегиях, ВС делают подсветку символов на приборах и клавиш клавиатуры именно красного цвета.
В этой модели часов нет беспроводных интерфейсов никаких. Встречались в интернете китайские часы конструкторы с пультом ду и с bluetooth для настройки и управления.
А я такие запорол. Микросхема оказалась слишком сложным этапом в пайке, и в итоге на экране несколько строк слиплись. Наверное закоротил ножки. Эх, были бы они как ваши, с припаянной микросхемой.
Можете купить эту модель часов, в сборке она более простая. Но в нее нужно загружать прошивку с компьютера. И часы со скидкой все разобрали. Надо ждать, когда снова появятся в продаже со скидкой. На алиэкспресс есть в продаже но никто не покупает, дорого.
Можно, если сделать свою прошивку с поддержкой кириллицы. В китайской прошивке только латинские буквы, часть из них совпадает по написанию с кириллицей, как в автомобильных номерах. Текст тут насколько я понял выводится на экран, как рисунок, набор горящих светодиодов. В копии лазерного диска от часов есть программа, с помощью которой можно создать собственный рисунок для вывода на дисплей, можно нарисовать и русские буквы.
Вот скриншот этой программы
Русскую прошивку от китайцев ждать не стоит, надежда только на русских программистов.
Часы отображают дни недели на английском, сделать их на русском. Дата отображается задом на перед, на американский манер, сделать по нашему день потом месяц. И самое объемное и сложное, часы отображают праздники бегущей строкой на английском, заменить китайские праздники на русские и отображение сделать на русском. Для начала хотя бы день недели и дату исправить, а потом за праздники браться.
Я вот только в заводской прошивке не нашел блок отображения даты, дня недели и тем более праздников. Или они вынесены в отдельные блоки? Словами там наверное ничего не будет, если день недели отображается картинкой, то там будет набор букв и цифр, как в примере с картинкой в комментарии выше.
Странно что не нашли.
В display.h поищите pic_mon pic_tues pic_wed pic_thur pic_fri pic_sat pic_sun это «картинки» дней недели.
Для исправления даты в lcd_clock.c в вызове buf_data(21,t_month,t_day); нужно t_month и t_day поменять местами.
Праздники русифицировать не сложно. тк они также «картинки». просто нарисовать свои и даты поменять немного.
Я не знаком с языком Си и не знаю его структуру из-за этого не могу разобраться в тексте программы. Если вы занимаетесь программированием на Си не могли бы посоветовать литературу по этому языку в электронном виде или бумажном для начинающих, последним языком программирования для меня был Паскаль.
На заводской прошивке температура завышена на 1 градус нужно 6 отнимать, что бы правильно показывало. Видимо датчик температуры имеет погрешность программно убирают эту ошибку.
В этой прошивке какие изменения?
Проверил прошивку. Дни недели стали на русском. Дата отображается по русски, день потом месяц. Единственный минус в отображении пятницы последняя буква Н без горизонтальной палочки, только две боковые.
После прошивки часов время и дата не сбросилась видимо потому что эти данные главный контроллер получает от микросхемы отсчета времени. Пробовал прошить обратно на английскую версию прошивки все встало как было. Второй раз прошил на русскую прошивку все стало по русски.
Можете сделать две версии русской прошивки. В первой подправить букву Н в названии пятницы, остальное без изменений. И во второю версии прошивки добавить еще изменение температуры сделать на 1 градус меньше, так как для моего экземпляра часов температура завышена.
Фото ошибка в отображении пятницы в остальных днях все буквы отображаются нормально, не стал фотографировать, позже сделаю фото отображения всех дней недели.
отображение даты по русски, стоит 2 июня (новая русская прошивка)
В этой модели всего один шрифт. В старой можно было выбирать из нескольких. Вы про то что можно сделать прошивку с другим шрифтом цифр? Подобным шрифтам в более старой модели. Я про это не думал. Можно и цифры перерисовать, если они также в прошивке картинками сделаны. Надо еще корпус черным сделать, попробовать его пленкой для тонировки стекол заклеить.
Нашел кусок программы отвечающий за цифры в файле display.h
code u8 num_font1[]={
0x3E,0x51,0x45,0x3E,//«0»
0x00,0x21,0x7F,0x01,//«1»
0x23,0x45,0x49,0x31,//«2»
0x22,0x49,0x59,0x2E,//«3»
0x0C,0x14,0x24,0x7F,//«4»
0x72,0x51,0x51,0x4E,//«5»
0x0E,0x19,0x29,0x46,//«6»
0x40,0x4F,0x50,0x60,//«7»
0x36,0x49,0x49,0x36,//«8»
0x32,0x49,0x49,0x3E,//«9»
0x00,0x36,0x36,0x00,//"::"
0x00,0x08,0x08,0x00,//"--"
0x70,0x50,0x70,0x00,0x1C,0x3E,0x63,0x63,0x63,0x22,0x00,//"ЎгC"
};
Интересно можно сделать несколько шрифтов и в этих часах и менять их в меню? Перерисовать на другой шрифт имеющийся, думаю можно.
Устанавливал прошивки, все нормально работает.
Чтобы редактировать программу самому не хватает одного файла STC15.H, все остальное есть в прошивке выложенной китайцами или еще какие файлы нужны? Где взять этот файл? Искать в интернете?
Еще можно перевести на русский пункты меню часов (время, дата, будильник, вкл и выкл в будильнике) и попробовать сделать другой шрифт цифр. Смену шрифтов в меню часов можно и не делать просто прошивать часы другой прошивкой с другим шрифтом. Я оставил прошивку с жирным шрифтом дней недели, остальные прошивки добавил в обзор. Если кому нравится тонкий шрифт, можно поставить прошивку с тонким шрифтом дней недели.
Всю поддержку STC в Keil добавляет STC-ISP вкладка «Keil ICE Settings» кнопка «Add MCU type to Keil...»
У меня установлен c51v956, проект я сам создавал, тк экспорт родного не прошел удачно.
Пункты меню нормально не перевести, сложно не сокращая красиво написать «время» в 22 точки шириной, да и смысл они вроде интуитивно понятны.
Вы на банггуде со скидкой успели купить или в каком другом месте покупали. На банггуд этой модели часов больше нет в продаже, в других местах по такой цене больше найти не могу, все дороже находится. Модель эта более редкая, плюс, что можно сделать свою прошивку на родном языке, минус, что нужно прошивать часы, это некоторых отпугивает, желающих купить эту модель часов меньше, чем другие модели часов конструкторов.
Не подскажите как «зоут» индикатор синего цвета для этого набора...? С краним уже есть, выписал еще один… Но тоже с красным… Хотелось бы с другим цветом матрицы…
У меня только модель с красным индикатором, как точно название с синим не знаю? По моему цвет обозначается буквами, цифрами размер. Пытаться в поиске вводить только цифры возможно найдется и синий цвет индикатора.
Спасибо за прошивку clock-1.rar… отлично работает… Но вот только с праздничками интересно… там они все китайские?
кстати синяя матрица маркируется буквами BB…
Это более старая версия прошивки, есть прошивка с русскими праздниками, вместо китайских, на момент написания обзора ее еще не было. там еще была проблема с температурой, значения прыгали при 26 градусах и выше.
Имеются некоторые дополнения к прошивке v0tang OldDIYClock[18.432].hex от 10.09.2017 для первой версии часов. Подробности и ссылки в комментариях в теме v0tang.
Прочитал, они часы еще доработали, добавили датчики. У меня есть такая модель часов, но пока некогда ими заниматься. Будет время попробую доработать часы.
Датчики не обязательно добавлять. Прошивка будет работать и без них, со всеми изменениями, о которых я писал, и с таймером. Все, что нужно — это просто прошить часы с этой прошивкой. Кроме того, я запитываю часы от аккумулятора 18650 на 3400mAh, который вместе с держателем удобно располагается внизу часов между пластинами. В верхней части без проблем можно разместить плату повышения напряжения до 5 вольт и плату подзарядки на чипе TP4056 с micro USB и защитой, к которой подсоединяется аккумулятор и нагрузка, т.е. повышающая плата, а от нее 5V к часам, например, к ножкам IN и GND стабилизатора на 3.3V. Получается компактная конструкция. Аккумулятора хватает как минимум на двое суток.
Вот этот участок кода считывает информацию с датчика:
Немного его поправил для читаемости и добавил комментарии:
Может наведет вас на мысль как скорректировать температуру
tempbindata=tempbindata*0.0625-1 так как часы завышают температуру на 1 градус, показания на дисплее должны снизиться на 1. Тогда температура будет отображаться правильно.
Это правильное решение?
Больше склоняюсь к тому, что tmp — это вывод температуры. Я бы после tmp дописал, tmp = tmp — 1; (не забыть поставить точку с запятой)
Но и ваш вариант верный, т.к. в любом случае значение попадет в tmp )))
Предположительно, должно сработать.
По поводу отрицательной температуры я скорее всего погорячился. думаю DQ = 0 и DQ = 1 — это и есть выбор знака + или — .
PS если кому-то попадутся программируемые часы на stm32, дайте знать!
другое дело что у этого производителя красный и синий (мне синий не вызывает уныние)
ну или
читайте хабр)
но готовых наборов таких нет…
Вот скриншот этой программы
Русскую прошивку от китайцев ждать не стоит, надежда только на русских программистов.
Что русифицировать собрались?
Я вот только в заводской прошивке не нашел блок отображения даты, дня недели и тем более праздников. Или они вынесены в отдельные блоки? Словами там наверное ничего не будет, если день недели отображается картинкой, то там будет набор букв и цифр, как в примере с картинкой в комментарии выше.
В display.h поищите pic_mon pic_tues pic_wed pic_thur pic_fri pic_sat pic_sun это «картинки» дней недели.
Для исправления даты в lcd_clock.c в вызове buf_data(21,t_month,t_day); нужно t_month и t_day поменять местами.
Праздники русифицировать не сложно. тк они также «картинки». просто нарисовать свои и даты поменять немного.
попробуйте эту прошивку.
Насчет литературы, даже не знаю что посоветовать.
Кстати в заводской прошивке перед выводом температуры от ее значения почему то отнимается 5
В этой прошивке какие изменения?
больше никаких изменений в «заводскую прошивку на языке Си» не вносил
После прошивки часов время и дата не сбросилась видимо потому что эти данные главный контроллер получает от микросхемы отсчета времени. Пробовал прошить обратно на английскую версию прошивки все встало как было. Второй раз прошил на русскую прошивку все стало по русски.
-1 градус: drive.google.com/open?id=0BzKkyzBw7bR3aFNZaDA4dC1Za0E
отображение даты по русски, стоит 2 июня (новая русская прошивка)
Нашел кусок программы отвечающий за цифры в файле display.h
code u8 num_font1[]={
0x3E,0x51,0x45,0x3E,//«0»
0x00,0x21,0x7F,0x01,//«1»
0x23,0x45,0x49,0x31,//«2»
0x22,0x49,0x59,0x2E,//«3»
0x0C,0x14,0x24,0x7F,//«4»
0x72,0x51,0x51,0x4E,//«5»
0x0E,0x19,0x29,0x46,//«6»
0x40,0x4F,0x50,0x60,//«7»
0x36,0x49,0x49,0x36,//«8»
0x32,0x49,0x49,0x3E,//«9»
0x00,0x36,0x36,0x00,//"::"
0x00,0x08,0x08,0x00,//"--"
0x70,0x50,0x70,0x00,0x1C,0x3E,0x63,0x63,0x63,0x22,0x00,//"ЎгC"
};
Интересно можно сделать несколько шрифтов и в этих часах и менять их в меню? Перерисовать на другой шрифт имеющийся, думаю можно.
«жирные» дни недели
drive.google.com/open?id=0BzKkyzBw7bR3RE5NUFYzS1dTckk
-1 drive.google.com/open?id=0BzKkyzBw7bR3UjBrcW5BdE0yR1k
Чтобы редактировать программу самому не хватает одного файла STC15.H, все остальное есть в прошивке выложенной китайцами или еще какие файлы нужны? Где взять этот файл? Искать в интернете?
Еще можно перевести на русский пункты меню часов (время, дата, будильник, вкл и выкл в будильнике) и попробовать сделать другой шрифт цифр. Смену шрифтов в меню часов можно и не делать просто прошивать часы другой прошивкой с другим шрифтом. Я оставил прошивку с жирным шрифтом дней недели, остальные прошивки добавил в обзор. Если кому нравится тонкий шрифт, можно поставить прошивку с тонким шрифтом дней недели.
У меня установлен c51v956, проект я сам создавал, тк экспорт родного не прошел удачно.
Пункты меню нормально не перевести, сложно не сокращая красиво написать «время» в 22 точки шириной, да и смысл они вроде интуитивно понятны.
Уж лучше «time»
Кстати, тут можно позаимствовать написание «Я» перевернув R. Они не парятся с «пробелом» :)
кстати синяя матрица маркируется буквами BB…