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

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Народ, не пинайте сильно. Битый час сижу, не могу понять каким способом подсунуть одну из трех версий библиотек. С вариантом замены строк в скетче понял мгновенно, там все работает, а вот подсунуть к скетчу из поста 384 библиотеки не получается, пробовал и "установка zip библиотек" и заменой файлов в папках либрари в документах и программм файлс, все тчщетно, после замены файлов в папках ардуино айди даже стал ругаца матом., спас небольшой откат системы, но все же. Подскажите чайнику, что я делаю нетак? Повторюсь, вариант с заменой строк в скетче предложенный в п. 401 сработал, а вот не захотел останавливаться на достигнутом, решил воспользоваться вторым советом, применить "правильную" библиотеку, не получается. Подскажите алгоритм действий, заранее спасибо.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
Вот в этой библиотеке оба адреса прописаны
Заработало, появились метеоданные. Огромное спасибо!!!! Если не сложно, можно добавить отключаемый (закомментируемый) блок в программу с обработкой сигнала о температуре с датчика ds18b20? о вариантах идентификации где то были предложения ранее в районе стр №8 п. №199
Есть вот такой скетч <ClockStreet3.3.1_BMP280_18b20> с уличной температурой, я его не проверял у меня нет в наличии BMP280. Если нужно выложу.
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Есть вот такой скетч <ClockStreet3.3.1_BMP280_18b20> с уличной температурой, я его не проверял у меня нет в наличии BMP280. Если нужно выложу.
не он выложен в посте 360? Хотя давайте, буду методом тыка разбираться и заменять блоки в двух скетчах выложенных Вами. Попутно созрел вопрос схемного характера, интересует правильность подключения фоторезистора, а именно один конец фоторезистора вешаем на pin A0, от туда же (c A0) тянем подтяжку "к земле" 10-ти килограмовый резюк на массу, второй вывод фоторезистора куда цеплять: у одного автора программно прописана его запитка "высоким уровнем" с pin D9, у другого автора просто запитывается от "шины" +5в. В Вашем скетче (в комментариях) не обнаружил преобразования пина в выход питания для запитки фоторезистора, из чего делаю вывод что второй вывод фоторезистора в скетче предложенным Вами просто цепляется к +5в ?
 
Изменено:

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
не он выложен в посте 360? Хотя давайте, буду методом тыка разбираться и заменять блоки в двух скетчах выложенных Вами. Попутно созрел вопрос схемного характера, интересует правильность подключения фоторезистора, а именно один конец фоторезистора вешаем на pin A0, от туда же (c A0) тянем подтяжку "к земле" 10-ти килограмовый резюк на массу, второй вывод фоторезистора куда цеплять: у одного автора программно прописана его запитка "высоким уровнем" с pin D9, у другого автора просто запитывается от "шины" +5в. В Вашем скетче (в комментариях) не обнаружил преобразования пина в выход питания для запитки фоторезистора, из чего делаю вывод что второй вывод фоторезистора в скетче предложенным Вами просто цепляется к +5в ?
Если фоторезистор будет работать наоборот, поменяйте резисторы местами т.е. фоторезистор на землю, а 10К на +5

Тоже хотел в этот скетч втулить BME280, в BMP280 нет влажности. BME280 этих у меня полно
 

Вложения

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

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Тоже хотел в этот скетч втулить BME280, в BMP280 нет влажности. BME280 этих у меня полно
Спасибо!

остается открытым вопрос о "правильной" замене/установке библиотеки с прописанным адресом для bme280.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
остается открытым вопрос о "правильной" замене/установке библиотеки с прописанным адресом для bme280.
Я же скинул библиотеки, в них уже прописан адрес, а последняя библиотека в ней оба адреса прописаны

В 406 посте
 
