Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

Re: Часы на светодиодных матрицах с драйверами MAX7219

Пн май 04, 2015 21:26:14

Изображение
По-бырому снял 328, поставил 8А. Пршился крайней прошивкой с большими цифрами.
Ну что могу сказать...Браво!!! Работает почти все (бузер и датчик температуры не впаивал еще), кроме кнопок :( Не могу войти в меню.
У Вас по схеме на кнопки 15, 16, 17 ноги меги идут, а в JY-MCU 3208pro 9, 10, 11 и нет подтягивающих резисторов на "+". Датчики температуры у вас "висят" как раз на 10-й ноге, а бузер на 9-й. Тут же под бузер свободна 23 нога, а под DS18B20 отведена, если не ошибаюсь-24-я. Можно ли это как-то подправить в вашей прошивке?
Надо бы еще поправить цифры "8" и "9", а то "кривые" получились...
Нельзя ли убрать незначащий "0". Что бы было не 00:11 или 01;25, а 0:11 или 1:25?
Вложения
3208clock_DS3231.pdf
Схема JY-MCU 3208pro
(27.86 KiB) Скачиваний: 795

Re: Часы на светодиодных матрицах с драйверами MAX7219

Вт май 05, 2015 06:04:59

Кнопки идут на PD5-PD7 (9..11). Датчик температуры на PC1 (24). Буззер на PC0 (23). Это разводка JY-MCU 3208pro, под которую и собрана прошивка. Всё работает, в том числе и кнопки (буззер не впаивал, нет посадочного места, а на проводках не хочется пока). Смотрите pins.h.

Обновление прошивки.

- Текстовые строки перенесены в файл EEPROM.
- Оптимизация и уменьшение размера кода.

Пока имеются русскоязычный и англоязычный варианты eeprom, но теперь легко сделать варианты для других языков. Смена прошивки при этом не требуется, разве что для добавления в шрифт отсутствующих символов.
Вложения
matrixclock-8b17f93.7z
(13.68 KiB) Скачиваний: 639

Re: Часы на светодиодных матрицах с драйверами MAX7219

Вт май 05, 2015 12:21:37

Заработало меню. Я вчера просто fuse прошил не правильно :( , под вечер голова уже не работала.
Покрутил сегодня на свежую голову. Прошу поправить в прошивке с большими цифрами цифру "8" (не хватает одного пикселя справа внизу) и цифру "9"(поднять вверх на один пиксель пиксель в завитке, как в "3" или "5").
Изображение
Буква "с"малая -я не понял, так надо или тоже недорисовка?
Заметил следующие недочеты: в меню, после установки года почти всегда не возможно выйти из меню нажатием кнопок, можно только через отключение питания. :(
В меню установки будильника тоже артефакты с правой цифрой.
Изображение
Запятая после дня недели-так надо? Расстояние между днем недели и числом великовато-мне кажется.

Хотел спросить, а где можно посмотреть блок-схему структуры меню? Интуитивно не все пункты меню понятны :(

P.S. Не сочтите за наглость :lol: Хотелось бы еще добавить вот такой пиксель в цифру "5"
Изображение

Re: Часы на светодиодных матрицах с драйверами MAX7219

Вт май 05, 2015 15:19:49

Обновление прошивки.

- В основную ветку добавлена возможность cборки для ATmega88/168/328
- Чуть лучше прорисованы экраны.
- Улучшена обработка нажатий кнопок.

По поводу "больших" цифр - как я уже сказал, мне не нравится, как они выглядят вживую на матрицах. Поэтому отвлекаться ещё и на на ковыряние в шрифте ради якобы улучшений я не хочу. Там и без того хватает, что улучшать и оптимизировать. Тем более, что это не программирование, а так.. возня. Если интересно - собирайте прошивку из исходников, правя под себя. Благо, сейчас, после переноса текстовых строк в EEPROM, это стало много проще.
Вложения
matrixclock-66ab725.7z
(26.96 KiB) Скачиваний: 693

Re: Часы на светодиодных матрицах с драйверами MAX7219

Вт май 05, 2015 15:56:07

Если бы я мог сам сделать, я б Вас не просил.
Да я собственно-то многого и не прошу. Поправить три цифры в шрифте, поправить артефакты в меню будильника и поправить выход из меню после установки года и будет нормальная прошивка. Чего работу бросать почти доделав?
Почти все остальное меня устраивает :) Думаю, прошивка будет иметь успех. В свое время, в параллельной ветке у VVSV аналогичный шрифт выпросили на прошивку другого автора, где был шрифт аналогичный вашему. Пятый шрифт в том проекте стал "дефолтовым" и самым популярным.
Выложенная в крайнем вашем сообщении прошивка-с "большим" шрифтом?

В любом случае-спасибо за проделанную работу :)

Re: Часы на светодиодных матрицах с драйверами MAX7219

Вт май 05, 2015 21:12:36

Обновление прошивки.

- Добавлена поддержка пользовательского шрифта для цифр на главном экране (часов) в EEPROM.

В eeprom по смещению 0x1C0 можно любым шестнадцатеричным редактором прописать 50 байт (для цифр 0..9, по 5 пикселов ширина каждой) своего шрифта. Шрифт будет применяться только на главном экране (будильник и прочие экраны будут использовать встроенный шрифт шириной 4 пиксела).

Для переключения между встроенным и пользовательским шрифтом - длительное одновременное нажатие кнопок 2 и 3.

По умолчанию в EEPROM мною положен чуть изменённый шрифт №5 с вышеупомянутой картинки.

Принцип формирования шрифта:
Вложения
matrixclock-0070eed.7z
(26.7 KiB) Скачиваний: 581

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 06:46:18

Доброе утро WiseLord.

Собираюсь повторить эту конструкцию, пока жду детали с Ebay.

Есть ли в Ваших планах:
ввести датчик измерения барометрического давления ?
сделать один канал измерения температуры по радиоканалу ?

Тем более сейчас при применении предлагаемой линейки МК
функциональность можно изменять в широких пределах.

Удачи.

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 09:32:53

WiseLord, крайняя прошивка-именно то, что я хотел :))
Спасибо!!! Очень оригинальное решение проблемы :)
Возможно ли как-то сделать, что бы число, год и показания температуры тоже отражались "большими" цифрами?
У меня несколько вопросов к Вам:
1. Сравнивали ли Вы показания датчика 18В20 с эталонным термометром? У меня датчик вынесен на проводах (нагрев от платы практически отсутствует, датчик из Китая. Вне зависимости от партии все (купил более 15 шт.) врут на +1,3- +1,4гр. С. И писали, что эта проблема у многих с китайскими датчиками. Согласитесь, что 18.7 С и 20-20.1 С в комнате-не совсем одно и то же :) Как бы скорректировать показания датчика? В параллельной ветке, на одной из новых прошивок в меню введена ручная коррекция температуры, в "+" или "-".

