Arduino свет авто

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

  • 4085
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 все работает без проблем.

This site will not work without javascript!
This site will not work if cookies are completely disabled.
Site is offline