Часы на матрицах

bwn
Offline
Зарегистрирован: 25.08.2014

putnik401 пишет:

Думаю матрицы у меня нормальные, т.к. с другим скетчем нормально работали, а с этим проблемной... Чет менять нужно... 

Как вариант, прозвоните-сверьте соединения между 7219 и ногами матрицы. Готовую брал один раз, сравнивать не с чем, но возможно китаец делает варианты как для ОА, так и для ОК. Работать будут обе, но по крутить придется по разному. Домыслы, ИМХО.

 

ksn792
Offline
Зарегистрирован: 04.10.2017

Даже не знаю как выложить. Впервые на таких форумах. Посоветуюсь, напишу .

ksn792
Offline
Зарегистрирован: 04.10.2017

На яндекс диск скинул файлы, но как показать вам их пока не понял. Отрицательную температуру показывает, сегодня проверил. Версия ID 1.6.5

ksn792
Offline
Зарегистрирован: 04.10.2017
ksn792
Offline
Зарегистрирован: 04.10.2017
putnik401
Offline
Зарегистрирован: 16.12.2016

Огромное спасибо.... Прийдётся с часиками на ИНках при тормозить.... Попробую ваши скетчи залить... Эти две ссылочки, как я понял, для правильных матриц и неправильных..? А отличия действительно могут быть в вариантах для версий матртц с общим катодом и анодом. У меня вот с такой не получается "договориться"

putnik401
Offline
Зарегистрирован: 16.12.2016

Сюда 2FNyEVZWJx3NZi5y  доступ закрыт..

ksn792
Offline
Зарегистрирован: 04.10.2017

В последнюю ссылку.

ksn792
Offline
Зарегистрирован: 04.10.2017

https://yadi.sk/d/VWp72Tv23NccA7 папка с фотографиями.

putnik401
Offline
Зарегистрирован: 16.12.2016

А что это у вас такая платка с двумя зелёными светодиодами? А на самих матрицах какое обозначение? И скетчь, какая версия на Яндекс диске, для "правильных" матриц или неправильных?

ksn792
Offline
Зарегистрирован: 04.10.2017

https://yadi.sk/d/VWp72Tv23NccA7 папка с фотографиями.

ksn792
Offline
Зарегистрирован: 04.10.2017

Это кнопки. Светодиоды толкатели.

ksn792
Offline
Зарегистрирован: 04.10.2017

На матрицах обозначение 1088 АS. Скетч под эти индикаторы. А правильный или неправильный не могу сказать. У меня работает. И кстати время пролистывания то же уменьшено.

putnik401
Offline
Зарегистрирован: 16.12.2016

ksn792 пишет:
На матрицах обозначение 1088 АS. Скетч под эти индикаторы. А правильный или неправильный не могу сказать. У меня работает. И кстати время пролистывания то же уменьшено.
"Вскрытие покажет".... попробую повторить на Nano 3 168 пятивольтовой....

ksn792
Offline
Зарегистрирован: 04.10.2017

Думаю получиться. Пишите.

Степлер
Offline
Зарегистрирован: 26.04.2016

Так что, с временем отображения разобрались?

ksn792
Offline
Зарегистрирован: 04.10.2017

Точно не могу сказать. Надо сравнить исходный скетч со своим. Пробовал менять время в различных местах. Вот еще с яркостью надо посидеть,поэксперементировать. Чтобы ночью уменьшалась яркость. Спасибо.

putnik401
Offline
Зарегистрирован: 16.12.2016

ksn792 пишет:
Думаю получиться. Пишите.

Nano3 168 оказалась "слабовата", распаковал UNO...

при компиляции ID 1.8.1 начала мотюкатся на кнопки и ДШТ из вашей библиотеки... заменил своими....

ksn792
Offline
Зарегистрирован: 04.10.2017

Не могу сказать. Не занимался Nano.

ksn792
Offline
Зарегистрирован: 04.10.2017

Не могу сказать,не занимался с Nano.

hatul
Offline
Зарегистрирован: 12.04.2017

Извиняюсь что встреваю в ваш диалог.Я тоже давно пытаюсь запустить эти часы. Уже  библиотеки  по всякому менял. Снял небольшое видео,что у меня получается. Реальное время 11.52. То есть на видео видно,что вроде время начинает показывать правильно,а потом какой то бред идет. Подскажите, что можно сделать. Да,у меня подключена только матрица и DS3231. Ни кнопок, ни датчиков я не подключал.