2. Какой тип бузера Вы использовали? Маркировку или ссылку дайте пожалуйста.

3. Сколько шрифтов можно впихнуть в eeprom ATmega8, на сколько места хватит?

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

5. Как сделать "переворот" четырехматричной платы не придумали?

6.Не хотите ли реализовать "сигнал каждый час" при смене часа с 7:00 до 23:00?

7.В качестве развития проекта можно пожелать "прикрутить" датчики освещенности, давления, влажности, датчик температуры по радиоканалу, звуковой модуль, воспроизводящий мелодии будильника с SD-карты... :))

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 10:33:28

Обновление прошивки.

- Возвращена возможность разворота экрана на 180 градусов (одновременное нажатие всех трёх кнопок с удержанием).

- Убрана ATmega88 из скрипта пакетной сборки. Преимуществ над ATmega8 у неё особых нет, а код получается больше по размеру.

- Период опроса температуры изменён с 1 секунды до 5 секунд.


По вопросам:

1. Не сравнивал. Повышенные значения температуры могут быть связаны с саморазогревом датчика. В часах он опрашивался раз в секунду, т.е. работал практически постоянно. Сейчас я увеличил период до 5 секунд - проверьте, возможно, поможет. Если что, можно увеличить и сильнее, всё-таки температура меняется медленно, и особого смысла слишком часто её обновлять нет. Просто хочется сразу после включения часов иметь значения температуры как можно быстрее.

Ручную коррекцию показаний вводить не хочу, это не решение, а костыль. Если не ошибаюсь, у DS18x20 есть регистры в EEPROM, куда можно записать индивидуальное значение коррекции для него. Но этот вопрос нужно изучать.

2. Какой-то активный буззер. Подашь напряжение - пищит (сам по себе, внешний генератор не нужен). Брал здесь с год назад.

