часы ардуино ds3231 max7219 ds18b20

Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Попробовал oldMillis >= 55 .... не помогло
Все тоже самое.
где то оно рядом...
Ведь от 0 и до 6 часов нормально все отрисовывается..
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Serzh2000 »

Изображение
да, надо подумать
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

[uquote="Serzh2000",url="/forum/viewtopic.php?p=4757140#p4757140"]Изображение
да, надо подумать[/uquote]
Точно. На сегодня тайм аут...
Самое что интересное, сейчас сравнил, код не менял, заменил только массивы с отрисовкой цифр.
Видимо в них дело
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Serzh2000 »

сейчас попробовал у себя твою прошивку
https://rutube.ru/shorts/049cfd92158bf3 ... 20b034211/
все нормально

Добавлено after 37 minutes 9 seconds:
хотя да иногда проскакивает . будем думать
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

[uquote="Serzh2000",url="/forum/viewtopic.php?p=4757154#p4757154"]сейчас попробовал у себя твою прошивку
https://rutube.ru/shorts/049cfd92158bf3 ... 20b034211/
все нормально

Добавлено after 37 minutes 9 seconds:
хотя да иногда проскакивает . будем думать[/uquote]
Ничего не менял?
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Serzh2000 »

давай посмотрим почему это происходит
вставь этот кусок кода в свой

Код: Выделить всё

      unsigned long nov = millis();
     if (nov - oldMillis >= 75) {
      shag++; Serial.print("sek ");Serial.print(s1);Serial.print(s0);
      Serial.print("  shag ");Serial.println(shag);
     oldMillis = nov; 
      }
  if (shag >= 12) {  Serial.print("lastm1 ");Serial.print(lastm1 );
  Serial.print("  m1 ");Serial.println(m1 );  Serial.println("---------"); shag=0; lasth1 = h1; lasth0 = h0; lastm1 = m1; lastm0 = m0; lasts1 = s1; lasts0 = s0;} 
  
и посмотрим в мониторе порта
Изображение
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Посмотрел... Тоже самое как на твоем скрине.
Не понял как сюда скрин вставить
Вложения
10-24-2025_01.jpg
(45.55 КБ) 147 скачиваний
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Serzh2000 »

Код: Выделить всё

  
  oldMillis = nov;       // в начале новой секунды сбрасываем в "0"
  shag = 0;               // в начале новой секунды сбрасываем в "0"
вот подумай почему sek 00 (секунд) только девять
а остальных по двенадцать (например sek 01 двенадцать)
где и че делает процессор в недостающие время? у меня пока на ум ни че приходит.

Добавлено after 1 hour 11 minutes 37 seconds:
попробуй вот так изменения в стр 252, 254, 774, 775.
Вложения
Clock_matrica_new_24.10.2025.rar
(218.75 КБ) 160 скачиваний
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Вот теперь всё отлично получилось! Спасибо огромное!

Clock_matrica_new_24.10.2025.rar [218.75 KiB] для себя буду считать окончательным вариантом.
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Serzh2000 »

за спасибо надо на плюсик нажимать :))
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Рано мне ещё плюсовать, сообщений пока маловато
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Serzh2000 »

Shehov62 вот более правильная прошивка. :beer: в предыдущей другие режимы будут работать не корректно. :dont_know:
Вложения
Clock_matrica_new_25.10.2025.rar
(219.66 КБ) 166 скачиваний
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Отлично. буду пробовать. На другие режимы не обращал внимания.
интересны были режимы с анимацией цифр (1,2 и 5,6 режимы).

Добавлено after 47 minutes 26 seconds:
Serzh2000, Возник еще такой вопрос, возможно ли собрать такие же часы, то есть с таким же функционалом, но на другой матрице, большего размера? Например на матрице из адресных светодиодов WS2812?
Аватара пользователя
sc0rpy
Открыл глаза
Сообщения: 61
Зарегистрирован: Ср июн 18, 2025 07:20:55

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение sc0rpy »

[uquote="Shehov62",url="/forum/viewtopic.php?p=4757616#p4757616"]Возник еще такой вопрос, возможно ли собрать такие же часы, то есть с таким же функционалом, но на другой матрице, большего размера? Например на матрице из адресных светодиодов WS2812?[/uquote]
можно.
Изображение Изображение
глаза баяца, руки из жопы, но я не здаюсь
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

[uquote="Serzh2000",url="/forum/viewtopic.php?p=4757553#p4757553"]Shehov62 вот более правильная прошивка. :beer: в предыдущей другие режимы будут работать не корректно. :dont_know:[/uquote]
Установил. Все отлично, как и хотелось. В предыдущем скетче действительно в других режимах (1-4) разделительные точки не моргают.

