Большие часы на адресных светодиодах WS2812B

bort707

★★★★★★✩
21 Сен 2020
3,295
958
Вы резистор на плате модуля 3231 выпаяли? Тот что батарейку с питанием соединяет?
 

konan38

✩✩✩✩✩✩✩
19 Мар 2022
2
0
Все замечательно, идут точно. да резистор выпаял. Спасибо всем помогающим.

Конденсатор на модуль часов 100mF по питанию поставил
 

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
добрый вечер.
собрал пока циферблат и электронику на коленке. возникли два вопроса.
1. какое стекло-рассеиватель кто ставил? попробовал оргстекло матовое как то не очень... мутно. простое стекло с тонировкой пятерочкой... цвета меняет тоже не очень... посоветуйте пожалуйста.
2. в шапке прошивки написано
ВОЗМОЖНОСТИ:
// В режиме часов нажатие на "+" отображает температуру, а на "-" дату
нажимаю на минус
да, высвечивается дата (число, месяц)
нажимаю на плюс... ничего как шли часы так и идут ( в настройках кнопка работает)
https://rutube.ru/video/dec9ee0a00cf768957b58bfe3a9e7b7a/
 

BOT_Zilla

★✩✩✩✩✩✩
1 Апр 2022
24
13
@Serzh2000, под оргстекло можно подложить пленку-рассеиватель от старого ЖК телевизора или монитора. Под матрицей их там три или четыре штуки лежит. Та что белая матовая, она и нужна.
 
  • Лойс +1
Реакции: Serzh2000

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
я скетч Clock_1.95_bme_final с 69 стр. скачал. мне очень понравилось как отрабатывается яркость фоторезистором,
а вот анимация при смене минуты нет:( изменил - отрисовка цифры минут, часов.
не понравилось , что только две разделительных точки:( изменил две точки для часов и третья(запятая) при показе температуры.
и расчет температуры только положительная и только целая отрицательная :( изменил оба датчика могут показывать отрицательную с точностью до десятых, причем если в десятых ноль то он не высвечивается.
можно посмотреть на видео https://rutube.ru/video/dec9ee0a00cf768957b58bfe3a9e7b7a/
подключены 2 датчика ds1820... Для уличной температуры у меня выведен на улицу кабель... это надежно и никаких батареек или аккумуляторов не надо.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Serzh2000, Этот скетч на 69 стр. я выкладывал он 100% рабочий и проверенный, специально сейчас проверил на часах при нажатии кнопок "+ -" всё выводится как и должно значит при правке вы где-то "накосячили". Радио удлинитель конечно по желанию, мне например не хотелось делать отверстие в раме под кабель и тянуть его на полкомнаты, батарея на нем литиевая одной зарядки хватает на год минимум. Свой скетч переделанный скиньте сюда, если не жалко конечно, интересно посмотреть.
См. фото их специально сделали чтобы не менять цифры по всему коду.
 

Вложения

  • 72.1 KB Просмотры: 23
Изменено:

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
спасибо что уделили мне время. может что и накосячил, надо посмотреть по внимательнее.
скетч нет не жалко.

//================= Настраиваемые константы НЕ ИЗМЕНЯТЬ и НЕ РЕДАКТИРОВАТЬ !!!!! ==========================

#define NUM_LEDS ((SEGMENT_LEDS * 28)+ 3 ) //2
#define POINT_UP (14 * SEGMENT_LEDS)
#define POINT_DW ((14 * SEGMENT_LEDS) + 1)
#define POINT_comma ((14 * SEGMENT_LEDS) + 2)//

здесь нет ничего страшного
NUM_LEDS ((3светика в сегменте * 28(в каждом семи сегментном индикаторе 7 светиков их 4 индикатора)+3 точки = 87светиков в часах
POINT_UP (14(два первых семи сегмента "час") *3светика в сегменте) -----------это верхняя точка
POINT_DW (14(два первых семи сегмента "час") *3светика в сегменте) + 1верхняя точка----------это средняя точка
POINT_comma (14(два первых семи сегмента "час") *3светика в сегменте) +2верхняя точка и средняя точка ---------------это нижняя запятая


// добавлена отрисовка цифры минут, часов, смена экрана с эффектом сворачивания и последующем разворачивания.
// смена цвета от освещенности.
// коректировка хода часов с использованием Aging offset.
// новогодняя дискотека.
// оба датчика могут показывать отрицательную температуру с точностью до десятых, причем если в десятых ноль то он не высвечивается.
// добавлена третья точка. Две точки для часов и третья точка(запятая) при показе температуры и даты.
// при установки: часы, дата, год отображается полностью - Мигающий символ.
// минимальная яркость от фоторезистора добавлена в меню.
// Исправлено 10.12.2024
 

Вложения

Изменено:
  • Лойс +1
Реакции: kym13

seriy76

✩✩✩✩✩✩✩
18 Окт 2023
5
2
А нельзя сделать что бы двоеточие работала в режиме часов а в режиме отображения температуры светилася только нижний светодиод двоеточия. 2 вариант- не двоеточие. Только один светодиод. В режиме часов мигание посекундное. В режиме температуры постоянное свечение.
 

seriy76

✩✩✩✩✩✩✩
18 Окт 2023
5
2
По поводу рассеивателя. Любой рассеиватель дает размытость цифр. Мне нравиться вариант- прозрачный акрил или световод от жк тв( edge подсветка) с наклеенным на него тонировкой.Тонировка не очень сильная что бы не изменились цвета.
 

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
сделал корпус из остатков ламината, стекло (оконное) на него автомобильная тонировка пятерочка, и по совету
BOT_Zilla пленку-рассеиватель от старого ЖК телевизора, в низу видно глазок под фото резистор. как по мне получилось супер!(y) щас прошивку еще подправлю под себя и можно закрывать заднюю крышку.

IMG_20241208_182802.jpg
IMG_20241208_182717.jpg
IMG_20241208_182729.jpg
IMG_20241208_182749.jpg
IMG_20241208_182802.jpg

 
  • Лойс +1
Реакции: zarogoza и Wan-Derer

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
у меня яркость не меняется в ручную :( может кто зайти у себя в меню
// 8. (L) настройка яркости (если 00 то автоматическая) 0...25
и попробовать увеличить яркость, изменится ?;)
в коде я не нашёл где оно меняется вручную.
C++:
void BrightnessCheck() {

  if (auto_bright) {                         // если включена адаптивная яркость
  if (millis() - bright_timer > 100) {       // каждые 100 мс
     bright_timer = millis();                // сбросить таймер
     new_bright = map(analogRead(LIGHT_PIN), 0, 1020, LIGHT_MAX, LIGHT_MIN );     // когда темно тускло
                                                                                  // при 1023 в полной темноте мерцают диоды   
    // new_bright = map(analogRead(LIGHT_PIN), 0, 1023, LIGHT_MIN, LIGHT_MAX );     // когда темно ярко
      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);                                            // установить новую яркость
     }
  }
}
наверно автор забыл дописать ...
C++:
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 );     // когда темно тускло
                                                                                  // при 1023 в полной темноте мерцают диоды   
      new_bright = map(analogRead(LIGHT_PIN), 160, 940, 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);}
}
}
а эту строчку вообще убрать,