3. 10 цифр по 5 пикселов шириной = 50 байт. EEPROM размером 512 байт, но там ещё и все текстовые метки лежат. Так что большой шрифт будет только один, хотите другой - меняйте сами в EEPROM hex-редактором.

4. Позже попробую сделаю над секундами - и в режиме больших цифр, и в режиме обычных.

5. Уже сделано

6. Надо подумать. Идея неплохая.

7. Датчики давления (платка с BMP180) уже заказаны из Китая, попробую добавить. Насчёт остального пока не буду загадывать.

Проблема в том, что память ATmega8 уже забита под завязку, и добавление новых функций затруднено. По-хорошему, надо код оптимизировать, чтобы все "хотелки" влезли. Переходить на более жирный контроллер, выбрасывая поддержку того, с которого проект начинался, не хочется.
Вложения
matrixclock-e670ae8.7z
(22.17 KiB) Скачиваний: 577

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 14:58:04

WiseLord, подскажите пожалуйста, как eeprom поменять надписи на свои.

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 15:16:50

Выше я писал, как менять шрифт часов с помощью hex-редактора (типа WinHex или что там под винду бывает ещё).

Аналогично меняются и текстовые надписи. Все они в EEPROM идут, начиня с со смещения 0x40, последовательность - согласно eeprom.h. Каждая строка отделена от другой нулевым (0x00) байтом. Коды символов, вписываемые в файл eeprom, смотрим в файле font-ks0066-ru-08.c. Все эти файлы я вкладываю в каждый архив с прошивками.

Во вложении очередное обновление с исправлениями мелких багов, найденных мною.
Вложения
matrixclock-bedc5f4.7z
(56.04 KiB) Скачиваний: 521

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 17:51:12

WiseLord, спасибо, работает :) Перевернул плату под правую руку.
При перевороте переназначение кнопок не хотите сделать? Чтобы меню так и оставалось на верхнейкнопке.
Хотелось бы еще попросить , если не очень сложно, сделать шрифт даты, года и температуры тот, которым на данный момент отображаются цифры часов и минут. В меню пусть остается тонкий.

Не хотите ли сделать "поминальник-поздравлялку"-когда на конкретный день назначается текст сообщения типа : "С Новым годом", "С днем победы", "С днем рождения"?
Правда, на mega8 скорее всего не получится, надо переходить на 328...
Можно конечно освободить часть памяти. Зачем назначать яркость дисплея на каждый час? Можно назначать всего дважды на сутки, со стольки-то до стольки-такая, а ночью со стольки-то до стольки другая. А если есть свободная нога, то можно поставить датчик освещения на фоторезисторе. VVSV в прошивке для JY-MCU 3208pro вешал его на 22 ногу.
Можно сделать "динамику" температуры. Стрелка на дисплее вверх или низ после показания температуры-если произошло изменение более чем на 0.5 С за 10мин (или другой промежуток времени).

Re: Часы на светодиодных матрицах с драйверами MAX7219

Ср май 06, 2015 19:29:37

WiseLord писал(а):...с помощью hex-редактора (типа WinHex или что там под винду бывает ещё).

GNU Midnight Commander - наше все :wink:

WiseLord писал(а):Аналогично меняются и текстовые надписи. Все они в EEPROM идут, начиня с со смещения 0x40, последовательность - согласно eeprom.h. Каждая строка отделена от другой нулевым (0x00) байтом. Коды символов, вписываемые в файл eeprom, смотрим в файле font-ks0066-ru-08.c. Все эти файлы я вкладываю в каждый архив с прошивками.

Спасибо! Все получилось.

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 08:48:28

Здравствуйте WiseLord.

Извините что не по теме.
Нашёл Ваши другие конструкции. Скриншот прилагаю.
Где можно ознакомится с ними (схема, прошивка, характеристики), интересует вольтметр, термометр,
или это только программное обеспечение .
Вложения
WiseLord.png
(114.9 KiB) Скачиваний: 834

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 10:33:31

Это маленькие (плата в размер трёхразрядного семисегментного индикатора) вольтметр (0..25.5В) и термометр (DS18B20) на ATmega8. Делал когда-то давно для себя, ничего особенного в них нет.

Изображение Изображение

Планировалось для установки в авто. Вольтметр питается от бортовой сети, её же напряжение и индицирует. Термометр питается аналогично, отображает температуру вынесенного на проводе датчика.

Схем как таковых нет, но вроде бы где-то валялись печатки в формате SprintLayout. Ну и по исходникам можно понять, что куда подключено.