Добавлено after 20 minutes 22 seconds:
[uquote="sc0rpy",url="/forum/viewtopic.php?p=4757711#p4757711"][uquote="Shehov62",url="/forum/viewtopic.php?p=4757616#p4757616"]Возник еще такой вопрос, возможно ли собрать такие же часы, то есть с таким же функционалом, но на другой матрице, большего размера? Например на матрице из адресных светодиодов WS2812?[/uquote]
можно.
Изображение Изображение[/uquote]
Не точно видимо выразился. То что на WS2812 часы можно сделать, сам знаю. Делал уже и не один экземпляр. Вариантов много в сети.
Изображение
Эти вот сделаны были в апреле.
Вопрос был что надо изменить именно в этом скетче чтобы заставить его работать с такой матрицей 8х32, вместо MAX7219?
Аватара пользователя
sc0rpy
Открыл глаза
Сообщения: 61
Зарегистрирован: Ср июн 18, 2025 07:20:55

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение sc0rpy »

очевидно заменить вывод MAX7219 на вывод в ws2812
при этом на каждый пиксель изображэния надо выдать 24бита в цвете
глаза баяца, руки из жопы, но я не здаюсь
Аватара пользователя
sc0rpy
Открыл глаза
Сообщения: 61
Зарегистрирован: Ср июн 18, 2025 07:20:55

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение sc0rpy »

[uquote="Shehov62",url="/forum/viewtopic.php?p=4757735#p4757735"]Вопрос был что надо изменить именно в этом скетче чтобы заставить его работать с такой матрицей 8х32, вместо MAX7219?[/uquote]

Код: Выделить всё

//------------------------------------------------ВЫВОД НА ИНДИКАТОР ДАННЫХ (из scr1 - Обновляем все сегменты индикатора)
void refreshAll() {                                                       //
  rotate();                                                               // поворачиваем данные из буфера sct и записываем их в буфер scr1 (ВЕРТИКАЛЬНЫЕ БАЙТЫ)
  for (int c = 0; c < 8; c++) {                                           // создаем цикл от 0 до 7
    digitalWrite(CS_PIN, LOW);                                            // Разрешаем нашему индикатору получать данные с шины SPI
    for(int i = NUM_MAX - 1; i>=0; i--) {                                 // создаем цикл от 3 до 0 Цикл по количеству индикаторов
      shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, CMD_DIGIT0 + c);               // трансилруем команду (1+0)4раза,(1+1)4раза,(1+2)4раза,(1+3)4раза,(1+4)4раза,(1+5)4раза,(1+6)4раза,(1+7)4раза 
!>>>      shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, scr1[i * 8 + c].byte_data);    // трансилруем данные (байт) из ячейки scr1 (3*8+0, 2*8+0, 1*8+0, 0*8+0)  24, 16,  8,  0
                                                                          //                 строки/столбцы            3*8+1, 2*8+1, 1*8+1, 0*8+1   25, 17,  9,  1
                                                                          //                                            .  .  .  .  .  .  .  .  . 
                                                                          //                                           3*8+7, 2*8+7, 1*8+7, 0*8+7   31, 23, 15,  7
    }
    digitalWrite(CS_PIN, HIGH);                                           //
  }
} 
вот в этом (!>>> ) месте вместо вывода в спи надо заполнить массив для кетайских светиков а потом вывести его.
глаза баяца, руки из жопы, но я не здаюсь
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Спасибо. Буду изучать, пробовать...
Это уже будут другие часы.
Видимо придется потом создать другую тему.
Shehov62
Родился
Сообщения: 13
Зарегистрирован: Чт окт 23, 2025 11:06:30
Откуда: Рязанская область

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение Shehov62 »

Не много исправил написание шрифта, и позиционирование надписей...
Вложения
Clock_matrica_new_1.11.2025.rar
(35.34 КБ) 151 скачивание
Аватара пользователя
SeGAD
Открыл глаза
Сообщения: 70
Зарегистрирован: Ср дек 07, 2022 21:01:11

Re: часы ардуино ds3231 max7219 ds18b20

Сообщение SeGAD »

Прошу прощения что врываюсь в тему, но я таки довёл до ума нужный мне режим автоматической яркости. Присутствует гестерезис. Теперь когда мрачно или темно, яркость переключается на тусклое, когда пасмурно или светло, то переключается на яркое.

Код: Выделить всё

  if (brightSet == 16 && millis() - lastBrightCheck >= 500) { // Каждые полсекунды
    lastBrightCheck = millis();
    int ledLevel = getAverageLight();
    if (ledLevel > upperThreshold && BRIGHT != LIGHT_MAX) {
      BRIGHT = LIGHT_MAX;
      sendCmdAll(CMD_INTENSITY, BRIGHT);
      lastBright = BRIGHT;
    } else if (ledLevel < lowerThreshold && BRIGHT != LIGHT_MIN) {
      BRIGHT = LIGHT_MIN;
      sendCmdAll(CMD_INTENSITY, BRIGHT);
      lastBright = BRIGHT;
    }
  }
Если кому надо будет, дополню код, как прописаны всякие там переменные и так далее =)
Ответить

Вернуться в «АвтоМотоВело»