Например TDA7294

Форум РадиоКот • Просмотр темы - Часы на светодиодных матрицах с драйверами MAX7219
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 12:39:35

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1838 ]     ... , , , 7, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 16:20:02 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 119
Зарегистрирован: Пн фев 23, 2015 21:17:29
Сообщений: 613
Откуда: г. Протвино, МО
Рейтинг сообщения: 0
А есть ли настройки скорости бегущей строки, интервала ее запуска? Что выводить или нет. Вот год как бы и не нужен.

Будет ли поддержка датчика света, влажности и давления?
В применении к китайской плате.

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

Ну и классно было бы всякие памятные даты добавить. Как в СуперКлок.

А так все работает. Спасибо.


Последний раз редактировалось shura2000 Пт май 29, 2015 16:38:45, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 16:37:11 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
Присоединяюсь к предыдущему вопросу. Хотелось бы датчик давления bmp085 и влажности типа dht22. Автоматическое изменение яркости вроде как и не особо нужно. У меня кучка часов и на них только ручная регулировка, вполне хватает))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 16:42:44 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
shura2000 писал(а):

Ну и классно было бы всякие памятные даты добавить. Как СуперКлок.

А так все работает. Спасибо.

Мне кажется что для памятных дат надо вводить поддержку флэшки и добавлять даты в файл на флэшку с компа. Я собирал себе wise clock 3 на двухцветной матрице 32*16. Там правда мега помощнее стоит.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 16:44:47 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 119
Зарегистрирован: Пн фев 23, 2015 21:17:29
Сообщений: 613
Откуда: г. Протвино, МО
Рейтинг сообщения: 0
С флешкой сложно будет. Проще в коде поправить будет.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 16:51:37 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
Если текст писать в код, то не будет возможности его редактировать.. Хотя если часы для себя, то можно и поредактировать. Кстати вроде порты RX TX свободы на китайской плате, можно GPS модуль прикрутить и синхронизировать часы по сигналу со спутника. Я так делал, когда лень было добавлять кнопки и меню настройки часов. Нажал кнопку и время выставилось, главное чтоб спутники поймал приемник.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 18:35:07 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 1
shura2000 писал(а):
можно ли сделать так чтобы когда меняются две или больше соседние цифры, они менялись не одновременно, а с некоторой задержкой относительно друг друга. Типа волны. Или люфта в механическом спидометре.
Это электронные часы, в них люфта нет :). На самом деле, это довольно сложно реализовать. Много кода ради фактически ненужной функции.
shura2000 писал(а):
Будет ли поддержка датчика света, влажности и давления?
BMP180 из Китая уже прибыли, DHT22 только-только заказаны. В любом случае, у меня эти датчики будут только через пару недель. Но попытаюсь реализовать хотя бы BMP180, так как I²C-протокол в проекте уже реализован, и добавление пары функций для снятия данных не должно сильно увеличить размер прошивки. А вот DHT22 уже по своему собственному протоколу работает, так что сомневаюсь, что в ATmega8 его реализация влезет. А переходить на МК пожирнее мне пока не хочется.
shura2000 писал(а):
А есть ли настройки скорости бегущей строки, интервала ее запуска? Что выводить или нет. Вот год как бы и не нужен.
Только если в исходниках править. Ничего сложного. Пробуйте.
shura2000 писал(а):
Ну и классно было бы всякие памятные даты добавить.
Тогда нужно либо поддержку флешки + FAT реализовывать, либо ту же I²C EEPROM дополнительно подключать. Кстати, на китайских часовых модулях (как DS1307, так и DS3231) они уже есть. Плюс какая-то программа, позволяющая сформировать соответствующий файл EEPROM. В общем, возни много, и для ATmega8 тоже слишком сложно.

В общем реализовывать планирую (если получится): BMP180 (почти наверняка), DHT22 (уже сомнительно, что влезет), фотодатчик (кстати, подскажите, какой можно использовать). Но нескоро, ничего из этого у меня на руках пока нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 18:39:37 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 119
Зарегистрирован: Пн фев 23, 2015 21:17:29
Сообщений: 613
Откуда: г. Протвино, МО
Рейтинг сообщения: 0
Такой например http://www.ebay.com/itm/20Pcs-Photo-Lig ... 1e79e89726


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 20:59:21 
Открыл глаза

Зарегистрирован: Вт май 06, 2014 00:53:29
Сообщений: 57
Откуда: Воронеж
Рейтинг сообщения: 0
WiseLord писал(а):
Я в каждый архив с прошивками кладу файл eeprom.h, чтобы такие вопросы не задавали даже те, кто ленится скачать исходники целиком, но не помогает...

А с помощью какой программы его открывать?
Сделать плату, впаять элементы, сделать корпус-для меня не проблема, а вот в программирование я полный "0" :cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 21:22:30 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 119
Зарегистрирован: Пн фев 23, 2015 21:17:29
Сообщений: 613
Откуда: г. Протвино, МО
Рейтинг сообщения: 0
Можно поменять местами "в комнате" и температуру. А то цифры быстро проскакивают и успеваем прочитать только "в комнате".
И слегка уменьшите скорость скролинга.
Или еще лучше сделать регулируемые параметры.
Сам бы сделал, но полный чайник. А в чужом коде разбираться очень сложно. Да еще и без русских коментов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 21:42:20 
Первый раз сказал Мяу!

