Делаю диодный задний фонарь на ws2812b, Нужна небольшая помощь с прошивкой

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
Ребятки всем привет. Отдельный привет самому гуру Александру, насмотревшись канал которого я решился на свою авантюру)
Итак небольшое вступление. Хочу вдохнуть вторую жизнь в фонарь-стоп-габарит многиг СССР авто (Уаз, Луаз, ...) Смотрите фото ниже. Есть Стекло фонаря (в оригинале красно-желтое), заказал стекло нового образца прозрачное. Заказал кучу адресных светодиодов, на 3д принтере напечатал трафарет для диодов. Спаял их в последовательную матрицу. Вышла матрица 9 на 20. Вот теперь хочу под нее прошивку наваять но пока что не хватает знаний. Что хотелось бы:
1. Динамическая стрелка поворота при включении ручки указателя поворотов.
2. Какая то класная динамическая заливка при торможении.
3. в качестве габаритов вполне устраивает "горящий огонь" от автора))) Смотрится афигенно, тачила стоит или едет а в габаритах огонь горит)
4. Надо как то в прошивке указать что если замыкатся ручка правого поворота то мигает на правом фонаре, если левого то на левом. Не знаю как это реализовать чтобы не ставить по ардуине в каждый фонарь.
Что есть: (смотрите фото)
2шт 10А преобразователя 12в в 5В на каждый фонарь по такому.
2 фонаря с 2 трафаретами под диоды.
матрица 9 на 20 (-8шт) 174шт с диодами, но с одним НО! по средине в силу конструкции фонаря не помещаются 8 диодов(по 4 с каждой стороны) Как обойти этот момент? можно конечно припаять их на весу и оставить внутри фонаря (это проще всего) иначе я не понял как обмануть матрицу, ибо понимаю что если их нет, то порядок собьется и все что ниже этих строк будет уже работать не правильно. Вобщем идея есть, сам не до конца понимаю что хочу) но желание сотворить шедевр - огромное)
 

Вложения

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
На ярком солнце эти фонари не будут видны.
Тоже об этом думаю, но именно эти фонари с родными лампочками тоже на ясном солнце практически не видны. Но если уж очень слабо будет светить днем, то сделаю новый трафарет без рассеивателя, а просто с сквозными отверстиями под диоды, чтобы было ярче видно. Все ж познается в сравнении) перекинуть диоды с формы в форму - дело 10 минут)
Жаль не могу залить сюда видео, при свете днем в руках очень даже ярко
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,407
976
58
Марий-Эл
Тоже об этом думаю, но именно эти фонари с родными лампочками тоже на ясном солнце практически не видны. Но если уж очень слабо будет светить днем, то сделаю новый трафарет без рассеивателя, а просто с сквозными отверстиями под диоды, чтобы было ярче видно. Все ж познается в сравнении) перекинуть диоды с формы в форму - дело 10 минут)
Жаль не могу залить сюда видео, при свете днем в руках очень даже ярко
У меня у самого УАЗ. Если фонари в порядке и стоят именно те лампы, которые положено, то я бы не сказал, что они херово светят.
 

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
У меня ЛУАЗ) фонари такие же как и в УАЗ) если яркое солнце слабовато видно. Но как мне кажется яркость диода же намного выше лампочки! Должно быть видно! Ну поставим посмотрим ) если хреновго - снимем!
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
724
148
теперь представьте, как будут отвлекать эти моргалки сзади едущих водил
я пассажиром ездил и у некоторых машин яркость регулируется динамически и при низкой яркости ночью заметно мерцание и когда задние фары долбят по глазам. то от мерцания все слезится
а тут еще какие-то дискотеки собрался устраивать

нестандартный огонь сразу выделяется в толпе машин и отвлекает от дороги
именно поэтому до сих пор делают стрелочные указатели, а не цифровые, т.к. отвлекает мозги
 

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
Динамическая стрелка как у Ауди очень даже ничего. Сейчас уже все повороты бегущие. Здесь что собрались самые правильные водители и пассажиры? Напомню делается фонарь-стоп-поворотник! На видео просто пример прошивки от Гайвера. Мне не нада дискотека, мне нужна помощь как обмануть то что посередине нет 8 диодов где винты стекла, надо как то обмануть чтобы не нарушалась сама матрица. Хочу просто данимичную стрелку, хочу полностью весь фонарь белым если включена задняя скорость. Ну и возможно мерцание стопов при резком торможении. А то развели здесь нравоучения
 

