Например TDA7294

Форум РадиоКот • Просмотр темы - часы ардуино ds3231 max7219 ds18b20
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн ноя 24, 2025 20:22:50

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


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



Начать новую тему Ответить на тему  [ Сообщений: 239 ]     ... , , , 11,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Вс мар 10, 2024 22:29:38 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср дек 07, 2022 21:01:11
Сообщений: 66
Рейтинг сообщения: 0
Не, ничего нового, просто работа над ошибками. После моего вмешательства анимация смены даты и времени пропала вообще, сейчас я это исправил и дата со временем теперь меняется в виде бегущей строки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт май 09, 2024 16:25:46 
Родился

Зарегистрирован: Чт май 09, 2024 15:34:14
Сообщений: 1
Рейтинг сообщения: 0
Пожалуй самый интересный проект часов , анимация сделана потрясно ! Пару раз уже повторил этот проект, но сейчас возникла надобность в датчике температуры и влажности BME280. К большому сожалению знание программирования отрицательное )) Может кто уже прикручивал этот датчик ? Авторам спасибо за работу !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Ср июн 18, 2025 11:18:44 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
исправлена ошибка


Вложения:
chasy_matrica_temp_otricatelnaay_s_kuku_29.02.24.rar [183.91 KiB]
Скачиваний: 76
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Сб июл 05, 2025 11:13:05 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср дек 07, 2022 21:01:11
Сообщений: 66
Рейтинг сообщения: 0
Serzh2000, можно узнать что за ошибка была? =)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Сб июл 05, 2025 23:06:14 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
в меню яркость не выбиралась


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Вс июл 06, 2025 09:19:55 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср дек 07, 2022 21:01:11
Сообщений: 66
Рейтинг сообщения: 0
Понял. Я тоже внес некоторые изменения в свою версию. Убрал режим День-Ночь. За всё время использования автоматический режим более чем себя оправдал. Вчера поменял обычный фоторезистор на модуль TZT XH-M131. Провожу испытания. Когда буду удовлетворен результатами выложу исходники =)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Вс июл 06, 2025 19:45:00 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
Цитата:
Провожу испытания. Когда буду удовлетворен результатами выложу исходники =)
очень интересно посмотреть на код. :shock:
Цитата:
Убрал режим День-Ночь. За всё время использования автоматический режим более чем себя оправдал.

Код:
//=== Установка яркости по датчику освещенности  ===========

void BrightnessCheck() {

  if (setups[4]==0) {                         // если включена адаптивная яркость
  if (millis() - bright_timer > 100) {       // каждые 100 мс
     bright_timer = millis();                // сбросить таймер
     new_bright = map(analogRead(LIGHT_PIN), 0, 1020, LIGHT_MAX, LIGHT_MIN );     // когда темно тускло
     new_bright = constrain(new_bright, LIGHT_MIN, LIGHT_MAX);
     new_bright_f = new_bright_f * coef + new_bright * (1 - coef);
      LEDS.setBrightness(new_bright_f);                                            // установить новую яркость
     }
  }else {new_bright_f = setups[4] * 10;                                          // установить яркость ручную.
  LEDS.setBrightness(new_bright_f);}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

очень хорошо отрабатывает яркость по фоторезистору!!!
почитайте код может что понравиться...
https://community.alexgyver.ru/threads/ ... 33/page-70


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Ср июл 30, 2025 12:03:11 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср дек 07, 2022 21:01:11
Сообщений: 66
Рейтинг сообщения: 0
Попробовал я этот код, вроде бы и ничего, но ночью яркость не опускается до минимума, светит процентов на 30-40, при хорошем освещении норм, светят ярко.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Ср июл 30, 2025 20:16:03 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
а эту цифру менял? 1020 на 1023
new_bright = map(analogRead(LIGHT_PIN), 0, 1020, LIGHT_MAX, LIGHT_MIN ); // когда темно тускло


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Ср июл 30, 2025 23:41:21 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср дек 07, 2022 21:01:11
Сообщений: 66
Рейтинг сообщения: 0
а эту цифру менял? 1020 на 1023
new_bright = map(analogRead(LIGHT_PIN), 0, 1020, LIGHT_MAX, LIGHT_MIN ); // когда темно тускло


Нет, не менял, в обсуждениях не увидел что надо менять эту цифру, либо не заметил, попробую, спасибо =)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Пт авг 01, 2025 09:30:14 
Открыл глаза
Аватар пользователя

