Arduino свет авто

Было у меня желание сделать свет в модель чтоб в темное время не теряться где перед где зад. Поставил диоды запитал от балансировочно разьема все горит Классно. Потом захотеллсь все это дела включать 3 каналом, поколупался в серве разобрал поставил реле вместо мотора заработало но не стабильно. Потом решил сделать свет как в авто 1-1 с поворотами стопами. не получилось забросил. Потом в руки попаласт чудная платка arduino на которой все и вышло. Режим можно сделать какой душе угодно.

  • 4261
Comments
Миктор

А где самое главное - код?

Protez1999

/* Легенда: if((RCval1<1300)&&(RCval1>1)and (RCval2>200))
1 когда стоит горит аварийка и горят фары
2 когда поворачивает горят повороты
3 когда едит 50% горяд фары когда больше 50 стробы когда остановилась горят стопы
strob2 - Мигают 2 левых потом 2 правых
strob1 - Мигает через 1
if (RCval1<1){TurnRight();TurnLeft();}
4 Avariika()-- Аварийка
5 Stoim() - Огни когда машинка стоит все фары горят повороты мигают
6 PovorotLevo() // поворот лево
7 PovorotPravo() // Поворот право
8 StrobEdy() // стробы во время езды
9 ZadXod() // Задний ход 2 синих впереди горит горят белые сзади
10 EdystrobPovorlevo() // еду горит строб и левый поворот
11 EdystrobPovorPravo() // еду горит строб и правый поворот
12 svetfar чем быстрее едит тем ярче горят фары
13 stop1 стоп огонь*/
int svet;
int svet2=4;
int PPMin1 = 2;//сигнал с пульта повороты 1470-1490
int PPMin2 = 3; // Сигнал с пульта газ 1490-1510 нетрал
int PPMin3 = 12;/* Сигнал с 3 канала 919 лево 120% - 1570лево 0%
2107 право 120% 1507 право 0*/
int ledPin4 = 4; //поворот право перед и зад
int ledPin5 = 5;// поворот лево перед и зад
int ledPin6 = 6;// фары перед белый огонь право
int ledPin7 = 7;// фары перед белей огонь лево
int ledPin8 = 8;// перед синий огонь право
int ledPin9 = 9;// перед синий огонь лево
int ledPin10=10;// зад стопы право
int ledPin11=11; // Зад белый огонь
int ledPin13 = 13;// зад красный
int RCval1; // длительность импульса
int adj_val1; // назначает что значение должно быть 0-255
int RCval2; // длительность импульса
int adj_val2; // назначает что значение должно быть 0-255
int RCval3; // длительность импульса
int adj_val3; // назначает что значение должно быть 0-255

void setup()

{
Serial.begin(9600); //serial library start
pinMode(ledPin4, OUTPUT); // выходы на диоды
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin13, OUTPUT);
pinMode(PPMin3,INPUT);// вход1 3 канал пульта вкл выкл
pinMode(PPMin1, INPUT); //вход пульт 2 порт повороты
pinMode(PPMin2, INPUT); //вход пульт 3 порт газ
}