Oleg2702

✩✩✩✩✩✩✩
30 Янв 2020
5
0
Тоже интересуюсь этим вопросом, делаю проект задних фонарей на sk 6812 rgbw. Габарит, стоп, динамический поворотник и задний ход... Всё это на Arduino nano. Вопрос в скетче. Гуру в этом вопросе,прошу откликнуться, есть несколько моментов которые мне в силу своей неопытности не осилить. )
 

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
Тоже интересуюсь этим вопросом, делаю проект задних фонарей на sk 6812 rgbw. Габарит, стоп, динамический поворотник и задний ход... Всё это на Arduino nano. Вопрос в скетче. Гуру в этом вопросе,прошу откликнуться, есть несколько моментов которые мне в силу своей неопытности не осилить. )
"Затюкали", закиндали палками нас с вами в этой теме. Всем не нравятся динамические фонари. Сам бы хотел помощи со скетчем, типа включаю поворот на всем фонаре динамическая стрелка какая то, если одно временно нажал тормоз то надо чтобы динамический стоп(ладно можно и статический) на пол фонаря, а остальная половина мигает поворот. Если это очень сложно или не выполнимо, то пусть хотябы половина фонаря будет всегда поворотом, а половина стопом но очень хочется динамическим. Если бы кто-то направил на истинный путь я бы дальше сам развил тему.
Давайте упростим задачу, киньте ссылку или расскажите как самому нарисовать динамическую стрелку в фонаре, а точнее в матрице 9 на 18?
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
724
148
как самому нарисовать динамическую стрелку в фонаре, а точнее в матрице 9 на 18?
зависит от того, как эта матрица устроена
еслио на сделана из адресной ленты, то первая строка кончается справа, а вторая строка может начинаться справа, а может и слева
как расположиш ленту

каждый светодиод состоит из 3х байт яркости 3х цветов
это можно представить как массив массивов 9x18, что составляет 162 светодиода х 3 байта = 486 байт экранного буфера в озу

береш листок и рисуеш матрицу 9 х 18, потом нумеруеш квадратики или кругляшки
потом закрашиваеш нужные кругляшки, чтобы у тебя был как бы стрелка или что ты там собрался рисовать
если стрелка будет одного цвета, то тогда все проще
нам нужен будет массив, который содержит номера светодиодов, которые ты закрасил

const byte arrow[15] = {5,6,7,8,15,20...};

далее тебе нужна функция, которая будет зажигать нужный светодиод в зависимости от его номера, а номер передается в качестве аргумента функции
еще можно передать второй аргумент в виде цвета

чтобы сделать анимацию - тебе надо выводить весь буфер в ленту каждый раз, а функция должна записывать в нужную ячейку экранного буфера 3 цифры от 0 до 255, которые будут соответствовать яркости и цвету светодиода под нужным номером

возможно в библиотеках для адресных лент есть готовые функции, которые зажигают светодиод с номером хх цветом уу и 50% работы за тебя уже сделано
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,407
976
58
Марий-Эл
"Затюкали", закиндали палками нас с вами в этой теме.
Не плачьте. Проблема выеденного яйца не стоит. Нужно только подумать. А думать вам не хочется, хочется всего и сразу. Представьте, что у вас там стоят диоды, но их не видно и вы их не засвечиваете. Вот и стройте алгоритм для пропуска этой "дырки"
 

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
@kalobyte, Спасибо большое! Это первое что мне нужно было, сама логика работы матрицы. Логику понял, заэто вам премного благодарен. Теперь бы еще знающего человека, который так же бы на пальцах рассказал как этот массив прикрутить к функции и какой именно. А нарисовать уже потом то что мне нужно думаю дело не тяжкое.
Спасибо всем, тема потихонечку двигается с места))
 

kalobyte

★★★✩✩✩✩
1 Янв 2020
724
148
как этот массив прикрутить к функции и какой именно.
есть готовая библиотека для работы с адресными лентами
у гивера тоже есть своя https://alexgyver.ru/microled/
там даже матрица есть и в ней есть функция
  • matrix.setPix(0, 0, mCOLOR(YELLOW));