Зарегистрирован: Ср дек 07, 2022 21:01:11
Сообщений: 66
Рейтинг сообщения: 0
В общем получается так: если свет яркий и сразу затемнить, то яркость понижается до минимума. Если затемнить на половину, потом до минимума, то яркость почти не опускается до минимума, а остается на том уровне, который был при полумраке.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Пт сен 26, 2025 19:04:59 
Родился

Зарегистрирован: Пн авг 17, 2015 17:29:26
Сообщений: 1
Рейтинг сообщения: 2
а эту цифру менял? 1020 на 1023
new_bright = map(analogRead(LIGHT_PIN), 0, 1020, LIGHT_MAX, LIGHT_MIN ); // когда темно тускло

Цифру 1020 я ставил когда код под себя правил, там откуда вы взяли кусок кода часы собраны на адресных светодиодах WS2812 и при цифре 1023 происходило мерцание диодов в темноте. Фразу "Когда темно тускло" я написал в комментарии.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Вс сен 28, 2025 19:46:58 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
BRIGHT = BRIGHT * coef + new_bright * (1 - coef);// я не понял
как не считал, вот не получается яркость на максимум вывести
Изображение
на минимуме все в порядке
Изображение

https://rutube.ru/shorts/103bbbdebc49bc ... f4d5308022