Изменено:

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Я же скинул библиотеки, в них уже прописан адрес, а последняя библиотека в ней оба адреса прописаны
я их и пытаюсь подружить, просто невкрурю, через менеджер библиотек arduino.ide подключаю zip библиотеку, загружаю скетч в ардуинку ничего не меняется, методом вставки папок из архивов (не из всех а из одного из преложенных, из каждого по очереди) с заменой, тоже безрезультатно. Уверен что что то делаю нетак, но все же попробую разобраться, но и от внешней помощи не отказываюсь
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
я их и пытаюсь подружить, просто невкрурю, через менеджер библиотек arduino.ide подключаю zip библиотеку, загружаю скетч в ардуинку ничего не меняется, методом вставки папок из архивов (не из всех а из одного из преложенных, из каждого по очереди) с заменой, тоже безрезультатно. Уверен что что то делаю нетак, но все же попробую разобраться, но и от внешней помощи не отказываюсь
я их и пытаюсь подружить, просто невкрурю, через менеджер библиотек arduino.ide подключаю zip библиотеку, загружаю скетч в ардуинку ничего не меняется, методом вставки папок из архивов (не из всех а из одного из преложенных, из каждого по очереди) с заменой, тоже безрезультатно. Уверен что что то делаю нетак, но все же попробую разобраться, но и от внешней помощи не отказываюсь
Лучше разархивируй и потом папку закинь в C:\Program Files (x86)\Arduino\libraries

И насчет фоторезистора, можно в скетче вот эти параметры поменять если наоборот работает. Верхнюю закоментировать нижнюю раскоментировать или в верхней поменять местами слова <max с min>
new_bright = map(analogRead(BRI_PIN), 0, bright_constant, max_bright, min_bright); // когда темно уменьшает яркость
// new_bright = map(analogRead(BRI_PIN), 0, bright_constant, min_bright, max_bright); // когда темно увеличивает яркость

чтобы резисторы местами не менять
 
Изменено:

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Лучше разархивируй и потом папку закинь в C:\Program Files (x86)\Arduino\libraries
я так и тоже делал, из разархивированных архивов вставлял папку (с папкаМИ) и в библ в с прогр файлс, и в моих документах. В обчем, думать нада, завтра наверное снесу ардуино иде и поставлю заново, и на чистый скину Ваши библиотеки, может получицца.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
я так и тоже делал, из разархивированных архивов вставлял папку (с папкаМИ) и в библ в с прогр файлс, и в моих документах. В обчем, думать нада, завтра наверное снесу ардуино иде и поставлю заново, и на чистый скину Ваши библиотеки, может получицца.
в моих документах можно все библиотеки удалить, они могут конфликтовать с теми что находятся в програм файлах. Всё спать, у нас уже пол первого ночи:sleep:. У меня кстати все три библиотеки в програм файлах стоят
 
  • Лойс +1
Реакции: начинающий

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Победил блокнотом. Пришлось поменять местами значения (0Х77) и (0Х76) в файле ---- .h, перезалил скетч и появились все метеоданные. Спасибо огромное всем откликнувшимся!!!
 

poty

★★★★★★★
19 Фев 2020
3,541
1,010
В трёх библиотеках просмотрел на пять раз не нашёл bme.begin(); такую строку:rolleyes:
В приведённой Вами библиотеке файл Adafruit_BME280.h линия 218:
C++:
 bool begin(uint8_t addr = BME280_ADDRESS, TwoWire *theWire = &Wire);
Пришлось поменять местами значения (0Х77) и (0Х76) в файле ---- .h
Мдааа... Я этот код привёл для того, чтобы работало с ИСХОДНОЙ библиотекой без всяких в ней правок. И это - правильный вариант! А "правильная библиотека" - лишь костыль, если разбираться неохота.
 

bort707

★★★★★★✩
21 Сен 2020
3,295
958
Победил блокнотом. Пришлось поменять местами значения (0Х77) и (0Х76) в файле ---- .h
пипец, ребята, а язык программирования никто учить не пробовал?
Что, по вашему, означает этот заголовок функции begin() :
C++:
bool begin(uint8_t addr = BME280_ADDRESS, TwoWire *theWire = &Wire);
Он означает что функция принимает адрес датчика КАК ПАРАМЕТР!
А значит можно было просто в скетче часов написать
C++:
bme.begin(0x77);
с нужным адресом и ничего в библиотеке не менять...
 
