Самый длинный бегущий поворотник/СТОП сигнал

preview_player
Показать описание
Бегущие поворотники на адресной ленте WS2815 и Arduino Nano

Ссылки на товары для самостоятельной сборки:

Другие товары которые могут вас заинтересовать:

Если у вас есть лишние монеты, вы можете пожертвовать их на благо науки!
Карта: 4890 4200 5091 1770
Яндекс Деньги: 410012140583852
WebMoney: R346807776212, Z282612930364
Рекомендации по теме
Комментарии
Автор

#include <Adafruit_NeoPixel.h> // подключаем библиотеку
int count = 174; // количество пикселей
Adafruit_NeoPixel strip = Adafruit_NeoPixel(count, 7, NEO_RGB + NEO_KHZ800); //Инициализируем поворотник на 7 цифровом выходе
unsigned long time1;
int set3 = 0;
int set4 = 0;
int p = analogRead(A1);
void setup()
{
pinMode(4, INPUT); //Поворотник +12 вольт через делитель напряжения
pinMode(5, INPUT); //Поворотник +12 вольт через делитель напряжения
pinMode(6, INPUT); //Стоп сигнал +12 вольт через делитель напряжения

strip.begin();
strip.show();

#define speed1 4 // Скорость запуска включения (чем меньше тем быстрее включится)
#define speed2 3 // Столько пикселе включается одновременно
#define pix 15 // Количество пикселей бегущего блока при запуске

#define setback 500 //Задержка переключнния на Стоп (стоит пол секунды)

#define color 255, 180, 180 // Цвет белого при старте
#define yellow 255, 64, 0 // Цвет Поворотника

start ();
}
void loop()
{
p = analogRead(A1);
p = map(p, 0, 1023, 1, 24);
if (digitalRead(4) == HIGH and digitalRead(5) == HIGH)
{
for (int i = 0; i < count / 2 + 2 ; i += speed2)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(count / 2 - 2 - j, strip.Color(yellow));
strip.setPixelColor(count / 2 - 1 + j, strip.Color(yellow));
}
strip.show();
}
}
if (digitalRead(5) == LOW and digitalRead(4) == LOW and set4 == 0)
{
off ();
set4 = 1;
set3 = 0;
}
if (digitalRead(4) == HIGH and digitalRead(5) == LOW)
{
for (int i = 0; i < count / 2 + 2 ; i += speed2)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(count / 2 - 2 - j, strip.Color(yellow));
}
strip.show();
}
}
if (digitalRead(5) == LOW and digitalRead(4) == LOW and set4 == 0)
{
off ();
set4 = 1;
set3 = 0;
}
if (digitalRead(5) == HIGH and digitalRead(4) == LOW)
{
for (int l = 0; l < count / 2 + 1; l += speed2)
{
for (int j = 0; j < l; j++)
{
strip.setPixelColor(count / 2 - 1 + j, strip.Color(yellow));
}
strip.show();
}
}
if (digitalRead(5) == LOW and digitalRead(4) == LOW and set4 == 0)
{
off ();
set4 = 1;
set3 = 0;
}

if (millis() - time1 > setback) // Задержка переключения на ДХО
{
time1 = millis();
{
if (digitalRead(4) == LOW and digitalRead(5) == LOW and digitalRead(6) == HIGH and set3 == 0)
{
for (int k = 0; k < count; k++)
{
strip.setPixelColor(k, strip.Color(200, 0, 0));
}
strip.show();
set3 = 0;
}
if (digitalRead(6) == LOW)
{
off ();
}
}
}
}
void off ()
{
for (int k = 0; k < count; k++)
{
strip.setPixelColor(k, strip.Color(0, 0, 0));
}
strip.show();
}

void show ()
{
time1 = millis();
delay(p);
strip.show();
set4 = 0;
}
void start ()
{
for (int i = 0; i < count + pix; i += 3)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(j, strip.Color(255, 180, 180));
strip.setPixelColor(j - pix, strip.Color(0, 0, 0));
}
delay(speed1);
strip.show();
}
for (int i = 0; i < count + pix-2; i += 3)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(count - j, strip.Color(255, 180, 180));
strip.setPixelColor(count - j + pix-5, strip.Color(0, 0, 0));
}
delay(speed1);
strip.show();
}
for (int i = 0; i < count / 2 + 4; i += 1)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(count / 2 - j, strip.Color(yellow));
strip.setPixelColor(count / 2 + j, strip.Color(yellow));
}
delay(speed1);
strip.show();
}
for (int i = 0; i < count / 2 + 4; i += 1)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(j, strip.Color(255, 0, 0));
strip.setPixelColor(count - j, strip.Color(255, 0, 0));
}
delay(speed1);
strip.show();
}
for (int i = 0; i < count + 1; i++)
{
strip.setPixelColor(i, strip.Color(255, 0, 0));
}
strip.show();
delay(600);
for (int i = 0; i < count / 2 + 4; i += 1)
{
for (int j = 0; j < i; j++)
{
strip.setPixelColor(j, strip.Color(0, 0, 0));
strip.setPixelColor(count - j, strip.Color(0, 0, 0));
}
strip.show();
}
}

povorotnetuda
Автор

Это для меня экземпляр сделал Александр, спасибо ему. Установлю, обязательно пришлю готовый вариант ему.

alexterminator
Автор

Где большое видео?)))
Спасибо за вилосики с разбором!! ❤

psevdonim
Автор

Саша - большой молодец! Комментарий для поддержки видео.

vanzche
Автор

Поворот НЕ туда, поворот у вас как раз в нужную сторону, спасибо!

otsy
Автор

Молодец продолжай и да можно видео на 39 минут с ликбезом для новичков, как залить и подключить Ардуино будет очень полезно т.к. есть разница подключения WS 2813 и WS 2815 к Андроид.

id
Автор

Супер спасибо, сделайте большое видео

sergey-
Автор

Спасибо за видео, уже 2 раза заказывали поворотники у вас.

customsel
Автор

Александр, ты, как всегда молодец! Всегда заказываем поворотники только у тебя! С Установкой ни каких проблем! Моргни хоть разок в видосе!

sxbnoge
Автор

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

gtblack
Автор

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

ЛехаЛёха-мк
Автор

А что если, сделать так; при нажатом тормозе, когда включаешь поворотник, то жёлтые как бы через один двигаются, будет ощущения что жёлтый двигается по красному!? Темболее длина и плотность пиксилей позволяет.

Sergey-L
Автор

Заказывал поворотники больше года назад, пока всё работает.

egxlbbz
Автор

Доброго времени суток! А сам скетч вы удалили?

MrLIN
Автор

Александр приветствую! Как всегда огонь!!! Спасибо!!!
12 вольтовая реально ярче 5 вольтовой светится?
DC-DC преобразователя хватает?
Сколько ампер при белом ест эта лента?

RadioUnit
Автор

Добрый день Александр, делаю все как у вас по схеме, все работает но только почему то не работает регулировка скорости переменным резистором, все испробовал не могу понять в чем дело?

paveluzhanov
Автор

Подскажите на фольксваген т4 задние фанари можно сделать полностью диодные? Сколько будет стоить ваша работа?

MISTERDEKAN
Автор

Добрый день, Вы сможете сделать, чтобы лед горел в пол силы во время движения, и во время тормаза на полную? У меня лип спойлер со светодиодной подсветкой и двумя контактами.

NEOFETESHIST
Автор

Дружище, а как у тебя заказать такой? Только длиннее. На газель.

d_michailov
Автор

Есть плата NodeMcu v3, esp8266. Можно на ней сделать? Сильно не пинайте)

gremnn
visit shbcf.ru