в ней и передаются координаты светодиода и цвет
теперь тебе надо просто сделать массив двухмерный из координат тех светодиодов, что образуются стрелку
тогда задача упрощается до вывода в цикле массива с координатами в функцию setpix и после установки каждой координаты вызвать
  • matrix.show();
что такое двухмерный массив - есть на этом ресурсе в обучалке и про цикл тоже
не забудь сделать задержку в милисекундах перед вызовом функции show, чтобы анимация была заметная, а то выведет сразу всю стрелку и глаз не заметит

если работать с лентой, то вот функция для засветки светодиода по его номеру
strip.setColor(3, AQUA);
установить заранее заданный цвет аква на 3й светодиод
и потом вызвать обновление ленты strip.show();
 
Изменено:

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@romeshik, у меня Skoda superB 2014 года, хочу и себе такое сделать. Вот только как поступить с закруглёнными фонарями - даже и не представляю.
Может, на этот счёт идея у Вас есть? За полезную готов заплатить. Программные тонкости меня не интересуют, я пишу это всё в AVR Studio для Atmel, на С++, а чего посложнее - так в Keil, на том же С++. Arduino IDE - это так, отдых для мозгов.
 
Изменено:

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
@PiratFox, 3d принтер печатает все что угодно. У меня фонари плоские - я себе сделал плоскую пластину под диоды. У вас закругленные, в чем проблема? Делаем изогнутую подложку под диоды, но я бы все же все диоды делал направленные строго в одну сторону, именно назад. Чтобы ярче всего они светили сзади находящимся авто, а для бокового засвета можно посадить диоды поглубже и сделать по сторонам отражатели. Тут уже как фантазия разыграется и насколько хочется заморочиться)
P.S. У меня у самого Ауди А6 2008 с похожими как у вас фонарями, но еще с обычными лампами, а следующая такая же А6 была 2009 года уже с диодными стопами. Форма фонарей одинаковая, просто вместо стекол рассеивателей лампы установлены диоды с отражателями-рассеивателями. Но смотрят они строга назад, несмотря на изогнутость формы фонаря
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@romeshik, да я согласен!!! Проще всего вообще купить более современные фонари. И они есть. Дело тут не в деньгах. Поизвращаться как-то нужно. Мы что, не инженеры, что ли...
 

romeshik

✩✩✩✩✩✩✩
27 Янв 2020
9
0
@PiratFox, Я и не отправлял вас покупать)) я говорю что сделать просто) даже ваши заокругленные, тем более что там у вас матрица будет поменьше. А вот с проводкой и подключением мне кажется сложнее. У вас уже скорее всего стоит бортовик с кан шиной и опросом всех потребителей, и будет ругаться на фонари. Ну у меня в Ауди по крайней мере так. Обманками можно обмануть, но одно дело колхозить Луаз) второй дело Шкоду)))
 

Oleg2702

✩✩✩✩✩✩✩
30 Янв 2020
5
0
посмотрите кому не трудно мой скетч. был бы весьма признателен в помощи... все работает, (поворотник динамический, габарит, стоп, задний ход) но проблема в том, что они накладываются друг на друга при одновременном включении. не получается выставить приоритеты... может кто нибудь ткнет мне пальцем в чем ошибка.
 

Вложения

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Oleg2702, у вас с опросом порта поворотника про... В общем, неправильно Вы порт опрашиваете.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@romeshik, Ну, бортовой процессор, конечно есть. Даже в такой древней шкоде. Для меня нет проблем протянуть провода назад, но вот только контроллер отслеживает ток через каждую лампу. И как это обойти я не знаю. Пока что. Может, Вы мне подскажете, Ещё раз говорю, что готов ЗАПЛАТИТЬ за полезную консультацию по этой теме.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Oleg2702, да это не сложно. Вопрос ведь в том, что обманка будет потреблять ток такой же, как и лампы. Чего очень не хотелось бы.
 

Oleg2702

✩✩✩✩✩✩✩
30 Янв 2020
5
0
В этом ничего страшного нет, единственный минус сопротивлений в том что они греются. Неоднократно ставил, всё работает без нареканий.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
единственный минус сопротивлений в том что они греются.
Так вот этого и не хочется. Подсказали мне тут знакомые, что можно прошить контроллер, который ток отслеживает, вариантом прошивки для светодиодных фонарей (есть и такая).