Изменено:
  • Лойс +1
Реакции: начинающий

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
Сегодня за бортом -3 градуса. Попробовал высунуть bme280 за окно. Наблюдал за падением температуры на часах (скетч из #384), было замечено, что при понижении температуры ниже +10 градусов (датчик ведь был до этого в комнате, и за окном остывал постепенно) появляется "незначащий нуль" как ранее в часах, т.е. последовательность значений температуры выглядит следующим образом: 12, 11, 10, 09, 08, 07.......02, 01, 00, 0 , 0 , а вод при достижении отрицательных значений температуры показания в "младшем" разряде "ЧЧ" (часов, (не минут)) пропали, а в старшем разряде часов (десятки часов) все время светится "0". Занес bme280 в помещение, датчик постепенно нагревался и показания температуры появлялись в обратной последовательности, так же с незначащим нулем перед "единицами" градуса.
 

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
я их и пытаюсь подружить, просто невкрурю, через менеджер библиотек arduino.ide подключаю zip библиотеку, загружаю скетч в ардуинку ничего не меняется, методом вставки папок из архивов (не из всех а из одного из преложенных, из каждого по очереди) с заменой, тоже безрезультатно. Уверен что что то делаю нетак, но все же попробую разобраться, но и от внешней помощи не отказываюсь
Заходишь в с: программные файлы, ардуино, библиотеки,
Сегодня за бортом -3 градуса. Попробовал высунуть bme280 за окно. Наблюдал за падением температуры на часах (скетч из #384), было замечено, что при понижении температуры ниже +10 градусов (датчик ведь был до этого в комнате, и за окном остывал постепенно) появляется "незначащий нуль" как ранее в часах, т.е. последовательность значений температуры выглядит следующим образом: 12, 11, 10, 09, 08, 07.......02, 01, 00, 0 , 0 , а вод при достижении отрицательных значений температуры показания в "младшем" разряде "ЧЧ" (часов, (не минут)) пропали, а в старшем разряде часов (десятки часов) все время светится "0". Занес bme280 в помещение, датчик постепенно нагревался и показания температуры появлялись в обратной последовательности, так же с незначащим нулем перед "единицами" градуса.
Я не пробовал измерять отрицательные температуры, а сейчас проверить не могу, у нас сейчас даже ночью плюсовая температура
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
В скетче clockstreet3-3-1_bmp280_18b20-ino не отображается двоеточие, давление, температура с BME. пробовал удалить #include <iarduino_Pressure_BMP.h> вместо него подключал #include <Adafruit_BME280.h> при компилировании выдает ошибки:
error: 'class Adafruit_BME280' has no member named 'temperature'; did you mean 'readTemperature'?,
error: 'class Adafruit_BME280' has no member named 'pressure'; did you mean 'readPressure'?
exit status 1
'class Adafruit_BME280' has no member named 'temperature'; did you mean 'readTemperature'?
 

bort707

★★★★★★✩
21 Сен 2020
3,295
958
при понижении температуры ниже +10 градусов (датчик ведь был до этого в комнате, и за окном остывал постепенно) появляется "незначащий нуль" как ранее в часах,
как дети малые :)
Я же вам показал, как убрать нуль в часах - неужели трудно сделать тоже самое для температуры?
Смотрите, сейчас у вас две последние строки процедуры TempToArray() выглядят так:
C++:
digit = celsius % 10;
  BrightDigit(digits[digit], (NUM_LEDS - LEDS_IN_SEGMENT * 28 - DOTS_NUM));
чтобы убрать нуль, меняем на это:
C++:
digit = celsius % 10;
if (digit != 0) BrightDigit(digits[digit], (NUM_LEDS - LEDS_IN_SEGMENT * 28 - DOTS_NUM));
else BrightDigit(0, (NUM_LEDS - LEDS_IN_SEGMENT * 28 - DOTS_NUM));
 
  • Лойс +1
Реакции: начинающий

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
как дети малые :)
Я же вам показал, как убрать нуль в часах - неужели трудно сделать тоже самое для температуры?
Смотрите, сейчас у вас две последние строки процедуры TempToArray() выглядят так:
C++:
digit = celsius % 10;
  BrightDigit(digits[digit], (NUM_LEDS - LEDS_IN_SEGMENT * 28 - DOTS_NUM));
чтобы убрать нуль, меняем на это:
C++:
digit = celsius % 10;
if (digit != 0) BrightDigit(digits[digit], (NUM_LEDS - LEDS_IN_SEGMENT * 28 - DOTS_NUM));
else BrightDigit(0, (NUM_LEDS - LEDS_IN_SEGMENT * 28 - DOTS_NUM));
А отрицательные температуры начнут отображаться после устранения первого косяка?
 

bort707

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

Да, еще - при двузначных отрицательных темературах вместе со знаком Цельсия получается пять символов - то есть все не влезет, надо знак "С" убирать, оставить только кружок
 
Изменено:

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
пипец, ребята, а язык программирования никто учить не пробовал?
Что, по вашему, означает этот заголовок функции begin() :
C++:
bool begin(uint8_t addr = BME280_ADDRESS, TwoWire *theWire = &Wire);
Он означает что функция принимает адрес датчика КАК ПАРАМЕТР!
А значит можно было просто в скетче часов написать
C++:
bme.begin(0x77);
с нужным адресом и ничего в библиотеке не менять...
огромное спасибо, действительно все намного проще, ну не нашлось на момент тестирования больше советчиков. ЗАРАБОТАЛО просто добавлением адреса в строке 112 скетча из #384:
bme.begin(0x76); Спасибо. Вот так мало по малу накапливается опыт и знания.
 
Изменено:

kym13

★★★✩✩✩✩
14 Ноя 2020
716
118
посмотрел в код - нет, не начнут, у вас в наборе символов нет "минуса", да и впроцедуре обработка отрицательных значений вовсе не предусмотрена
Вот только хотел сказать, что нет в коде отображения отрицательных температур. Уважаемый bort707 , а Вы можете добавить в код отображение отрицательных температур, так сказать чтобы помочь двум "чайникам":rolleyes:
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
посмотрел в код - нет, не начнут, у вас в наборе символов нет "минуса", да и впроцедуре обработка отрицательных значений вовсе не предусмотрена
В таком случае возник вопрос, есть ли смысл пилить дальше этот скетч? Или лучше переключить внимание на устранение траблов с подключением bme280 в скетче от ASM clockstreet3-3-1_final-ino пост #360 ?

Да, в принципе ничего страшного в том нет если пропадет значек цельсия "С", символ градуса "°" ведь останется, этого думаю будет достаточно для идентификации размерности и наименования отображаемого метеопараметра.
 
Изменено:

bort707

★★★★★★✩
21 Сен 2020
3,295
958
В таком случае возник вопрос, есть ли смысл пилить дальше этот скетч? Или лучше переключить внимание на устранение траблов с подключением bme280 в скетче от ASM clockstreet3-3-1_final-ino пост #360 ?
реально оба кода на 95% совпадают, какой больше нравится - тот и пилите. В коде #360 обработка отрицательных температур, на первый взгляд, расписана верно - можно посмотреть как там и сделать тут по аналогии
 

начинающий

★✩✩✩✩✩✩
13 Дек 2020
130
10
реально оба кода на 95% совпадают, какой больше нравится - тот и пилите. В коде #360 обработка отрицательных температур, на первый взгляд, расписана верно - можно посмотреть как там и сделать тут по аналогии
что то на предмет "по аналогии" не очень получается, пробовал "по аналогии" в #360 заменить датчик BMP280 на BME280 при компиляции выпадают ошибки о не соответствующих или не существующих параметрах. #427
 

bort707

★★★★★★✩
21 Сен 2020
3,295
958
на предмет "по аналогии" не очень получается
"аналогию" надо уметь видеть :)
Если просто перенести код показа температуры из #360 - тут не заработает. Нужно еще добавить в таблицу символов "минус" и "пробел" и поменять их индексы в коде. Пробуйте
 
  • Лойс +1
Реакции: начинающий