#define auto_bright 1 // автоматическая подстройка яркости от уровня внешнего освещения (1 - включить, 0 - выключить)
так как она вносит противоречие этому условию
#define SET_LIGHT 0 // Настройка яркости (если 0 то автоматическая) 0...25
 
  • Лойс +1
Реакции: kym13 и zarogoza

zarogoza

✩✩✩✩✩✩✩
29 Авг 2021
7
7
@Serzh2000, Посмотрел, у меня тоже в ручную яркость не меняется. Внес Вашу поправку, заработало, яркость теперь меняется в ручную.
Можно ли переделать Ваш проект Clock 2_1 под 2 светодиода на сегмент? Нужно изменить строчку
#define SEGMENT_LEDS 2 // Количество светодиодов на сегмент (точки по 1 светодиоду)
Или еще где-то нужно изменения вносить?
Спасибо.
 
Изменено:

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
не только изменить эту строчку. у меня на один светодиод больше чем у автора.
// добавлена третья точка. Две точки для часов и третья точка(запятая) при показе температуры и даты.
 

влад 55

✩✩✩✩✩✩✩
2 Июн 2020
6
0
Подскажите ,пожалуйста, можно ли корректировать на часах точное время используя только кнопки час и минуты или только с помощью компа?
 

Serzh2000

✩✩✩✩✩✩✩
8 Фев 2021
15
7
да, заходишь в меню и выставляешь нужную цифру.
// 16. ( )Режим корректировки Aging offset.
C++:
    case 16: { //=  Режим корректировки Aging offset
          boolean  znak;

          CORRECT = PressingButton(CORRECT, 0, 255);
          TIME_CORRECT = map(CORRECT, 0, 255, -127, 128);
          if (Aging_offset != TIME_CORRECT){Aging_offset = TIME_CORRECT; setRTC_Aging_offset();}
          int8_t e = TIME_CORRECT;

          if (e < 0) {e *= -1; znak = 1;}
          else {znak = 0;}

        byte a = e / 100;
        byte b = (e % 100) / 10;
        byte c = e % 10;

         if (znak <= 0) {DigitOut(PROBEL, a, b, c, 0, led_color);}
         else {DigitOut(15, a, b, c, 0, led_color);}
         break;}
 

влад 55

✩✩✩✩✩✩✩
2 Июн 2020
6
0
Спасибо за ответ, это вы,как я понял указали для вашего скетча,но у меня зашит Скетч который "доработал <FenickSnet> с Arduino.ru", часы собраны на ws2811 , один светодиод в сегменте и две кнопки в управлении, надо наверное пробовать ваш скетч, не знаю только подойдет ли он.

У меня такой , посмотрите
 

Вложения

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@влад 55, Старинный скетч, когда то тоже приложил к нему руку(маленькая буква "С" градусов)😁 Вообще есть код от Вячеслава_45 который скажем так более "навороченный", у него есть меню где можно выбрать и настроить кучу параметров без перепрошивки контроллера, температура, давление и т.д. имеют не два цвета, а градацию которую можно выбрать, есть ночной режим ну и так далее.
 
Изменено:

влад 55

✩✩✩✩✩✩✩
2 Июн 2020
6
0
Если можно выложите этот скетч от Вячеслава_45 ,хочу попробовать
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
@Serzh2000, Вы о чем? Если про скетч который я вам скинул то там править ничего не нужно. Он 100500 раз проверен и повторён.
 

влад 55

✩✩✩✩✩✩✩
2 Июн 2020
6
0
@Serzh2000, Если можно поправить мой скетч, а то от Владислава скетч надо переделывать , у меня распайка сегментов другая,схема пайки.jpg да и надо плату переделывать. Мне надо только добавить установку точного времени кнопками,желательно установленными двумя - час и минуты ,иначе надо переделывать плату, например при нажатии обоих кнопок часы останавливаются , а при отпускании в 00 секунд запускаются.
 

Вложения

Изменено: