Перейти к содержанию

Сборка светодиодной ленты на WS2812B


Рекомендуемые сообщения

6 минут назад, IMXO сказал:

не посредственно то, что подразумевает адрес , номер исполнительного устройства

Давайте так. Вернемся к определению адресации, одно из значений которого "метод идентификации местоположения объекта". Вы можете обратиться к любому из 10 последовательно включенных WS2812B? Думаю да. Значит Вы можете идентифицировать любой из них.

Я думаю, что это просто вопрос терминологии!

А если прикрутить к ним тот же интерфейс в виде библиотеки, то вопрос вообще отпадет!

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А если значение переменной это адрес переменной?  Указатель на саму себя, рекурсия давайте это все не адресация это цифры)

А в и тоге все это интерфейс управления!)

Изменено пользователем 1m0rta1
Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

4 минуты назад, IMXO сказал:

думаю что нет

Хорошо. Давайте по-другому. У Вас есть массив из 10 24-х битных ячеек, который Вы регулярно шлете по шине в сторону линейки из 10 WS2812b. Вы сможете путем изменения параметров одной из них изменить цвет этой ячейки?

Надеюсь что да. Ну и что, что это не прямая адресация?!

Изменено пользователем kotwlf
Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

1 минуту назад, IMXO сказал:

нет не прямая

Все верно, совершенно не прямая! Но адресация есть?

Да, по сути, будет перезаписан весь массив от 1 до N-1, но это просто вопрос реализации!

1 минуту назад, 1m0rta1 сказал:

у них адрес цвет

У них адрес - это порядковый номер в массиве 24-х битных переменных цвета.

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, 1m0rta1 сказал:

если шин 10

Пишется элементарная процедура с 3 входными значениями(X,Y,RGB), которая приводит отображение в матрице в соответствие с необходимым.

Ссылка на комментарий
Поделиться на другие сайты

Только что, kotwlf сказал:

Но адресация есть?

нет. для ds18b20,  еще тысячи МС последовательного доступа адресация  есть. для WS2812b его нет

ЗЫ пошли по второму кругу, не вижу смысла повторятся

Ссылка на комментарий
Поделиться на другие сайты

адрес = цвет =)

Но ТС советую брать блок питания рассчитанный на все линейки по напряжению как советует производитель и по току в 2 раза больше, а ток на линейки уменьшить на 30 %)

