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

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
"аналогию" надо уметь видеть :)
Если просто перенести код показа температуры из #360 - тут не заработает. Нужно еще добавить в таблицу символов "минус" и "пробел" и поменять их индексы в коде. Пробуйте
да пробую третий день уже, но даже немогу запустить bme280? т.к. в коде в нескольких местах привязка к BMP280, возможно всего не вижу, да и кроме того двоеточие у меня не моргает и не светится, хотя с кодом предложенным #384 двоеточие мигало даже с неинициализированным BME280, спасибо умные люди #424 подсказали самый простой выход, куда вписать адрес датчика.
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
а в #425 вы что описывали, разве не температуру с bme280? - значит он у вас работает... возьмите оттуда запуск bme и перенесите в тот скетч, что вы пилите
Тут возможно координаты не совпадают, хотя время показывает (без двоеточия) давление=000, т1=1, т2=0. ну 1 градус появляется по условию из скетча, хотя там написано т-1, тут для начала хотя бы заставить мигать точками. Что касается бме, разве недостаточно подключить <Adafruit_BME280.h> вместо <iarduino_Pressure_BMP.h> , там где бмп объявляется переменной iarduino_Pressure_BMP sensor(0x76) переписать так: Adafruit_BME280 sensor(0x76) а остальное оставить как есть т.к. бме обозван сенсором, и далее по скетчу будет обращение к сенсору? Ну сделал так, но одни ошибки при компиляции, придется наверное переписывать запуск бме через
bool begin(uint8_t addr = BME280_ADDRESS, TwoWire *theWire = &Wire); Но как всегда хочется найти самый короткий путь лечения. Как для начала заставить мигать точки в #410 ?
 

bort707

★★★★★★✩
21 Сен 2020
3,298
958
разве недостаточно подключить <Adafruit_BME280.h> вместо <iarduino_Pressure_BMP.h> , там где бмп объявляется переменной iarduino_Pressure_BMP sensor(0x76) переписать так: Adafruit_BME280 sensor(0x76) а остальное оставить как есть т.к. бме обозван сенсором, и далее по скетчу будет обращение к сенсору?
если методы в двух библиотеках разные(если честно - не смотрел), так просто не выйдет
 

aleksis7

✩✩✩✩✩✩✩
20 Фев 2019
5
6
@начинающий,вот на данный момент скетч.
Температура с DS18B20.. Температура, давление, влажность с BME280.. Температура с RTC. Число, месяц. Радуга при смене цвета.
Незначащие ноли отключены.
 

Вложения

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

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
@начинающий,вот на данный момент скетч.
Температура с DS18B20.. Температура, давление, влажность с BME280.. Температура с RTC. Число, месяц. Радуга при смене цвета.
Незначащие ноли отключены.
работает, но одна из температур, тем более все находится еще в помещении, отображается как -27 градусов, куда копать что менять?
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Подключение DS18B20
Спасибо, дествительно, воткнул в d10 заработало, сразу не заметил что в скетче другой пин прописан. Теперь в догонку еще вопрос: какие есть варианты установки даты (кнопки, программно в скетче) ?
 
Изменено:

aleksis7

✩✩✩✩✩✩✩
20 Фев 2019
5
6
Спасибо, дествительно, воткнул в d10 заработало, сразу не заметил что в скетче другой пин прописан. Теперь в догонку еще вопрос: какие есть варианты установки даты (кнопки, программно в скетче) ?
Минусовая температура с BME280 и DS18B20, Дату и время синхронизирую с компа в программе FLProg
 
  • Лойс +1
Реакции: начинающий

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
@начинающий,вот на данный момент скетч.
Температура с DS18B20.. Температура, давление, влажность с BME280.. Температура с RTC. Число, месяц. Радуга при смене цвета.
Незначащие ноли отключены.
Афигительно, то что нужно. Спасибо огромное!!!
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
ох, сколько понаписали) неужели столько сложности, заменить bmp на bme?) надо попробовать)
заменил bmp на bme, никаких проблем не вызвало, проверить не могу, нет датчика) влажность в код не прописывал, думаю сложности нет, в примерах к библиотеке он есть)
 

Вложения

Изменено:
  • Лойс +1
Реакции: Старик Похабыч

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Скетч из 442 поста это просто праздник какой то, то что доктор прописал. Можно даже сказать избыточен(температура с RTC и дата). Автору респект и уважуха.
Залил, всё работает, радугу отключил(не нравится свистопляска каждую минуту) и фоторезистор работал наоборот. При максимальной яркости на белом цвете потребляет 470 мА при 2 LED на сегмент.

Вот что получилось голубым данные с BME280, желтым с 18b20 кроме часов разумеется.

У меня еще вопрос к знающим людям. Какая допустимая максимальная длина провода между DS18b20 и ардуиной(у меня модуль с распаянными на нем резисторами и конденсаторами)?
 

Вложения

  • 26.9 KB Просмотры: 13
  • 40.2 KB Просмотры: 15
  • 32.9 KB Просмотры: 14
  • 38.6 KB Просмотры: 13
  • 33.2 KB Просмотры: 12
  • Лойс +1