void loop()
{
{
RCval1 = pulseIn(PPMin1, HIGH, 20000); //руль
adj_val1 = map(RCval1, 1080, 1880, 0, 255); //

RCval2 = pulseIn(PPMin2, HIGH, 20000); //руль
adj_val2 = map(RCval2, 1080, 1880, 0, 255);

RCval3 = pulseIn(PPMin3, HIGH, 20000); //руль
adj_val3 = map(RCval3, 1080, 1880, 0, 255);

}

{
if (RCval1<1){Stoim();} // пульт выключен +
}
{ Serial.print ("val1: “);
Serial.print (RCval1);
Serial.print (” ");
Serial.print ("adjusted: “);
Serial.print (adj_val1);
Serial.println (” ");
delay(100);
}
//Машинка стоит никуда не едит +
{
if ((RCval1>1470)&&(RCval1<1530)and(RCval2>1490)&&(RCval2<1510)){Avariika();}
}
//Едит поворот лево +
{
if ((RCval1<1469)&&(RCval1>2)and(RCval2>1650)){EdystrobPovorlevo();}
}
//Eдит поворот право +
{
if ((RCval1>1530)and(RCval2>1650)){EdystrobPovorPravo();}
}
//едит без поворотов +
{
if ((RCval1>1475)&&(RCval1<1520)and(RCval2>1550)){StrobEdy();}
}
{
if (RCval2<1400){stop1();}
}
}
void Stoim()// повороты мигают все остально не горит
{
digitalWrite(5, 1);
digitalWrite(4, 1);
delay(250);
digitalWrite(5, 0);
digitalWrite(4, 0);
delay(250);
}

void Avariika() // повороты + фары
{
digitalWrite(5, 1);
digitalWrite(4, 1);
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
digitalWrite(9,1);
analogWrite(10,40);
digitalWrite(11,0);
delay(250);
digitalWrite(5, 0);
digitalWrite(4, 0);
delay(250);
}
void PovorotLevo() // поворот лево
{
digitalWrite(5, 1);
delay(250);
digitalWrite(5, 0);
delay(250);
}

void PovorotPravo() // Поворот право
{
digitalWrite(4, 1);
delay(250);
digitalWrite(4, 0);
delay(250);
}
void StrobEdy() // стробы во время езды
{

digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(150);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(200);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(200);
}
void ZadXod() // Задний ход 2 синих впереди горит горит белые сзади
{
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(10,1);

}

void EdystrobPovorlevo() // еду горит строб и левый поворот
{
digitalWrite(5,1);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(150);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(5,0);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(200);
digitalWrite(5,1);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(5,0);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(200);
}

void EdystrobPovorPravo() // еду горит строб и левый поворот
{
digitalWrite(4,1);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(150);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(4,0);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(200);
digitalWrite(4,1);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(4,0);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(200);
}

void strobavariika()

{
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(150);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(200);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(200);
}

void fariPovorotLevo()
{
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(5, 1);
delay(250);
digitalWrite(5, 0);
delay(250);
}

void fariPovorotPravo()
{
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(4, 1);
delay(250);
digitalWrite(4, 0);
delay(250);
}

void strob2()//Мигают 2 левых потом 2 правых
{

digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(7, LOW);
delay(150);
digitalWrite(9, HIGH);
digitalWrite(7, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(7, LOW);
delay(200);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
delay(200);}

void strob1()
{
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(6, LOW);
delay(150);
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
delay(25);
digitalWrite(9, LOW);
digitalWrite(6, LOW);
delay(200);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
delay(150);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
delay(25);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
delay(200);}

void stop1()
{
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(10,1);
digitalWrite(11,1);
digitalWrite(6,0);
digitalWrite(7,0);

}

Yuriy909

Здравствуйте Вадим! Чего-то я залил Ваш код в ардуино и ни чего не пашет. Можете пояснить, правда я это первый раз делаю… Мигает только аварийка, на пульт не реагирует, остальные либо постоянно горят либо вообще не светятся.

Protez1999

посмотрите чтоб все было пожключено к тому к чему должно быть. Каждый канал пульта к своему контакту на ардуино

Yuriy909

Почему-то стопы не светятся и вопросик, можно написать код для 2х каналов газ-тормоз, повороты и головной свет?

VladimirD89

сделал так - и мой 27МГц приемник начал ловить сатану просто(( Вы испытывали свой блок света на ходу вообще? мне кажется ардуино генерирует какие-то непонятные сигналы, которые антенна ловит, хотя может они и через питание проникают, но - делал всяческие фильтры - не помогает. Даже отдельное питание не помогает. Даже просто ардуино рядом с приемником если - начинается черти что

Protez1999

Я лет 5 назад забыл про эту частоту. На 2.4 все работает без проблем.