Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить

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

Вт дек 20, 2022 22:46:43

а сколько вольт на фоторезисторе при мини/максимальном освещении? может шунтовое сопротивление подобрать нужно !

Добавлено after 3 hours 58 minutes 44 seconds:
мне самому интересно стало авто яркость попробовать.
собрал макетку, но не нашёл нормального фоторезистора ... поигрался с вашей прошивкой..., да фигня какая-то
замерил напряжение на фоторезисторе при максимальном освещении 0,01 - 0,23
минимальном освещении 3,2 - 3,98
по яркости дисплея особо на глаз не видно " яркость= 9 или 7"
поэтому яркость разделил на три части максимум=10, срдне=4, и темно=0.
https://www.youtube.com/shorts/ZE8IY9L9LbE
Вложения
simple-clock_BRIGHT.zip
(85.53 KiB) Скачиваний: 71

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

Ср дек 21, 2022 08:40:07

Отличное решение, вечером попробую. А больше то и не надо, днём ярко, вечером потемнее и ночью совсем темно. Спасибо Вам что откликнулись на проблему.

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

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

Ср дек 21, 2022 11:26:27

Отличное решение,

но не интересное :)))
вот еще одно решение - на экране показывает какая яркость точкой, внизу точка минимум. ( чтобы в порт монитора постоянно не глядеть)
Код:
    //---------- яркости на десплее для отладки, потм удалить--------------------------
    if (BRIGHT==0) setCol(0, 0x80);
    if (BRIGHT==3) setCol(0, 0x40);
    if (BRIGHT==5) setCol(0, 0x20);
    if (BRIGHT==8) setCol(0, 0x10);
    if (BRIGHT==10)setCol(0, 0x08);

у меня какой-то фоторезистор "чудной", так что цифры придется вам самому подобрать от скольких до скольких и какой яркостью светить :shock:
Код:
 int ledLevel = analogRead(BRIGHT_PIN);               // измеряем на ножке А0 напряжение
    if (ledLevel>451)                  BRIGHT=0;
    if (ledLevel<450 && ledLevel>301)  BRIGHT=3;
    if (ledLevel<300 && ledLevel>251)  BRIGHT=5;
    if (ledLevel<250 && ledLevel>101)  BRIGHT=8;
    if (ledLevel<100)                  BRIGHT=10;
Вложения
simple-clock_BRIGHT.zip
(86.25 KiB) Скачиваний: 65

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

Ср дек 21, 2022 12:47:57

Добренько, обязательно опробую, спасибо =)

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

Ср дек 21, 2022 13:35:00

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

я не использовал никогда "авто" режим в своих часах.

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

Ср дек 21, 2022 13:38:47

Понял, а какой режим используете? День-Ночь?

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

Ср дек 21, 2022 14:44:45

да.

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

Чт дек 22, 2022 12:57:47

Не, ерунда какая-то у меня получается, вернулся к первоначальному варианту, в крайнем случае буду использовать День-Ночь, спасибо Вам за старания!

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

Чт дек 22, 2022 17:58:27

ну не знаю, а я так вполне доволен вторым решением все отрабатывает просто класс!!!
https://www.youtube.com/shorts/7SFq-YBx_4o

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

Чт дек 22, 2022 18:03:22

Хм, вполне наглядно, спасибо, помучаю еще )))

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

Чт дек 22, 2022 18:28:04

а попробуйте сделать два режима

включите одну лампочку в комнате и в мониторе порта посмотрите чему равна минимальное значение ledLevel.
у меня в мониторе вот так

маленько прибавил
Код:
  int ledLevel = analogRead(BRIGHT_PIN);               // измеряем на ножке А0 напряжение
    if (ledLevel>451)                  BRIGHT=0;
    if (ledLevel<450)                  BRIGHT=10;
    sendCmdAll(CMD_INTENSITY, BRIGHT);                   // посылаем команду на изменение яркости


ledLevel<450 это будет яркий режим BRIGHT-10
а все что выше ledLevel>451 режим темно BRIGHT=0;

получается автоматический режим "день/ночь" :)))

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

Чт дек 22, 2022 22:11:34

Добренько, попробуем )))

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

Пт дек 23, 2022 23:25:02

получается автоматический режим "день/ночь" :)))

ну чё, понравилось? нет. :roll:

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

Сб дек 24, 2022 00:25:31

Да, прикольная штукенция получилась, я правда еще не основательно за неё взялся, весь в заботах, но на выходных попробую посерьезней вникнуть )))

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

Сб дек 31, 2022 16:30:29

Всех с Наступающим Новым Годом! Добра, Мира и Здоровья всем желаю!

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

Чт янв 05, 2023 22:00:43

int ledLevel = analogRead(BRIGHT_PIN); // измеряем на ножке А0 напряжение
if (ledLevel>451) BRIGHT=0;
if (ledLevel<450 && ledLevel>301) BRIGHT=3;
if (ledLevel<300 && ledLevel>251) BRIGHT=5;
if (ledLevel<250 && ledLevel>101) BRIGHT=8;
if (ledLevel<100) BRIGHT=10;

Как настроить уровень яркости под каждый уровень BRIGHT?

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

Чт янв 05, 2023 23:07:46

Как настроить уровень яркости под каждый уровень BRIGHT?

что значит каждый уровень?
если я правильно понял.
светишь на фоторезистор смотришь в монеторе порта ledLevel у меня ledLevel=0.
закрываешь пальцем фоторезистор смотришь в монеторе порта ledLevel у меня ledLevel=700.
и делишь этот промежуток на столько частей сколько вы хотите получить градаций яркости.
вы про это?

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

Чт янв 05, 2023 23:27:50

Не, меня не устраивает интенсивность яркости, когда ярко в комнате, табло светит ярко, когда темно, то светит темно, но вот между этими уровнями интенсивность яркости почти незаметны, они есть, но так себе, хотелось бы подстроить интенсивность яркости табло под каждый уровень BRIGHT. Или я немного не правильно понял логику работы автояркости?

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

Пт янв 06, 2023 07:39:39

но вот между этими уровнями интенсивность яркости почти незаметны, они есть, но так себе,

так выберете сколько градаций BRIGHT яркости вам нужно.

хотелось бы подстроить интенсивность яркости табло под каждый уровень BRIGHT.

диапазон показаний фоторезистора от 0 до 700 единиц, вот и присваивайте BRIGHT (яркости) значения
со скольких единиц включится BRIGHT<N и до скольких будет действовать BRIGHT>N
например if (ledLevel<450 && ledLevel>301) BRIGHT=3;

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

Пт янв 06, 2023 23:53:04

Всё, разобрался, сама матрица не очень плавно передает интенсивность яркости. На нижних порогах 0-3 более-менее, а дальше просто светит ярко и изменения незначительны. Сделал просто по Вашему совету, автоматический режим День-Ночь. Для настенных часов, думаю, более чем достаточно. Спасибо Вам помощь =)

Добавлено after 6 minutes 17 seconds:
И еще вопросик, какой процент светопропускаемости тонировки Вы использовали?
Ответить