Реакции: bort707

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
ох, сколько понаписали) неужели столько сложности, заменить bmp на bme?) надо попробовать)
заменил bmp на bme, никаких проблем не вызвало, проверить не могу, нет датчика) влажность в код не прописывал, думаю сложности нет, в примерах к библиотеке он есть)
Код не компилируется выдает ошибку в 211 строке ( invalid type argument of unary '*' (have 'int') )
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
У меня еще вопрос к знающим людям. Какая допустимая максимальная длина провода между DS18b20 и ардуиной(у меня модуль с распаянными на нем резисторами и конденсаторами)?
думаю модуль с распаянным резистором и конденсатором ближе к ардуине, а сам датчик на вынос трех проводным кабелем, думаю может лучше экранированным, экран припаять к "минус" питания датчика с двух сторон кабеля. длина подбирается экспериментально, тут же цифра а не аналог, т.е. в аналоге падение амплитуды сигнала от длины кабеля может способствовать искажению результата, а в цифре все иначе, даже если амплитуда сигнала упадет, к примеру на 30% логическая единица/ноль таковыми и останутся в соотношении. Т.е. в цифре измеряется частота сигнала в виде прямоугольных импульсов, длина кабеля на изменение частоты не повлияет, только если накрутить километр кабеля уровень сигнала может стать настолько мал, что прямоугольный импульс перестанет быть таковым и будет восприниматься ардуиной как "прямая линия" (кардиограмма пациента выпрямиться) и такой сигнал будет просто означать "отсутствие датчика". По вопросу можно предложить имитацию длинной линии тремя сопротивлениями номиналом равным сопротивлению каждой жилы кабеля планируемого к использованию. Както так. При необходимости можно будет применить преобразователь логических уровней, для восстановления амплитуды импульсов, к примеру CD4050 если очень надо далеко засунуть датчик.
 
Изменено:

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
Код не компилируется выдает ошибку в 211 строке ( invalid type argument of unary '*' (have 'int') )
Скетч использует 15206 байт (49%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 948 байт (46%) динамической памяти, оставляя 1100 байт для локальных переменных. Максимум: 2048 байт.
у меня нет проблем)
длина не помню, в гугл можно спросить, у меня около 13-15 метров, насколько помню)
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
длина не помню, в гугл можно спросить, у меня около 13-15 метров, насколько помню)
13-15 метров....... мне метра 4 максимум

ASM. #455. Скачал по новой, всё норм. Могу проверить если надо, у меня стенд собран.
 
Изменено:
  • Лойс +1
Реакции: начинающий

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
ASM. #455. Скачал по новой, всё норм. Могу проверить если надо, у меня стенд собран.
проверьте пожалуйста, мне тоже интересен результат. Завтра буду изучать что делал я правильно и не правильно, и почему у меня не получилось, надеюсь гдето запятую пропустил, не более.
 

bort707

★★★★★★✩
21 Сен 2020
3,298
958
У меня еще вопрос к знающим людям. Какая допустимая максимальная длина провода между DS18b20 и ардуиной(у меня модуль с распаянными на нем резисторами и конденсаторами)?
3-5м должно работать в любом случае, а так некоторые и на 25м датчик выносят
 
  • Лойс +1
Реакции: kym13

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
попробовал #448, все что у меня не работало - не заработало, даже двоеточие не мигает, а только время светится и то в старшем разряде часов двойка (у нас сейчас 21:48) двухцветная. Есть подозрение что данный скетч написан под другое направление соединений ленты, НО хотя время же показывает правильно, странно, что тогда, ждем результатов от экспертов.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
проверьте пожалуйста, мне тоже интересен результат. Завтра буду изучать что делал я правильно и не правильно, и почему у меня не получилось, надеюсь гдето запятую пропустил, не более.
Вот что получилось. Больше ни чего не показывает, часы не идут.
Всё спать, час ночи уже.
 

Вложения

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
может и у меня тот же эфект, думаю просто "картинка зависает" на той, что была на момент начала загрузки скетча в ардуину, и далее просто висяк.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
void setup() { // настройки
Serial.begin(9600);
FastLED.addLeds<WS2812B, LED_PIN, RGB>(leds, NUM_LEDS); // подключение ленты
pinMode(MIN_PIN, INPUT_PULLUP); // кнопка минутная
pinMode(HUR_PIN, INPUT_PULLUP); // кнопка часовая

//pinMode(A3, OUTPUT); // контакт GND барометра
//digitalWrite(A3, LOW); // подача земли на барометр
//pinMode(9, OUTPUT); // контакт VCC датчика осв
//digitalWrite(9, HIGH); // подача питания на датчик осв
}
Закоментировал эти строки(вообще не понимаю зачем они, если BME подключается через I2C, а датчик освещения к А0) часы стали отображатся, но точки не мигают часы не идут и ещё сразу после заливки появляются часы потом секунд через 5 появляется знак минус и в таком виде зависают
 

ASM

★★★★★✩✩
26 Окт 2018
1,918
422
вообще не понимаю зачем они
я так у себя сделал) сейчас попробую на своем варианте, только без BME)
все исправно работает)
часы есть, точки мигают, только температуру и давление не показывает, т.к. датчик стоит BMP, но скетч исправен)
только заменить BMP на BME и добавить влажность)
Что еще заметил
BMP 19060 байт (62%) памяти
BME 15206 байт (49%) памяти
что-то большая разница) с влажностью думаю немного прибавится)
BME 15802 байт (51%) памяти
 
Изменено:

bort707

★★★★★★✩
21 Сен 2020
3,298
958
@kym13, я не настоящий сварщик - то бишь электронщик, я больше в коде разбираюсь.
Мне кажется, что на 3м пойдет практически любой провод.
Если бы такой вопрос стоял передо мной - я бы просто попробовал.
Не забудьте только читать контрольную сумму с датчика - в этом случае вы будете уверенны, что обмен по кабелю идет без ошибок.