В общем, на полноценные конструкции не тянет, просто я там на GitHub складываю разные свои самописные библиотеки, которые потом в своих конструкциях использую.

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 13:04:59

Ухты, сколько здесь уже всего нового! 3 дня не заходил, а здесь уже столько обновлений. Спасибо WiseLord, что не остаётесь равнодушны к нашим просьбам. Последняя прошивка очень радует. Не успеваю за Вами вносить свои косметические изменения в прошивки. Так же поддерживаю просьбу сделать ежечасный звуковой сигнал из двух бипов с 8 до 22ч., с возможностью изменения диапазона времени в прошивке. И тоже хотелось бы барометр, хотя бы и для более жирной меги.
Хочу спросить у vadpi, а с чем Вы сравниваете показания своих термодатчиков, что решили что они врут? Года три назад, когда начал осваивать мк, первой конструкцией был термометр с датчиком DS18B20. Коллега по работе специально приносил метеорологический ртутный термометр с ценой деления 0,1 градус. Так вот расхождение с этим термометром было в пределах 0,1-0,2 градуса, причём у трех разных датчиков, все заказывались в Китае. Сейчас вот собрал в кучку датчики с трёх часов и того термометра, всего 6 датчиков, расхождение между ними максимум 0.4 градуса, притом ,что датчики часов от WiseLord воткнуты прямо в макетку. Так что тоже считаю, что коррекция не нужна.
И ещё по косметическим улучшениям, (может они и Вам понравятся) - добавить букву "г." после года и знак "+" перед температурой при её положительном значении ( минус выводиться, я проверил), а знак Цельсия "С" можно и убрать ( я убираю). Всё это, конечно чисто мои хотелки, которые я уже вношу в третью прошивку.

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 13:09:15

Ежечасный сигнал вчера сделал, просто прошивку пока не выкладывал.

С датчиками давления - как доедут из Китая, так и займусь.

P.S. Ещё одно обновление.

- Кодировка шрифта изменена на CP1251.

Теперь править EEPROM стало проще - все текстовые метки отображаются в некодированном виде.

- Добавлена белорусская локализация.

Также в шрифте я дорисовал символы украинского алфавита, если кому-то не лень - может перевести текстовые метки, я добавлю переведённый файл eeprom_ua.bin в основную ветку.

P.P.S. И ещё одно обновление.

- Оптимизация размеров кода.

- Исправлена свежая ошибка, когда каждый новый час яркость не менялась.

- Укорочен до двух коротких импульсов ежечасный сигнал (кукушка).

- Время действия "кукушки" зависит от установленного времени будильника.

Например, будильник установлен на 7:00 - "кукушка" будет срабатывать от 8 до 23 часов. Для реализации отдельного меню не хватает места в контроллере, поэтому пока вот такая привязка к будильнику. При этом не важно, по каким дням недели стоит будильник - кукушка работает ежедневно.
Вложения
matrixclock-12359a9.7z
(24.51 KiB) Скачиваний: 561

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 20:38:24

Вот мой перевод на украинский.
Вложения
matrixclock_ua.7z
(406 байт) Скачиваний: 402

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 21:32:34

Здравствуйте WiseLord!
Если я правильно понял отключить кукушку можно только отключив будильник или как?
Так же у меня перестала меняться яркость при изменении часов. Вы пишите что свежая ошибка устранена но яркость цифр одинаковая. Может что то у меня не так?
Такое изменение яркости меня устраивало.
Прошивка от 07, 2015 14:09:15
Спасибо за часики давно хотел собрать подобные
И еще вопрос -у меня ни на одной прошивке не получилось тремя кнопками перевернуть на 180 изображение. Не подскажитете куда копать? Правда мега была выпаяна с других часов когда они упорно не хотели запускаться(причина оказалась в другом) но эти часы пошли с пол оборота за исключением поворота. И хотя поворот для меня вещь не самая необходимая но понять причину хочется.

Re: Часы на светодиодных матрицах с драйверами MAX7219

Чт май 07, 2015 22:37:12

Kuzma511 писал(а):у меня ни на одной прошивке не получилось тремя кнопками перевернуть на 180 изображение. Не подскажите куда копать?

Все 3-и кнопки по отдельности выполняют свои функции?
Попробуйте стереть микроконтроллер (flash+eeprom) и по-новому запрограммировать...
Ответить