Зарегистрирован: Вс янв 11, 2015 11:08:49
Сообщений: 27
Рейтинг сообщения: 0
Вопрос к уважаемому WiseLord. А как программа различает датчики температуры? У меня на двух вариантах часов правильное определение, а на третьем почему то наоборот )))). Версия с украинскими сообщениями.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Пт май 29, 2015 23:13:11 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
vadpi писал(а):
WiseLord писал(а):
Я в каждый архив с прошивками кладу файл eeprom.h, чтобы такие вопросы не задавали даже те, кто ленится скачать исходники целиком, но не помогает...

А с помощью какой программы его открывать?
:

Под виндой winhex откроет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Сб май 30, 2015 03:37:48 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
vadpi писал(а):
А с помощью какой программы его открывать?
Это обычный текстовый файл. Любым текстовым редактором можно открыть (во времена пользования windows я notepad++ использовал). Любым, кроме стандартного блокнота, который не умеет нормально открывать текстовые файлы. В eeprom.h прописаны адреса всех параметров, по которым уже hex-редактором в файле eepbom_<lanb>.bin можно поменять нужные параметры.
Stail564 писал(а):
А как программа различает датчики температуры?
У каждого из датчиков есть свой уникальный номер, прошитый на заводе при изготовлении. Программа осуществляет поиск всех датчиков на шине и выстраивает их "по алфавиту": датчик с меньшим номером - это всегда комнатный, с большим - наружный. Поэтому либо меняйте сами датчики местами (проще всего), либо в eeprom.bin поменяйте местами текстовые метки для них (тогда первой будет выводится наружная температура). Либо в коде поменять порядок вывода.
shura2000 писал(а):
А в чужом коде разбираться очень сложно. Да еще и без русских коментов.
Правильно выбранные имена функций и переменных вполне сами по себе способны заменить комментарии. Та же функция вывода строки температуры:
Спойлер
Код:
static void loadTempString(void)
{
   uint8_t i;

   for (i = 0; i < getDevCount(); i++) {
      if (i > 0)
         matrixLoadString(", ");
      matrixLoadString(mkNumberString(ds18x20GetTemp(i), 4, 1, ' '));
      matrixLoadStringEeprom(txtLabels[LABEL_DEGREE]);
      matrixLoadStringEeprom(txtLabels[LABEL_TEMP1 + i]);

   }

   return;
}
Не нужно быть гением в программировании, чтобы понять, что здесь происходит. И комментарии в стиле (a = 3; // Присваиваем a значение 3) здесь абсолютно излишни. Ну и не на русском же языке их писать, в самом деле.

P.S. Кстати, возможно, кому-то покажется интересной следующая информация. Термодатчики в проекте можно подключать двумя способами:

1. Обычное питание (как на схеме в статье) - 1 вывод на земле 3 вывод на питании, 2 вывод является входом/выходом датчика и подключается к МК, при этом нужен 4.7кОм подтягивающий резистор с неё на питание.

2. Паразитное питание - всё точно так же, только 3 вывод не на питании, а тоже на земле. В этом случае для подключения внешнего датчика достаточно двух проводов - земля и сигнал/питание.

Никаких изменений в коде не нужно, оба варианта должны работать одновременно.

P.P.S. Небольшое обновление прошивки. Новых функций нет, только оптимизации кода (уменьшен на ~200 байт размер прошивки). В ближайшие дни буду ещё заниматься оптимизацией кода, чтобы освободить место в прошивке для датчиков давления/влажности/освещённости.


Вложения:
matrixclock-0d0ddf0.7z [28 KiB]
Скачиваний: 299
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Сб май 30, 2015 11:34:22 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
все отлично работает. тыкните мне где поправить скорость скроллинга строки. а то на 16 МГЦ на меге328 строка пролетает так что не заметишь. ну и еще покажите где поправить скорость эффекта разлетания цифр.
скорость строки подрегулировал _delay_ms(50) вписал в процедуру скроллинга. хотя мож как-то по-другому можно, а не через этот костыль?
UPD: появился глюк - выводится бегущей строкой дата, затем появляется время на доли секунды и опять пропадает разлетанием и снова выводится бегущей строкой дата... со строкой температуры то же самое..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Сб май 30, 2015 12:41:03 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
https://github.com/WiseLord/matrixclock ... #L244-L280
Здесь настраивается аппаратный таймер для прокрутки строки. Устанавливается максимально возможный делитель 1024. На 8МГц это даёт 8000000/1024/256 = 30 герц. Итого, (вторая функция) сдвиг происходит 30 раз в секунду. В Вашем случае, на 16 МГц - вдвое быстрее.

Попробовать уменьшить скорость прокрутки вдвое можно, например, производя сдвиг не каждое прерывание, а с пропусками. Можно переписать обработчик прерывания ISR (TIMER2_OVF_vect) как-то так:
Код:
if (scrollMode) {
    int8_t i;
   
    static uint8_t a;
    if (++a >= 3
        a = 0;   

    if (a == 0) {
        for ... {
            ...
        }
    }
}

То есть переменная a крутится по кругу -0-1-2-0-1-2-, а сдвиг происходит лишь каждый третий раз (при a равном нулю).

Задержка эффекта смены цифр (и эффекта разлетания) производится в том же файле, в функции matrixSwitchBuf(). По умолчанию каждый сдвиг из всего восьми происходит через 20мс. Можно просто увеличить это число (для всех эффектов), а можно для конкретного эффекта рядом с этой задержкой добавить что-то вроде if (effect == MATRIX_EFFECT_SCROLL_BOTH) _delay_ms(10);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Сб май 30, 2015 13:50:42 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
ок. сейчас попробую. а то delay на 45мс в обработчике прерывания как-то не так смотрится. а предделитель уже на максимуме и так стоит 1024.
UPD: все заработало. спасибо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Сб май 30, 2015 21:40:25 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Обновление прошивки.

- Вместо вычитывания уровня яркости для каждого часа сейчас он рассчитывается по формуле.

- Добавлена поддержка фоторезистора для измерения уровня яркости в зависимости от внешнего освещения.

- В настройках сейчас задаётся только максимальный (для 13..15 часов) уровень яркости, используемый в случае отсутствия фоторезистора.


Это сегодня я выбрался в магазин радиодеталей и купил-таки фоторезисторы. У меня используется MJ3516, но должен подойти любой подобный, с сопротивлением в освещённом состоянии 5..10 кОм.

Фоторезистор подключается между питанием и соответствующим выводом. Для варианта на HT1632 используется вывод ADC7, для варианта на MAX7219 - вывод PC0(ADC0). Между этим же выводом и землей подключаем резистор 10кОм.

Ещё хорошо бы зашунтировать фоторезистор обычным резистором на 1МОм в параллель, иначе при очень низкой освещённости у фоторезистора сопротивление составляет несколько мегаом, и система может воспринять это как отсутствие фоторезистора вообще (АЦП при измерении получит значение 0, из-за наличия постоянного резистора 10кОм).

В общем, схему лучше всего доработать так:
1. Ставим резистор 10кОм между входом АЦП и землей.
2. В случае использования датчика освещённости ставим его и параллельно ему резистор 1МОм между входом АЦП и питанием.
3. Между выводом AREF и землей ставим конденсатор 0.1мкФ (на китайской плате с HT1632 (вариант PRO) он уже установлен).

Из дополнительных приятностей - вследствие выбрасываня кода почасовой настройки яркости прошивка "похудела" ещё на ~150 байт, несмотря на увеличение функционала. Так что шансы добавления поддержки BMP180/DHT22 увеличиваются.


Вложения:
matrixclock-0db99e8.7z [27.35 KiB]
Скачиваний: 365
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Сб май 30, 2015 22:48:23 
Прорезались зубы
Аватар пользователя

Карма: 6
Рейтинг сообщений: 35
Зарегистрирован: Чт янв 13, 2011 18:54:29
Сообщений: 222
Откуда: Минск
Рейтинг сообщения: 1
Плата часов для подключения готовых китайских модулей на соик MAX7219 и плата кнопок с датчиком температуры. Может кому пригодится


Вложения:
klock.zip [18.54 KiB]
Скачиваний: 589

_________________
DSO138 https://yadi.sk/d/5hsneQsyLTNaZA
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вс май 31, 2015 15:27:44 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
хм.. только заметил что дни недели отстают на один, т.е. вместо воскресенья суббота и т.д.
это только у меня так или глюк? настроек дня недели че-то в меню не нашел да и в ds-ке вроде календарь встроенный..
UPD: поправил в eeprom текст. теперь нормально выводятся дни недели.
файлы с расширением bin че-то не добавляются на сайт. просто смените на zip на bin. это не архив я выложил


Вложения:
matrixclock.zip [512 байт]
Скачиваний: 649
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вс май 31, 2015 17:52:14 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Нужно было просто настроить дату еще раз, чтобы день недели пересчитался заново. А так Вы просто создали eeprom.bin, годный только для Вашей ситуации - но только до первой перенастройки даты.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на светодиодных матрицах с драйверами MAX7219
СообщениеДобавлено: Вс май 31, 2015 23:24:58 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: -1
Рейтинг сообщений: 9
Зарегистрирован: Ср фев 02, 2011 16:22:32
Сообщений: 162
Рейтинг сообщения: 0
Разве в RTC нет встроенного календаря? И как настроить дату? Просто я в еепром заметил, что неделя с воскресенья начинается и переписал чтобы была с понедельника... Можно было конечно при инициализации часов вписать дату по умолчанию... Вобщем я не понял что как настроить. Подскажите пожалуйста


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1838 ]     ... , , , 7, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 51


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y