[uquote="WiseLord",url="/forum/viewtopic.php?p=2263287#p2263287"]- Поддержка варианта для четырёх матриц.[/uquote]
в шапке есть на 3 max7219, а мне нужно на 4, пробовал в layout сам добавить, но проверять работоспособность нет возможности из-за отсутствия ингредиентов)))
если есть в ветке ткните носом, но больше был бы признателен за готовый вариант т.к. не могу еще работать с двусторонней платой
Для справки. Резистор Ri на MAX7219 устанавливает ток через аноды матрицы. Яркость регулируется длительностью импульса на катодах программно.
Резисторы в цепи анода ставил в целях защиты от пробоя светодиодов в матрицах при сбое системы регулировки тока. Пока все нормально.
Последняя прошивка с коррекцией времени очень понравилась.
Здравствуйте.
Уважаемый, WiseLord, в исходнике на гитхабе я обнаружил, как мне показалось, логическую ошибку в файле "main.c".
Строка 52. "if (!sensTimer == 0) {"
Надо было было: "if (sensTimer == 0) {" или: "if (!sensTimer) {"
С уважением, Леонид.
Поправил. Заодно исправил много мелких warning-ов от статического анализатора. Если есть возможность проверить в железе (я уже давно с этим проектом не играл вживую), буду благодарен.
где можно прочесть о функционале с доработками? выпал с темы на 70 странице, а прочесть 10 листов времени не хватает. может на гитхабе возможности проекта и инструкцию к проекту описывать? короткий ман на html с текущей схемой, демороликами, и историей проекта в конце.
Уважаемый WiseLord в первую очередь хочу поблагодарить за ваш бескорыстный труд и помощь в развитии этого проекта. Я в прошлом радиолюбитель, но в силу обстоятельств какое-то время не мог заниматmся любимым делом. Но, "сегодня", спустя более 20 лет,случилось обострение и появилось жгучее желание творить! Но 20 лет! Это большой срок. Конечно благодаря господину ин-нету разобраться можно во многом, но вопросы все равно легче задавать людям. это и приятней и эффективней. Пожалуйста не откажите в помощи. На первой странице вы написали: Собрать прошивку под свой набор железа можно командой.....
о какой программе идет речь я так и не понял. И ещё где найти схему подключения Atmega328 и MAX7219? Ни как не могу сабрать все во едино, чего то не хватает(кроме мозгов конечно)
РОСКА писал(а): На первой странице вы написали: Собрать прошивку под свой набор железа можно командой.....
о какой программе идет речь я так и не понял
Там же написано: make. Из консоли. Компилятор - avr-gcc.
Больше ничего не нужно. Плохо, что большинство людей привыкли больше к графическим программам, когда надо какие-то кнопочки нажимать. Я предпочитаю более простой, "чистый" способ, когда кроме компилятора и make нужно ставить мега(гига)байты ненужного софта. Работающий везде, а не только в какой-то конкретно программе в какой-то конкретной ОС.
WiseLord писал(а):Там же написано: make. Из консоли. Компилятор - avr-gcc.
Еще раз просмотрел, так и не увидел для вас это обычное дело, а мне огромная помощь, часы, а то и дни сэкономленного времени! Еще раз большое человеческое спасибо!
Здравствуйте.
Я получается один нарвался на проблему, поставив микруху DS1307. Сначала я собрал на макетке и использовал в качестве RTC - DS3231, все заработало, я обрадовался и стал собирать вариант с постоянной платой. Припаял миросхемы mega328, ds1307, индикатор, с китая, на MAX7219. После включения индикатор показывает нули. яркость низкая, секунды не меняются. Сделал предположение, что скорей всего нет обмена с RTC. Короче на проводах подключаю DS3231 работает, часы идут, показания меняются. Ну думаю сдохла ds1307 (была не новая). Нашел плату донара, снял ds1307 с донора, опять не работает, ну думаю кварц полный шлак, поставил другой, с материнки. Не работает, я загрустил, надо искать причину в прошивке.
Суть проблемы: в ds1307 есть бит CH в регистре 0x00, который надо сбрасывать после отключения батарейки, с поднятым битом ds1307 просто NVRAM, генератор отключен, часы стоят. Надо добавить код инициализации при старте, если бит CH установлен - надо сбросить его и завести начальные значения в регистры микросхемы RCT.
1. В файл rtc.c добавил фукцию:
#define BIT_CH 7
#define BIT_SQWE 4
#define BIT_RS1 1
#define BIT_RS0 0
void ds1307_Init (void)
{
I2CswStart(RTC_I2C_ADDR);
I2CswWriteByte(RTC_SEC);
I2CswStart(RTC_I2C_ADDR | I2C_READ);
if ((I2CswReadByte(I2C_NOACK) & _BV(BIT_CH)))
{
I2CswStop();
I2CswStart(RTC_I2C_ADDR);
I2CswWriteByte(RTC_SEC);
unsigned char i;
for (i=0; i<RTC_YEAR+1; i++)
{
I2CswWriteByte (pgm_read_byte ((char*)&rtcMin+i));
}
I2CswWriteByte (_BV(BIT_SQWE)|_BV(BIT_RS1)|_BV(BIT_RS0));
}
I2CswStop();
}// end ds1307_Init ()
2. В файл rtc.h добавил объявление фукции:
void ds1307_Init (void);
3. В файл main.h в функции hwInit(), добавил вызов фукции ds1307_Init ();
Ну и последнее - собрал и прошил контроллер и заработало.
Приложу файлы, если получится.
С уважением, Леонид
добрый день, может кто то сталкивался с таким отображением верхняя строка горит ярче чем все остальные??? атмега 8 матрицы 60х60 3шт в чем может быть ошибка??
извеняюсь за фото плохо но видно......
Разобрался!!На этих матрицах лет 8 назад была сделана схема с этого же сайта, только статья называлась часы на светодиодных матрицах.... Атмега 16+595....в итоге решил переделать эту схему т. к она на много лучше... Ну и в общем перевернул матрицы так сказать верх ногами, в тех часах нижняя строка неиспользовалась, там только горела точка и только когда показывали часы. А тут перевернул и понял что выгорели то матрицы, а та строка что не работала, тут теперь светит ярко, вот так бывае вычеслил заменой таккими же матрицами, только новыми...видимо у них есть ресурс... В общем отработали 8 лет
парни доделал часики и вот проблема (((( подключил датчики у меня улица и дом, все показывает но наоборот))) там где дом показания улицы, а там где уцлица показания дом, как бороться с такой штуковиной????
переименовывал.... тоже самое и местами менял так же....вставляю домашний, все норм вставляю улицу пишет уличную температуру в доме......пипец....мне кажеться датчик уличный...а как у вас в программе определяются датчики?