Часы на светодиодных матрицах с драйверами MAX7219
- shura2000
- Вымогатель припоя
- Сообщения: 613
- Зарегистрирован: Пн фев 23, 2015 21:17:29
- Откуда: г. Протвино, МО
Re: Часы на светодиодных матрицах с драйверами MAX7219
А какие планы по дальнейшему развитию прошивки и часов?
Re: Часы на светодиодных матрицах с драйверами MAX7219
с температурой все исправилось, с яркостью не помогло - так же мерцает
при отключении А0 от схемы мерцание пропадает и яркость всегда ровна установленной, и не меняется со временем
при отключении А0 от схемы мерцание пропадает и яркость всегда ровна установленной, и не меняется со временем
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Не знаю даже. У меня когда вход А0 (АЦП) заземлён (через резистор), АЦП всегда меряет 0 и яркость чётко выставляется в зависимости от текущего часа. Мерцать оно в этом случае может только если на входе болтается какой-то потенциал, чего в принципе не должно быть при подключенном к ноге на землю резисторе.
А когда подключаю туда же дополнительно параллельно резистор + фотодатчик между ногой АЦП и питанием - тогда уже сигнал от АЦП ненулевой и система начинает регулировать яркость динамически.
А когда подключаю туда же дополнительно параллельно резистор + фотодатчик между ногой АЦП и питанием - тогда уже сигнал от АЦП ненулевой и система начинает регулировать яркость динамически.
Re: Часы на светодиодных матрицах с драйверами MAX7219
может вернуть полное меню настройки яркости, было более гибко
понимаю что в мегу8 может и не влезет
или задавать значение по часам в ЕЕПРОМ, память вроде есть, можно и не каждый час а например каждые 2 часа
с адреса 130 например
можно тогда исключить меню настройки яркости без фоторесистора, что освободит память
понимаю что в мегу8 может и не влезет
или задавать значение по часам в ЕЕПРОМ, память вроде есть, можно и не каждый час а например каждые 2 часа
с адреса 130 например
можно тогда исключить меню настройки яркости без фоторесистора, что освободит память
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Нет смысла, посколько всё равно по факту график вручную выстраивается приблизительно такой же, как и при расчёте по одной точке. Проблему с автоопределением фоторезистора, если она есть, это никак не решит.
Если по какой-то причине (наводки в длинных проводах или что-то ещё) при отсутствии фотодатчика на входе ненулевой потенциал проскакивает - можете просто выбросить из исходника эти строки - пусть остаётся только привязанная ко времени яркость.
Можно вообще этот вход АЦП заземлить, даже напрямую, без резистора - возможно, в этом случает проблема исчезнет и без перекомпиляции прошивки.
Если по какой-то причине (наводки в длинных проводах или что-то ещё) при отсутствии фотодатчика на входе ненулевой потенциал проскакивает - можете просто выбросить из исходника эти строки - пусть остаётся только привязанная ко времени яркость.
Можно вообще этот вход АЦП заземлить, даже напрямую, без резистора - возможно, в этом случает проблема исчезнет и без перекомпиляции прошивки.
Re: Часы на светодиодных матрицах с драйверами MAX7219
я не настаиваю, но яркость в ЕЕПРОМ гибче
например я хочу чтоб в 6 утра часы вспыхнули на полную яркость, с автоматическим расчетом не получиться, а с ЕЕПРОМ запросто
заземление А0 не помогло
все также
может в расчете все таки ошибка, в какой процедуре это считается, я гляну
например я хочу чтоб в 6 утра часы вспыхнули на полную яркость, с автоматическим расчетом не получиться, а с ЕЕПРОМ запросто
заземление А0 не помогло
все также
может в расчете все таки ошибка, в какой процедуре это считается, я гляну
Re: Часы на светодиодных матрицах с драйверами MAX7219
WiseLord писал(а): - можете просто выбросить из исходника эти строки - пусть остаётся только привязанная ко времени яркость.
убирание рекомендованных вами строчек помогло, и все стало работать как надо
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Ок. Значит, по какой-то причине либо на входе АЦП был не чистый ноль, либо всё же ноль, но АЦП почему-то намерял какие-то выбросы напряжения. А конденсатор 0,1мкФ AREF-земля был установлен?
Re: Часы на светодиодных матрицах с драйверами MAX7219
конечно был установлен, вывод AREF по схеме соедbнен с VCC и AVCC - блокировочные конденсаторы стоят и там и там
я уже писал, соединял А0 с землей - не помогало, разрывал связь AREF - VCC и шунтировал AREF конденсатором 0.1мкФ - не помогло
главное что проблема решилась - спасибо, особенно за прошивки _X3
вторые, если буду собирать то уже на 4 матрицах
я уже писал, соединял А0 с землей - не помогало, разрывал связь AREF - VCC и шунтировал AREF конденсатором 0.1мкФ - не помогло
главное что проблема решилась - спасибо, особенно за прошивки _X3
вторые, если буду собирать то уже на 4 матрицах
- max50
- Мучитель микросхем
- Сообщения: 497
- Зарегистрирован: Ср дек 10, 2008 21:24:28
- Откуда: Алтайский край, Барнаул
Re: Часы на светодиодных матрицах с драйверами MAX7219
Всем привет!
WiseLord, а RC5 не планируется использовать на JY-MCU 3208pro?
Спасибо.
WiseLord, а RC5 не планируется использовать на JY-MCU 3208pro?
Спасибо.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Re: Часы на светодиодных матрицах с драйверами MAX7219
RC5 походу уже не влезет в мегу8. Да и смысл дистанционного управления в часах? разве что будильник отключать.
Вот датчик DH21 вполне бы себе был тут нужен, а то давление есть, а влажности нет(((
Вот датчик DH21 вполне бы себе был тут нужен, а то давление есть, а влажности нет(((
Re: Часы на светодиодных матрицах с драйверами MAX7219
Ув. WiseLord, как на GitHub можно получить исходники в которых яркость устанавливалась по часам
можно и архивом в почту andr_doy@mail.ru
Спасибо
можно и архивом в почту andr_doy@mail.ru
Спасибо
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
В истории коммитов находите выбираете нужный, и в нём выбираете "Browse Files", после чего можно запросить архив из файлов этого коммита.
Re: Часы на светодиодных матрицах с драйверами MAX7219
Спасибо понял
а в каком вы отключили почасовую установку - по комментам в репозетарии не совсем понятно
Take ADCH value only one time instead of three. - это то что нужно и взять надо от 23 июня
судя по вашим постам в форуме это произошло 26 июня
надо присмотреться к GitHub полезная вещь по ходу
а в каком вы отключили почасовую установку - по комментам в репозетарии не совсем понятно
Take ADCH value only one time instead of three. - это то что нужно и взять надо от 23 июня
судя по вашим постам в форуме это произошло 26 июня
надо присмотреться к GitHub полезная вещь по ходу
Re: Часы на светодиодных матрицах с драйверами MAX7219
немного не в тему, но благополучно женщина спалила одну JY-MCU 3208. клянется что подключала к +5В, но как результат выгорела мега8, а HT1632c по виду в норме, но теперь рандомно пару рядов пикселей светятся и всё. мегу выпаял, картина та же. думаю подключить этот HT1632 к работающей плате параллельно, но х.з. не погорит ли рабочая плата? есть вероятность что HT1632 просто не сбросилась и рандомно что-то показывает? или погорела?
п.с. я понимаю что телепатов нет.))
п.с. я понимаю что телепатов нет.))
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Скорее всего, погорела. Но если подключать три управляющие линии к другой плате, то лучше через резисторы - вдруг там по входам теперь КЗ.
dt_andrew: код почасовой яркости выбрасывался в районе 30 мая. По поводу GitHub - это лишь удобный сервер для хранения git-репозиториев, чтобы можно было с разных компьютеров работать над кодом. А так git позволяет и локально вести такую же историю разработки. Почитайте официальную документацию, начните использовать, и поймёте, что написание кода без системы контроля версий - это жуть и мрак.
dt_andrew: код почасовой яркости выбрасывался в районе 30 мая. По поводу GitHub - это лишь удобный сервер для хранения git-репозиториев, чтобы можно было с разных компьютеров работать над кодом. А так git позволяет и локально вести такую же историю разработки. Почитайте официальную документацию, начните использовать, и поймёте, что написание кода без системы контроля версий - это жуть и мрак.
Re: Часы на светодиодных матрицах с драйверами MAX7219
WiseLord, подскажите как сделать в Git так, чтобы часть файлов не менялась, при синхронизации проекта?
смысл в том, что у меня процессор мега328, назначение портов не совсем совпадает с китайской платой и тактовая частота 16МГц.
соответственно приходится постоянно править скорость вывода бегущей строки и makefile.
Есть возможность в Git запретить изменение лишь части файла? а не всего файла целиком?
к примеру у меня в matrix.c надо чтобы было вот так:
{
///
if (scrollMode == MATRIX_SCROLL_ON) {
int8_t i;
static uint8_t a;
if (++a >= 3)
a = 0;
if (a == 0) {
for (i = 0; i < MATRIX_NUMBER * 8 - 1; i++) {
fb[i] = fb[i + 1];
}
fb[MATRIX_NUMBER * 8 - 1] = strBuf[scrollPos];
matrixUpdate(fb, rotate);
scrollPos++;
if (scrollPos >= _col + MATRIX_NUMBER * 8 - 1 || scrollPos >= MATRIX_BUFFER_SIZE) {
scrollMode = MATRIX_SCROLL_OFF;
scrollPos = 0;
}
}
}
// Start ADC conversion to get brightness from photoresistor
ADCSRA |= 1<<ADSC;
return;
}
а не как у Вас:
{
if (scrollMode == MATRIX_SCROLL_ON) {
int8_t i;
for (i = 0; i < MATRIX_NUMBER * 8 - 1; i++)
fb[i] = fb[i + 1];
fb[MATRIX_NUMBER * 8 - 1] = strBuf[scrollPos];
matrixUpdate(fb, rotate);
scrollPos++;
if (scrollPos >= _col + MATRIX_NUMBER * 8 - 1 || scrollPos >= MATRIX_BUFFER_SIZE) {
scrollMode = MATRIX_SCROLL_OFF;
scrollPos = 0;
}
}
// Start ADC conversion to get brightness from photoresistor
ADCSRA |= 1<<ADSC;
return;
}
т.к. у меня 16МГц кварц...
смысл в том, что у меня процессор мега328, назначение портов не совсем совпадает с китайской платой и тактовая частота 16МГц.
соответственно приходится постоянно править скорость вывода бегущей строки и makefile.
Есть возможность в Git запретить изменение лишь части файла? а не всего файла целиком?
к примеру у меня в matrix.c надо чтобы было вот так:
Спойлер
ISR (TIMER2_OVF_vect){
///
if (scrollMode == MATRIX_SCROLL_ON) {
int8_t i;
static uint8_t a;
if (++a >= 3)
a = 0;
if (a == 0) {
for (i = 0; i < MATRIX_NUMBER * 8 - 1; i++) {
fb[i] = fb[i + 1];
}
fb[MATRIX_NUMBER * 8 - 1] = strBuf[scrollPos];
matrixUpdate(fb, rotate);
scrollPos++;
if (scrollPos >= _col + MATRIX_NUMBER * 8 - 1 || scrollPos >= MATRIX_BUFFER_SIZE) {
scrollMode = MATRIX_SCROLL_OFF;
scrollPos = 0;
}
}
}
// Start ADC conversion to get brightness from photoresistor
ADCSRA |= 1<<ADSC;
return;
}
а не как у Вас:
Спойлер
ISR (TIMER2_OVF_vect){
if (scrollMode == MATRIX_SCROLL_ON) {
int8_t i;
for (i = 0; i < MATRIX_NUMBER * 8 - 1; i++)
fb[i] = fb[i + 1];
fb[MATRIX_NUMBER * 8 - 1] = strBuf[scrollPos];
matrixUpdate(fb, rotate);
scrollPos++;
if (scrollPos >= _col + MATRIX_NUMBER * 8 - 1 || scrollPos >= MATRIX_BUFFER_SIZE) {
scrollMode = MATRIX_SCROLL_OFF;
scrollPos = 0;
}
}
// Start ADC conversion to get brightness from photoresistor
ADCSRA |= 1<<ADSC;
return;
}
т.к. у меня 16МГц кварц...
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Часы на светодиодных матрицах с драйверами MAX7219
Можно завести локальную ветвь со своими изменениями. Можно просто создать файл патча, и накладывать его на обновлённые исходники. Вариантов много
Самое простое:
1. Клонируете себе мой репозиторий:
Теперь у вас в каталоге matrixclock/ есть локальная копия.
2. Вносите свои правки и сохраняете разницу в файл патча (команды выполняются из каталога matrixclock/)
Позднее можно снова склонировать более свежую версию и наложить этот патч на них
Более красивый вариант - сделать копию локальной master-ветки, внести свои изменения, и закоммитить их в своей ветке. После синхронизации master-ветки в своей нужно будет просто сделать git rebase master.
Кстати, а почему бы просто не прошить fuse-биты на 8МГц внутреннего генератора и не вносить изменений в код? Кварц при этом не нужен, но и мешать не будет.
Самое простое:
1. Клонируете себе мой репозиторий:
Код: Выделить всё
git clone https://github.com/WiseLord/matrixclockТеперь у вас в каталоге matrixclock/ есть локальная копия.
2. Вносите свои правки и сохраняете разницу в файл патча (команды выполняются из каталога matrixclock/)
Код: Выделить всё
git diff > myChanges.patchПозднее можно снова склонировать более свежую версию и наложить этот патч на них
Код: Выделить всё
git apply myChanges.patchБолее красивый вариант - сделать копию локальной master-ветки, внести свои изменения, и закоммитить их в своей ветке. После синхронизации master-ветки в своей нужно будет просто сделать git rebase master.
Кстати, а почему бы просто не прошить fuse-биты на 8МГц внутреннего генератора и не вносить изменений в код? Кварц при этом не нужен, но и мешать не будет.
Re: Часы на светодиодных матрицах с драйверами MAX7219
изучаю GitHub - мощьная вещь
я например использовал плату Ардуино микро с 328 процем и кварцем на 16
стер все загрузчики и прошил фузы на 8 МГц
никаких проблем и изменений в коде - чего и вам желаю
16 МГц этим часам ни к чему и на 8 все успевает и работает четко, но хозяин барин - решать вам
тоже хочу добавить все таки изменение яркости по часам, буду следовать инструкции WiseLord
как получиться выложу - может кому и пригодиться
я например использовал плату Ардуино микро с 328 процем и кварцем на 16
стер все загрузчики и прошил фузы на 8 МГц
никаких проблем и изменений в коде - чего и вам желаю
16 МГц этим часам ни к чему и на 8 все успевает и работает четко, но хозяин барин - решать вам
тоже хочу добавить все таки изменение яркости по часам, буду следовать инструкции WiseLord
как получиться выложу - может кому и пригодиться