https://youtu.be/JV7ckQVU1cI

ksn792
Offline
Зарегистрирован: 04.10.2017

Привет. Видео не смог посмотреть. Интернет тормозит. Но понимаю что белеберда полная при отображении. У меня работает уже третий комплект.

ksn792
Offline
Зарегистрирован: 04.10.2017

На яндекс диске есть мой вариант. Попробуй с ним.

hatul
Offline
Зарегистрирован: 12.04.2017

Ну вот примерно так. Подсказать,куда копать не можешь?

ksn792
Offline
Зарегистрирован: 04.10.2017
hatul
Offline
Зарегистрирован: 12.04.2017

Пробовал,тоже самое.

ksn792
Offline
Зарегистрирован: 04.10.2017

Ты уже не первый у кого проблемы с матрицей. Индикаторы правильно вставлены на плате. Это только предположение. Можешь проверить. Я со своими проблем не знал. Работали сразу.

ksn792
Offline
Зарегистрирован: 04.10.2017

А если проверить с библиотекой LedConrtol. Проверить пример. Или есть на форумах скетчи с различными примерами. Где то не так подключено. Или пробуй менять адресацию и разворот.

putnik401
Offline
Зарегистрирован: 16.12.2016

ksn792 пишет:
Думаю получиться. Пишите.
опять какая то хрень получилась....;-) ... надо наверно 1.6. версию ID применить... да и с libraries походу проблема ....

ksn792
Offline
Зарегистрирован: 04.10.2017

После пятерки часть 0, потом 1, дальше непонятно,потом оставшая половинка 0. Где то косяк с адресацией.

hatul
Offline
Зарегистрирован: 12.04.2017

Сдругими скетчами работает нормально. Да и матриц уже три штуки пробовал.Везде одно и тоже. У меня подозрение,что все таки что то с библиотеками не то.

Степлер
Offline
Зарегистрирован: 26.04.2016

это однозначно адреса

ksn792
Offline
Зарегистрирован: 04.10.2017

Попробуй удалить все и заново загрузить в папке Библиетеки диска С. И попробовать скачать заново библиотеку LedControl.

Степлер
Offline
Зарегистрирован: 26.04.2016

какое время было во время съемки?

 

hatul
Offline
Зарегистрирован: 12.04.2017

Это сразу после загрузки скетча. Напомню,время должно показывать 11.52.

А это через несколько секунд:

Степлер
Offline
Зарегистрирован: 26.04.2016

putnik401 вот тут привязываются координаты к матрицам