Код:
     if (millis() - bright_timer > 100) {//Проверка и изменение яркости каждые 100 мс
     bright_timer = millis();            // сбросить таймер
     int ledLevel = analogRead(BRIGHT_PIN);
     new_bright = map(ledLevel, 200, 950, LIGHT_MAX, LIGHT_MIN );// 200- смотрим на ledLevel при максимальной яркости.  950- смотрим на ledLevel при минимальной яркости
     new_bright = constrain(new_bright, LIGHT_MIN, LIGHT_MAX);
     BRIGHT = BRIGHT * coef + new_bright * (1 - coef);// я не понял
     //if (BRIGHT > new_bright)BRIGHT=BRIGHT-1;//каждые 300 мс уменьшаем яркость на 1
     //if (BRIGHT < new_bright)BRIGHT=BRIGHT+1;//каждые 300 мс увеличиваем яркость на 1
     sendCmdAll(CMD_INTENSITY, BRIGHT);      // посылаем команду на изменение яркости


изменения стр-ка 92-98 и стр-ка 308-325


Вложения:
chasy_matrica_temp_otricatelnaay_s_kuku__BRIGHT_28.09.25.rar [184.67 KiB]
Скачиваний: 31
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Пн сен 29, 2025 06:49:16 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
вот я ... :facepalm:
Код:
int  BRIGHT=10;                 // яркость

конечно же
Код:
float  BRIGHT=10;                 // яркость

и все отлично!!! :beer:

Изображение Изображение


Вложения:
chasy_matrica_temp_otricatelnaay_s_kuku__BRIGHT_29.09.25.rar [185.02 KiB]
Скачиваний: 31
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт окт 23, 2025 11:48:31 
Родился

Зарегистрирован: Чт окт 23, 2025 11:06:30
Сообщений: 13
Откуда: Рязанская область
Рейтинг сообщения: 0
Всем доброго времени суток!
Отличный проект. Повторил его уже 3 раза, с матрицами разного цвета ( красная, синяя и зелёная). Зелёный на мой взгляд лучший вариант, красная и синяя даже на минимуме очень яркая.
Анимация на высшем уровне!!
Изменил немного скетч под себя...
Так же изменил анимацию цифр в 5 и 6 режимах (режимов как и прежде 8, только начинаются не с 0, а с 1), теперь секунды (а также часы и минуты)при смене цифры прокручиваются сверху вниз, как в 1 ом режиме.
Но есть нюанс.. хотелось бы его решить..
При смене цифры если десятки часов больше 1, анимация происходит два раза подряд. То есть десяток часов пролистывается с 1 на 2, и сразу же ещё раз 2.


Вложения:
Clock_matrica_new.rar [216.95 KiB]
Скачиваний: 21


Последний раз редактировалось Shehov62 Чт окт 23, 2025 16:59:28, всего редактировалось 2 раз(а).
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт окт 23, 2025 15:48:27 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
Цитата:
При смене цифры если десятки часов больше 1, анимация происходит два раза подряд. То есть десяток часов прописывается с 1 на 2, и сразу же ещё раз 2.

нужно видео посмотреть, так что-то не ясно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт окт 23, 2025 17:49:46 
Родился

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


//---------- ВЫВОД ПОЛНЫХ ЧАСОВ (5 и 6 режим)
void showClock(){ //

if (dots) setCol(10, 0x24); // двоеточие выводится когда dots отличен от "0"


if (s0 != lasts0){showDigit( s0 * 12 + shag, 28, dig3x7ss);} // s0 * 12 + q - номер строки в масиве dig3x7ss (смотрим вкладку "fonts.h")
else showDigit(s0, 28, dig3x7s); // s0 - номер строки в масиве dig3x7s (смотрим вкладку "fonts.h")

if (s1 != lasts1) showDigit( s1 * 12 + shag, 24, dig3x7ds); // dig3x7ds - указатель на масив данных (смотрим вкладку "fonts.h")
else showDigit(s1, 24, dig3x7s); // 24- позиция экрана с которой начинать печать

if (m0 != lastm0) showDigit( m0 * 12 + shag, 17, dig4x8chm); // dig4x8chm - указатель на масив данных (смотрим вкладку "fonts.h")
else showDigit(m0, 17, dig4x8); // dig4x8 - указатель на масив данных (смотрим вкладку "fonts.h")

if (m1 != lastm1) showDigit( m1 * 12 + shag, 12, dig4x8mm); // (m1 != lastm1)- проверяем изменилась цифра или нет
else showDigit(m1, 12, dig4x8);

if (h0 != lasth0) showDigit( h0 * 12 + shag, 5, dig4x8chm); // dig4x8chm - указатель на масив данных (смотрим вкладку "fonts.h")
else showDigit(h0, 5, dig4x8);

if (h1>0){

if (h1 != lasth1){
if(h1==1)showDigit( h1 * 12 + shag, 1, dig4x8chm); // ??? не смог разобраться почему если десятки часов больше еденицы, то при смене
if(h1==2)showDigit( h1 * 12 + shag, 0, dig4x8ch); // ??? цифры на следующий час происходит пролистывание цифры два раза
}

else showDigit(h1, h1 == 2 ? 0 : 1, dig4x8);
}
refreshAll(); // обновляем экран после каждой строки

unsigned long nov = millis();
if (nov - oldMillis >= 75) {
shag++;
oldMillis = nov;
}
if (shag >= 12) { shag=0; lasth1 = h1; lasth0 = h0; lastm1 = m1; lastm0 = m0; lasts1 = s1; lasts0 = s0;}
}

Добавлено after 3 minutes 6 seconds:
Цитата:
При смене цифры если десятки часов больше 1, анимация происходит два раза подряд. То есть десяток часов прописывается с 1 на 2, и сразу же ещё раз 2.

нужно видео посмотреть, так что-то не ясно.

Немного ошибся...
С 0 часов до 7 происходит нормальная анимация. А вот при смене 6 часов на 7 происходит двойная анимация цифры...
и все последующие часы так же..
не получается видеофайл скинуть...
https://disk.yandex.ru/i/Ovdp1ZBbvICulw
https://disk.yandex.ru/i/fcxPxkTvNkRKbg
https://disk.yandex.ru/i/-TwgPXjv7KrDTw


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт окт 23, 2025 20:00:43 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
Код:
if (h1>0){

if (h1 != lasth1){
if(h1==1)showDigit( h1 * 12 + shag, 1, dig4x8chch); // dig4x8chch
if(h1==2)showDigit( h1 * 12 + shag, 0, dig4x8chch); // dig4x8chch
}

else showDigit(h1, h1 == 2 ? 0 : 1, dig4x8);
}


попробуй так.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт окт 23, 2025 20:15:23 
Родился

Зарегистрирован: Чт окт 23, 2025 11:06:30
Сообщений: 13
Откуда: Рязанская область
Рейтинг сообщения: 0
массив dig4x8chch там всего три цифры от 0 до 2.
сейчас гляну что получится...

Никаких изменений. Всё так же :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
СообщениеДобавлено: Чт окт 23, 2025 20:37:23 
Опытный кот
Аватар пользователя

Карма: 11
Рейтинг сообщений: 79
Зарегистрирован: Пт фев 27, 2015 12:00:53
Сообщений: 832
Откуда: Рязанская область
Рейтинг сообщения: 0
а может он просто не успевает сделать это
Код:
if (shag >= 12) { shag=0; lasth1 = h1; lasth0 = h0; lastm1 = m1; lastm0 = m0; lasts1 = s1; lasts0 = s0;}

попробуй побыстрее отрисовывать цыфры
Код:
if (nov - oldMillis >= 75) {
скажем так
Код:
if (nov - oldMillis >= 55) {


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

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


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

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


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

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


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