Изменено пользователем 1m0rta1
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Привет. Проблема такая-работают только первые 6 светодиодов. Я вырезал неработающий первый диод и припаял ленту -не работает. Сама подсветка реагирует на экран-цвета меняет,только первые 6 диодов. В режиме подсветки работают те же диоды только одним цветом. Ошибок не выдает. Напряжение на выходе ленты-5 вольт как и на входе, цепь не разомкнута.Что делать-вариантов уже нету,спасите пожалуйста( Лента 2 метра, 92 диода

Скрытый текст

 

001include <bitswap.h>

002#include <chipsets.h>

003#include <color.h>

004#include <colorpalettes.h>

005#include <colorutils.h>

006#include <controller.h>

007#include <cpp_compat.h>

008#include <dmx.h>

009#include <FastLED.h>

010#include <fastled_config.h>

011#include <fastled_delay.h>

012#include <fastled_progmem.h>

013#include <fastpin.h>

014#include <fastspi.h>

015#include <fastspi_bitbang.h>

016#include <fastspi_dma.h>

017#include <fastspi_nop.h>

018#include <fastspi_ref.h>

019#include <fastspi_types.h>

020#include <hsv2rgb.h>

021#include <led_sysdefs.h>

022#include <lib8tion.h>

023#include <noise.h>

024#include <pixelset.h>

025#include <pixeltypes.h>

026#include <platforms.h>

027#include <power_mgt.h>

028 

029/*

030   Управление лентой на WS2812 с компьютера + динамическая яркость

031   Создано не знаю кем, допилил и перевёл AlexGyver <a href="http://alexgyver.ru/" title="http://alexgyver.ru/" rel="nofollow">http://alexgyver.ru/</a>

032   2017

033*/

034//----------------------НАСТРОЙКИ-----------------------

035#define NUM_LEDS 92          // число светодиодов в ленте

036#define DI_PIN 13            // пин, к которому подключена лента

037#define OFF_TIME 10          // время (секунд), через которое лента выключится при пропадаании сигнала

038#define CURRENT_LIMIT 2000   // лимит по току в миллиамперах, автоматически управляет яркостью (пожалей свой блок питания!) 0 - выключить лимит

039 

040#define START_FLASHES 1      // проверка цветов при запуске (1 - включить, 0 - выключить)

041 

042#define AUTO_BRIGHT 1        // автоматическая подстройка яркости от уровня внешнего освещения (1 - включить, 0 - выключить)

043#define MAX_BRIGHT 255       // максимальная яркость (0 - 255)

044#define MIN_BRIGHT 50        // минимальная яркость (0 - 255)

045#define BRIGHT_CONSTANT 500  // константа усиления от внешнего света (0 - 1023)

046// чем МЕНЬШЕ константа, тем "резче" будет прибавляться яркость

047#define COEF 0.9             // коэффициент фильтра (0.0 - 1.0), чем больше - тем медленнее меняется яркость

048//----------------------НАСТРОЙКИ-----------------------

049 

050int new_bright, new_bright_f;

051unsigned long bright_timer, off_timer;

052 

053#define serialRate 115200  // скорость связи с ПК

054uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;  // кодовое слово Ada для связи

055#include <FastLED.h>

056CRGB leds[NUM_LEDS];  // создаём ленту

057boolean led_state = true;  // флаг состояния ленты

058 

059void setup()

060{

061  FastLED.addLeds<WS2812, DI_PIN, GRB>(leds, NUM_LEDS);  // инициализация светодиодов

062  if (CURRENT_LIMIT > 0) FastLED.setMaxPowerInVoltsAndMilliamps(5, CURRENT_LIMIT);

063 

064  // вспышки красным синим и зелёным при запуске (можно отключить)

065  if (START_FLASHES) {

066    LEDS.showColor(CRGB(255, 0, 0));

067    delay(500);

068    LEDS.showColor(CRGB(0, 255, 0));

069    delay(500);

070    LEDS.showColor(CRGB(0, 0, 255));

071    delay(500);

072    LEDS.showColor(CRGB(0, 0, 0));

073  }

074 

075  Serial.begin(serialRate);

076  Serial.print("Ada\n");     // Связаться с компом

077}

078 

079void check_connection() {

080  if (led_state) {

081    if (millis() - off_timer > (OFF_TIME * 1000)) {

082      led_state = false;

083      FastLED.clear();

084      FastLED.show();

085    }

086  }

087}

088 

089void loop() {

090  if (AUTO_BRIGHT) {                         // если включена адаптивная яркость

091    if (millis() - bright_timer > 100) {     // каждые 100 мс

092      bright_timer = millis();               // сброить таймер

093      new_bright = map(analogRead(6), 0, BRIGHT_CONSTANT, MIN_BRIGHT, MAX_BRIGHT);   // считать показания с фоторезистора, перевести диапазон

094      new_bright = constrain(new_bright, MIN_BRIGHT, MAX_BRIGHT);

095      new_bright_f = new_bright_f * COEF + new_bright * (1 - COEF);

096      LEDS.setBrightness(new_bright_f);      // установить новую яркость

097    }

098  }

099  if (!led_state) led_state = true;

100  off_timer = millis(); 

101 

102  for (i = 0; i < sizeof prefix; ++i) {

103waitLoop: while (!Serial.available()) check_connection();;

104    if (prefix == Serial.read()) continue;

105    i = 0;

106    goto waitLoop;

107  }

108 

109  while (!Serial.available()) check_connection();;

110  hi = Serial.read();

111  while (!Serial.available()) check_connection();;

112  lo = Serial.read();

113  while (!Serial.available()) check_connection();;

114  chk = Serial.read();

115  if (chk != (hi ^ lo ^ 0x55))

116  {

117    i = 0;

118    goto waitLoop;

119  }

120 

121  memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));

122  for (uint8_t i = 0; i < NUM_LEDS; i++) {

123    byte r, g, b;

124    // читаем данные для каждого цвета

125    while (!Serial.available()) check_connection();

126    r = Serial.read();

127    while (!Serial.available()) check_connection();

128    g = Serial.read();

129    while (!Serial.available()) check_connection();

130    b = Serial.read();

131    leds.r = r;

132    leds.g = g;

133    leds.b = b;

134  }

135  FastLED.show();  // записываем цвета в ленту

136}

 

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...