void plot (byte x, byte y, byte val) {
  //выбор матрицы в зависимости от координат х
  byte address;
  if (x >= 0 && x <= 7)   {             // при x >= 0 и x <= 7
    address = 0;                        // адрес матрицы 0
 //   y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 8 && x <= 15)  {             // при x >= 8 и x <= 15
    address = 1;                        // адрес матрицы 1
    x = x - 8;                          // координаты х пересчитываются по х - 8
  //  y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 16 && x <= 23) {             // при x >= 16 и x <= 23
    address = 2;                        // адрес матрицы 2
    x = x - 16;                         // координаты х пересчитываются по x - 16
//    y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 24 && x <= 31) {             // при x >= 24 и x <= 31
    address = 3;                        // адрес матрицы 3
    x = x - 24;                         // координаты х пересчитываются по x - 24
//    y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }

 

ksn792
Offline
Зарегистрирован: 04.10.2017

Попробуй баблиотеку Скачать заново.

Степлер
Offline
Зарегистрирован: 26.04.2016

hatul Вот тут при развороте ничего не меняли?

byte digits_x_pos[4] = {25, 19, 7, 1};      //создание переменной для координат x pos для каждой цифры

 

putnik401
Offline
Зарегистрирован: 16.12.2016

Степлер пишет:

putnik401 вот тут привязываются координаты к матрицам

void plot (byte x, byte y, byte val) {
  //выбор матрицы в зависимости от координат х
  byte address;
  if (x >= 0 && x <= 7)   {             // при x >= 0 и x <= 7
    address = 0;                        // адрес матрицы 0
 //   y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 8 && x <= 15)  {             // при x >= 8 и x <= 15
    address = 1;                        // адрес матрицы 1
    x = x - 8;                          // координаты х пересчитываются по х - 8
  //  y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 16 && x <= 23) {             // при x >= 16 и x <= 23
    address = 2;                        // адрес матрицы 2
    x = x - 16;                         // координаты х пересчитываются по x - 16
//    y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 24 && x <= 31) {             // при x >= 24 и x <= 31
    address = 3;                        // адрес матрицы 3
    x = x - 24;                         // координаты х пересчитываются по x - 24
//    y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }

 

попробоал выдает ошибку:

Arduino: 1.8.1 (Windows 7), Плата:"Arduino/Genuino Uno"

clock41:88: error: invalid digit "8" in octal constant

087

^

clock41:90: error: invalid digit "8" in octal constant

088

^

clock41:92: error: invalid digit "9" in octal constant

089

^

clock41:94: error: invalid digit "9" in octal constant

090

^

clock41:96: error: invalid digit "9" in octal constant

091

^

clock41:98: error: invalid digit "9" in octal constant

092

^

clock41:100: error: invalid digit "9" in octal constant

093

^

clock41:102: error: invalid digit "9" in octal constant

094

^

clock41:104: error: invalid digit "9" in octal constant

095

^

clock41:106: error: invalid digit "9" in octal constant

096

^

clock41:108: error: invalid digit "9" in octal constant

097

^

clock41:110: error: invalid digit "9" in octal constant

098

^

clock41:112: error: invalid digit "9" in octal constant

099

^

C:\Users\sX\Documents\Arduino\clock41\clock41.ino: In function 'void plot(byte, byte, byte)':

clock41:121: error: expected ';' before 'if'

if (x >= 24 && x <= 31) { // РїСЂРё x >= 24 Рё x <= 31

^

clock41:132: error: 'address' was not declared in this scope

lc.setLed(address, y, x, true); // зажигание точки (для поворота обратно- поменять местами х и у

^

clock41:134: error: 'address' was not declared in this scope

lc.setLed(address, y, x, false); // потушить точки (для поворота обратно- поменять местами х и у

^

exit status 1 invalid digit "8" in octal constant

Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции" Наверно нужно пробовать, заливать версие 1.6 да и наверно стоит собрать полную конфигурацию часиков... т.е. все прицепить ... кнопки, датчики...

hatul
Offline
Зарегистрирован: 12.04.2017

Степлер пишет:

hatul Вот тут при развороте ничего не меняли?

byte digits_x_pos[4] = {25, 19, 7, 1};      //создание переменной для координат x pos для каждой цифры

 

Нет,здесь ничего не трогал. Менял адреса матриц. Вместо 0,1,2,3 поменял на 3,2,1,0

bwn
Offline
Зарегистрирован: 25.08.2014

За эту либу не скажу, но подобная хрень была когда перла помеха. После нормального пропая и завода питания с двух сторон все исчезло. (линейка была из восьми 60мм матриц с самопайными адаптерами, матрицы обратные).

putnik401
Offline
Зарегистрирован: 16.12.2016

bwn пишет:

За эту либу не скажу, но подобная хрень была когда перла помеха. После нормального пропая и завода питания с двух сторон все исчезло. (линейка была из восьмки 60мм матриц с самопайными адаптерами, матрицы обратные).

Согласен все может быть на много проще... просто БП слабый... У меня адаптер 9v на 2А(написано на корпусе, на заборе тоже пишут :-)...) и стабилизатор от бредборда... Надо пробовать на LM~пробовать... Я одни часики собирал на DS3231 тоже из за напруги от БП проблема была.... От USB питаешь - ахенею кажут... А от 18650 все Ок....

ksn792
Offline
Зарегистрирован: 04.10.2017

Я первые двое часов собирал и блок питание использовал от старых сотовых телефонов 5 В  1.0 А. Откусывал родные разьемы и припаивал нужные. Работают. В последней версии разобрал зарядник и плату вклеил в корпус термометра. На фото видно. 

hatul
Offline
Зарегистрирован: 12.04.2017

Охренеть! До пол ночи долбился,не мог ничего сделать.А оказалось все просто. На второй компьютер,где никогда не было Arduino ID , установил ID 1.6.5 , подключил библиотеки из папки ksn792 , и вуаля-всё работает. Ставлю ID 1.8.5 , показывает всякий бред. Не понял причем здесь версия ID ,но факт остается фактом.                                                                                                                                                             Теперь появились вопросы по скетчу. Из датчиков у меня есть только DHT11. Температуру дома он показывает 588 градусов.Влажность 117. Можно это исправить,и как? Слово "Давление" похоже не помещается на матрицах. Где его можно сократить?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Где его можно сократить?

T="температура"

P="Давление"  (Pressure)

ksn792
Offline
Зарегистрирован: 04.10.2017

Со словами не заморачивался. Немного сократил интервал между буквами и начала отображения. И сократил слово "Давлен." Все равно не поместиться. У меня стоит ID 1.6.5 на ХР., рабочий комп. Конкретно где менять нет возможности показать. Вылетаю с вахты.

ksn792
Offline
Зарегистрирован: 04.10.2017

У меня стоит DHT22 и использую как уличный датчик.

Степлер
Offline
Зарегистрирован: 26.04.2016

putnik401 пишет:

Степлер пишет:

putnik401 вот тут привязываются координаты к матрицам

void plot (byte x, byte y, byte val) {
  //выбор матрицы в зависимости от координат х
  byte address;
  if (x >= 0 && x <= 7)   {             // при x >= 0 и x <= 7
    address = 0;                        // адрес матрицы 0
 //   y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 8 && x <= 15)  {             // при x >= 8 и x <= 15
    address = 1;                        // адрес матрицы 1
    x = x - 8;                          // координаты х пересчитываются по х - 8
  //  y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 16 && x <= 23) {             // при x >= 16 и x <= 23
    address = 2;                        // адрес матрицы 2
    x = x - 16;                         // координаты х пересчитываются по x - 16
//    y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }
  if (x >= 24 && x <= 31) {             // при x >= 24 и x <= 31
    address = 3;                        // адрес матрицы 3
    x = x - 24;                         // координаты х пересчитываются по x - 24
//    y = 7 - y;                          // координаты у пересчитываются по 7 - y для поворота на 90 градусов по часовой
  }

 

попробоал выдает ошибку:

Arduino: 1.8.1 (Windows 7), Плата:"Arduino/Genuino Uno"

clock41:88: error: invalid digit "8" in octal constant

087

^

clock41:90: error: invalid digit "8" in octal constant

088

^

clock41:92: error: invalid digit "9" in octal constant

089

^

clock41:94: error: invalid digit "9" in octal constant

090

^

clock41:96: error: invalid digit "9" in octal constant

091

^

clock41:98: error: invalid digit "9" in octal constant

092

^

clock41:100: error: invalid digit "9" in octal constant

093

^

clock41:102: error: invalid digit "9" in octal constant

094

^

clock41:104: error: invalid digit "9" in octal constant

095

^

clock41:106: error: invalid digit "9" in octal constant

096

^

clock41:108: error: invalid digit "9" in octal constant

097

^

clock41:110: error: invalid digit "9" in octal constant

098

^

clock41:112: error: invalid digit "9" in octal constant

099

^

C:\Users\sX\Documents\Arduino\clock41\clock41.ino: In function 'void plot(byte, byte, byte)':

clock41:121: error: expected ';' before 'if'

if (x >= 24 && x <= 31) { // РїСЂРё x >= 24 Рё x <= 31

^

clock41:132: error: 'address' was not declared in this scope

lc.setLed(address, y, x, true); // зажигание точки (для поворота обратно- поменять местами х и у

^

clock41:134: error: 'address' was not declared in this scope

lc.setLed(address, y, x, false); // потушить точки (для поворота обратно- поменять местами х и у

^

exit status 1 invalid digit "8" in octal constant

Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции" Наверно нужно пробовать, заливать версие 1.6 да и наверно стоит собрать полную конфигурацию часиков... т.е. все прицепить ... кнопки, датчики...

 

Что попробовали?

hatul
Offline
Зарегистрирован: 12.04.2017

DetSimen пишет:

T="температура"

P="Давление"  (Pressure)

И где такие строчки? В скетче я не нашел.

putnik401
Offline
Зарегистрирован: 16.12.2016

  https://yadi.sk/d/QkJfCXuz3NfZ2U

случайно накопал часики... одни и теже... они меня преследуют наверно.... сначала показывали ахинею.... потом поменял адреса матриц... с 0 на 3, 1 на 2... заработали..... в архиве все.... ID 1.6.5 библиотека.... часики на четырех "неправильных матрицах" .... есть режим: на английком пишут время или показывают время с секундами или без секунд, цифорки крутятся как на одометре колесики... еще бы к ним 18B20 или DHT Прикрутить..... кто бы занялся.... :-)