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

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
@kym13, я не настоящий сварщик - то бишь электронщик, я больше в коде разбираюсь.
...Не забудьте только читать контрольную сумму с датчика - в этом случае вы будете уверенны, что обмен по кабелю идет без ошибок.
О кстати нужная тема, не подскажете как это делается, а то в будущем тоже предстоит вынос датчика метров на 15...20 сначала временно в качестве эксперимента, если получится хочу у себя на работе замутить "метеочасы" на стене цеха, ближайшее по периметру окно как раз не ближе 15 метров, при положительном результате сверлим отверстие в стене, но так, чтобы можно было "из окна" вывесить на улицу экран стивенсона с bme280 внутри.
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, я бы не советовал витую на уличный, проблема с пайкой) себе заменил на ксвв 4*0,5
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, паяется хорошо и не ломается, с витой от телефона замучался паять, постоянно ломался, сбои были в чтении))
На три не было подходящего, поэтому и 4)
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
Появилась идея, реализовать предсказатель погоды.
Надо придумать как лучше отобразить.
Скетч можно взять из проекта с предсказанием погоды.
 

bort707

★★★★★★✩
21 Сен 2020
3,295
958
Выводить что-либо на семи-сегментные индикаторы, кроме цифр - весьма затруднительно. Если очень хочется напихать в обычные часы кучу новых функций - я бы задумался о другом дисплее
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
Можно сымитировать, например солнце в левом верхнем углу, жёлтым цветом, тучу, 3 и 4 сегмент верхняя часть синим цветом, грозу можно тёмно-синим цветом, или что-то аналогичное)
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Погонял пару дней скетч из 442 поста, всё отлично, при отрицательной температуре высвечивается (-) минус (положил кусок замороженного теста на датчик), цвета в скетче зашиты красивые. Делаю часы не себе и по просьбе "заказчика" отключил: 1) точки чтобы не моргали(говорят раздражают); 2) температуру с DS3231(а то масло масляное, два датчика в одном месте перебор). Выглядеть будут примерно так, называется "паспарту" рамка А4 для фото, при отключённых часах просто чистый белый фон, не видно цифр.
 

Вложения

  • 55.8 KB Просмотры: 21
  • 59 KB Просмотры: 23
  • 58.5 KB Просмотры: 18
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, так телефонный такой же, как и витая пара, только 4 жилы. Можешь попробовать, цена не кусается, разница небольшая у них. Но после замены на моножил, проблемы с чтением пропали. Припаялся на улице превосходно) до сих пор не было сбоя в отсутствии сигнала с датчика...
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Люди добрые научите пожалуйста, как комментировать, отключать ненужные функции в #442 на примерах: 1. отключения "радуги" при смене минут, и на примере 2. исключения из датчиков и показа температуры с датчика ds18b20 ?
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Люди добрые научите пожалуйста, как комментировать, отключать ненужные функции в #442 на примерах: 1. отключения "радуги" при смене минут, и на примере 2. исключения из датчиков и показа температуры с датчика ds18b20 ?
// cylon (); // Эффект "Радуга" при каждом изменении цвета, если нужно раскоментируйте, у меня это 213 строка

в этом скетче посмотри, в нем отключена радуга и 18b20, отключение точек 181 строка(ставишь 1 точки отключаются но часы идут, 2 -раз в сек, 3 раз в 2 сек т.д.)
 

Вложения

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

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
А вот тут созрела мысль, а нельзя ли отключить верхнюю точку в двоеточии при отображении даты? получилось бы вполне наглядно, например вместо 09:03 светилось бы 09.03
 

bort707

★★★★★★✩
21 Сен 2020
3,295
958
это же лента, каждая точка из двоеточия управляется отдельно. Надо в процедуру показа даты дописать функцию , которая будет зажигать нужную вам точку. Еще важно не забыть при выходе из режима поменять работу точек на обычную

я с нуля примеры кода не пишу :) Попробуйте написать сами - если будут проблемы. помогу.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,319
1,319
Москва
@bort707, На сколько я помню (хотя все могло и поменяться) есть отдельная процедура вывода точек. Так вот в ней надо смотреть если выводить время, то надо оставить штатную процедуру, а если дату то просто зажечь нижнюю точку, а верхнюю погасить.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Сегодня собрал родителям часы, вот что получилось. 14 градусов это на улице. Я собственно почему выложил. Хочу спросить какая читаемость лучше?

Или вот эта?
 

Вложения

Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
@kym13, так вставь в том месте, где нужно выключить точки) я так делал у себя)
Люди добрые научите пожалуйста, как комментировать, отключать ненужные функции
C++:
/*
тут закомментирован код
*/

//эта строка закомментирована
 
  • Лойс +1
Реакции: начинающий

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
leds[56] = 0x000000; //56 диод, начиная с нуля будет выключен, делай аналогично, как будет у тебя
Вывод даты и месяца в скетче. у меня строка 373 BrightDots(1); //разделительные точки включены этот параметр отвечает за отображение точек, если поставить "0" то при показе даты точки светится не будут, а как сделать чтобы одна только тухла пока не знаю.

@kym13, так вставь в том месте, где нужно выключить точки) я так делал у себя)

C++:
/*
тут закомментирован код
*/

//эта строка закомментирована
Если тебе надо много строк закоментировать то в начале ставишь /* затем пишешь то что хочешь и в конце ставишь */ - это называется многострочный коментарий. Если надо закоментировать какую либо одну строку то в самом начале строки ставишь "//" без кавычек

У меня есть модуль RTC_pcf_8563, как бы его вставить в скетч вместо DS3231?

@kym13, я бы не советовал витую на уличный, проблема с пайкой) себе заменил на ксвв 4*0,5
Взял 5 метров ксвв 4*0,5, а он ничё такой аккуратненький. Датчик 18b20(не модуль) припаял, подтягивающий резистор разместил практически на ногах ардуины и всё прекрасно работает.
 

bort707

★★★★★★✩
21 Сен 2020
3,295
958
Вывод даты и месяца в скетче. у меня строка 373 BrightDots(1); //разделительные точки включены этот параметр отвечает за отображение точек, если поставить "0" то при показе даты точки светится не будут, а как сделать чтобы одна только тухла пока не знаю.
тут вариантов куча - можно просто погасить одну точку по ее номеру, как сказал @ASM - но это плохое решение, потому что привязано к конкретному номеру диода. Поменяете число диодов на сегмент - и все посыпется.
Лучше, как советует @Старик Похабыч, найти код процедуры BrightDots(). посмотреть как внутри нее зажигаются точки и сделать по аналогии, только для одной точки, а не для двух
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Вот этот параметр в скетче:
//новые координаты точек
void BrightDots (boolean Dot_On) {
for (uint8_t i = 0; i < DOTS_NUM; i++) {
leds[(LEDS_IN_SEGMENT * 14)+ i] = (Dot_On) ? ledColor : 0;
}
}

void BrightDigit (uint8_t digit, uint8_t cursor)
{
for (uint8_t mask = 0b01000000; mask > 0; mask = mask >> 1)
{
for (uint8_t i = 0; i < LEDS_IN_SEGMENT; i++)
{
leds[cursor] = (digit & mask) ? ledColor : 0;
cursor ++;
}
}
}
 

poty

★★★★★★★
19 Фев 2020
3,541
1,010
Ещё бы понять где начало ленты, выводящей точки: снизу или сверху?