adamjohnson.info

Своими руками пищалку на поворотник

Своими руками пищалку на поворотник 777

Рассмотрим создание бегающего поворотника как на ауди, на примере фары от автомобиля Рено Клио. Сделаем поворотники и ДХО в одном устройстве.

Контроллер ардуино необходимо подключить к сети автомобиля через преобразователь 12В -> 5В так, чтобы напряжение на схему поступало от включения «зажигания».

Плюсовой провод от действующих поворотников подключаются к 5 и 6 контакту контроллера через делитель напряжения из резисторов. Аналогичным образом подключаются кнопки для дополнительных режимов работы контроллера

Для работы с пиксельными светодиодами нужна будет библиотека <Adafruit_NeoPixel.h>. Установить ее можно будет следующим образом: Скетч -> Подключить библиотеку -> Управлять библиотеками. Далее в меню поиска ввести название библиотеки Adafruit_NeoPixel.h и нажать кнопку установить.

После этого вставить скетч в программу и заменить в коде количество светодиодов (у нас используется 7 диода):

#include <Adafruit_NeoPixel.h> // подключаем библиотеку
Adafruit_NeoPixel strip = Adafruit_NeoPixel(7, 7, NEO_GRB + NEO_KHZ800); //Инициализируем первый поворотник 7 диодов на 7 цифровом выходе
Adafruit_NeoPixel strip2 = Adafruit_NeoPixel(7, 8, NEO_GRB + NEO_KHZ800);//Инициализируем второй поворотник 7 диодов на 8 цифровом выходе
void setup()
{
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
strip.begin();
strip.show();
strip2.begin();
strip2.show();
}
void loop()
{
{
if ((digitalRead(5) == HIGH) and (digitalRead(6) == HIGH))
{
//Режим аварийной сигнализации, если на 5 и 6 пин приходит плюс
for(int k = 0; k < 3; k++)
{
// цикл до трех — сигнал «перестроения» , при кратковременном включении мигает 3 раза,
for(int i = 0; i < 8; i++)
{
for(int j = 0; j < i; j++)
{
if ((digitalRead(5) == HIGH) and (digitalRead(6) == HIGH))
{
k = 0; // если во время мигания поворотника получаем еще плюcовой сигнал, то обнуяем счетчик, чтобы поворотник мигал еще как минимум 3 раза
}
strip.setPixelColor(j, strip.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(j, strip2.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода
}
delay(60);
strip.show();
strip2.show();
}
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < i; j++)
{
// в этом цикле плавно тушим предыдущий светодиод, делаем его наполовину тусклее, чтобы движение было плавнее
strip.setPixelColor(j-2, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip.setPixelColor(j-1, strip.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода
strip.setPixelColor(j, strip.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(j-2, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(j-1, strip2.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(j, strip2.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода
}
delay(60);
strip.show();
strip2.show();
}
}
}

if (digitalRead(5) == LOW and digitalRead(6) == HIGH)
{
// включается один поворотник
for(int k = 0; k < 3; k++)
{
// цикл до трех — сигнал «перестроения» , при кратковременном включении мигает 3 раза,
for(int i = 0; i < 8; i++)
{
for(int j = 0; j < i; j++)
{
if ((digitalRead(5) == LOW) and (digitalRead(6) == HIGH))
{
k = 0;
}
strip.setPixelColor(j, strip.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода
}
delay(60);
strip.show();
}
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < i; j++)
{
// в этом цикле плавно тушим предыдущий светодиод, делаем его наполовину тусклее, чтобы движение было плавнее
strip.setPixelColor(j-2, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip.setPixelColor(j-1, strip.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода
strip.setPixelColor(j, strip.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода
}
delay(60);
strip.show();
}

}
}
if (digitalRead(5) == HIGH and digitalRead(6) == LOW)
{ // включаем второй поворотник
for(int k = 0; k < 3; k++)
{
// цикл до трех — сигнал «перестроения» , при кратковременном включении мигает 3 раза,
for(int i = 0; i < 8; i++)
{
for(int j = 0; j < i; j++)
{
if ((digitalRead(5) == HIGH) and (digitalRead(6) == LOW))
{
k = 0;
}
strip2.setPixelColor(j, strip2.Color(255, 69, 0)); // R=255, G=0, B=0 — цвет светодиода
}
delay(60);
strip2.show();
}
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < i; j++)
{
// в этом цикле плавно тушим предыдущий светодиод, делаем его наполовину тусклее, чтобы движение было плавнее
strip2.setPixelColor(j-2, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(j-1, strip2.Color(63, 17, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(j, strip2.Color(127, 34, 0)); // R=255, G=0, B=0 — цвет светодиода
}
delay(60);
strip2.show();
}
}
}
if (digitalRead(3) == HIGH)
{
// режим спецсигналов, если на 3 пин подаем плюс
for(int j = 0; j < 16; j++)
{
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(255, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(0, 0, 255)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(20);
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(20);
}
for(int j = 0; j < 16; j++)
{
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(0, 0, 255)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(255, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(20);
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(20);
}
}
if (digitalRead(4) == HIGH)
{
// Режим стробоскова, если на 4 пин подаем питание
for(int j = 0; j < 24; j++)
{
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(255, 255, 255)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(15);
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(15);
}
for(int j = 0; j < 24; j++)
{
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(255, 255, 255)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(15);
for(int i = 0; i < 7; i++)
{
strip.setPixelColor(i, strip.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
strip2.setPixelColor(i, strip2.Color(0, 0, 0)); // R=255, G=0, B=0 — цвет светодиода
}
strip.show();
strip2.show();
delay(15);
}
}
if( digitalRead(3) == LOW and digitalRead(5) == LOW and digitalRead(6) == LOW and digitalRead(9) == LOW)
{
for(int i = 0; i < 8; i++)
{
// Зажигаем ходовые огни, если нетниодного сигнала
strip.setPixelColor(i, strip.Color(255, 255, 255));
strip2.setPixelColor(i, strip2.Color(255, 255, 255));
}
strip.show();
strip2.show();
}
}
}


Своими руками пищалку на поворотник 409
Своими руками пищалку на поворотник 530
Своими руками пищалку на поворотник 402
Своими руками пищалку на поворотник 644
Своими руками пищалку на поворотник 355
Своими руками пищалку на поворотник 620
Своими руками пищалку на поворотник 374
Своими руками пищалку на поворотник 621
Своими руками пищалку на поворотник 910
Своими руками пищалку на поворотник 388
Своими руками пищалку на поворотник 186
Своими руками пищалку на поворотник 574
Своими руками пищалку на поворотник 615
Своими руками пищалку на поворотник 676
Своими руками пищалку на поворотник 32
Оформляем прудик на даче своими рукамиЗмей горыныч для сада своими рукамиОткрытки на день рождения танюшаКак сделать поворотники на скутерКак сделать бомбочку в своихПоздравление вашей дочке с днем рождения отПоздравительные открытки с отпускамКак сделать ошейник в домашних условияхДиван еврокнижка своими руками чертежи и схемыВанна как закрыть ее своими рукамиКак сделать какую то хуйнюКак сделать чтобы на планшете был русский языкТуалеты своими руками в деревнеКак сделать сок на соковыжималкеПодарки на день рождение супруге

Читать далее:

  • Ребенок отравился рвота что делать в домашних условиях
  • Замена пружин на ваз своими руками
  • Рубашка для беременных сшить
  • Выращивание баклажан в одной теплице с огурцами
  • Как сделать себе аву нарисованные