Hyundai Solaris клуб Россия
Лента RSS

Вернуться   Hyundai Solaris клуб Россия > Технический раздел > Эксплуатация Solaris 2011-2016 > Электрооборудование, свет
Зарегистрируйтесь или войдите:
Или войдите через:

Важная информация

 
SEREGIN_M
Студент
Hyundai Solaris 2014
1.6 МКПП
Сообщений: 30
В клубе с 14.03.2019
09.04.2019 12:54
Сообщение от dimon 1971 Посмотреть сообщение
я много лет работаю в магазине зап частей могу сказать одно,бывает пересорт и на складах...
ОДНАКО!!!
Жэсть!!!
SEREGIN_M вне форума
WolfHunter2
Абитуриент
Hyundai Solaris 2012
1.6 АКПП
Сообщений: 20
Получил "Мне нравится"3
В клубе с 21.10.2017
09.04.2019 17:06
Сообщение от warik81 Посмотреть сообщение
А ещё можно маркировку оптореле которое использовали и преобразователя DC-DC?
Оптореле скорее всего cpc1018n, а вообще выбирайте на любой вкус
Нажмите на изображение для увеличения
Название: оптореле.jpg
Просмотров: 59
Размер:	64.1 Кб
ID:	75064

DC-DC самый популярный на LM2596. на али полно готовых плат

заказал себе оптореле. буду сам писать на ардуино
WolfHunter2 вне форума
WolfHunter2
Абитуриент
Hyundai Solaris 2012
1.6 АКПП
Сообщений: 20
Получил "Мне нравится"3
В клубе с 21.10.2017
09.04.2019 22:29
я конечно не проф в программировании, но получился думаю вполне рабочий код. на столе показал хороший результат. Я думаю вместе мы напишем достойную прогу

Код:
int valBut = 0;                                  // Задаем переменную, для счетчика
long previousMillis = 0;              // Зададим начальное значение для счетчика millis
long TimePush = 1000;                 // Время нажатия на кнопку
int schet = 0;
int knopka = 0;

int valBut2 = 0;                      // тоже для второй кнопки
long previousMillis2 = 0;
long TimePush2 = 1000;
int schet2 = 0;
int knopka2 = 0;


int value;
int rejim = 1;     // режим работы мафон=1/круиз=2
int storona = 1;  // какая сторона используется для круиза 1=лево 2=право



void setup() {
Serial.begin(9600);

  pinMode(2, OUTPUT);   //seek+
  pinMode(3, OUTPUT);   //seek-
  pinMode(4, OUTPUT);   //mode
  pinMode(5, OUTPUT);   //mute
  pinMode(6, OUTPUT);   //vol+
  pinMode(7, OUTPUT);   //vol-
  pinMode(8, OUTPUT);   //on/off
  pinMode(9, OUTPUT);   //res+
  pinMode(10, OUTPUT);  //res-
}

void loop() {
  value = analogRead(0);
  //Serial.println (value);
  ///////////////////////////////////////////////////////////////////////

  if (value > 143 && value < 163)
  {

    if (rejim == 2 && storona == 2)
    {
      Serial.println ("res+");
      digitalWrite(9, HIGH);        //res+
      delay (200);
      digitalWrite(9, LOW);
    }
    else
    {
      Serial.println ("seek+");
      digitalWrite(2, HIGH);      //иначе seek+
      delay (200);
      digitalWrite(2, LOW);
    }
  }
  ////////////////////////////////////////////////////////////////////////////

  if (value > 298 && value < 318)
  {

    if (rejim == 2 && storona == 2)
    {
      Serial.println ("res+");
      digitalWrite(10, HIGH);        //res-
      delay (200);
      digitalWrite(10, LOW);
    }
    else
    {
      Serial.println ("seek+");
      digitalWrite(3, HIGH);      //иначе seek-
      delay (200);
      digitalWrite(3, LOW);
    }
  }

  //////////////////////////////////////////////////////////////////////////////////

  if (value > 447 && value < 467)
  {
    if (millis() - previousMillis  >=  1)
    {
      previousMillis = millis();
      valBut++;
      schet = 1;
    }
  }
  else
  {
    schet = 0;
  }

  if (valBut >= TimePush)
  {
    Serial.println ("dolgo mode");
    if (rejim == 1)
    {
      rejim = 2;
      storona = 2;
    }
    else
    {
      rejim = 1;
    }

    Serial.println (rejim);
    knopka = 1;
    valBut = 0;
  }

  if (valBut > 50 && schet == 0)
  {
    if (knopka != 1) {
      Serial.println ("bystro mode");
      if (rejim == 2 && storona == 2)
      {
        digitalWrite(8, HIGH);        // вкл/выкл круиз
        delay (200);
        digitalWrite(8, LOW);
      }
      else
      {
        digitalWrite(4, HIGH);      //иначе жмем mode
        delay (200);
        digitalWrite(4, LOW);
      }
      valBut = 0;
    } else {
      valBut = 0;
      knopka = 0;
    }
  }

  /////////////////////////////////////////////////////////////////////////////////////

  if (value > 545 && value < 565)
  {
    if (millis() - previousMillis2  >=  1)
    {
      previousMillis2 = millis();
      valBut2++;
      schet2 = 1;
    }
  }
  else
  {
    schet2 = 0;
  }

  if (valBut2 >= TimePush2)
  {
    Serial.println ("dolgo mute");
    if (rejim == 1)
    {
      rejim = 2;
      storona = 1;
    }
    else
    {
      rejim = 1;
    }

    knopka2 = 1;
    valBut2 = 0;
  }

  if (valBut2 > 50 && schet2 == 0)
  {
    if (knopka2 != 1) {
      Serial.println ("bystro mute");
      if (rejim == 2 && storona == 1)
      {
        digitalWrite(8, HIGH);        // вкл/выкл круиз
        delay (200);
        digitalWrite(8, LOW);
      }
      else
      {
        digitalWrite(5, HIGH);      //иначе жмем mute
        delay (200);
        digitalWrite(5, LOW);
      }


      valBut2 = 0;
    } else {
      valBut2 = 0;
      knopka2 = 0;
    }
  }

  ////////////////////////////////////////////////////////////////////////////////////////

  if (value > 642 && value < 662)
  {

    if (rejim == 2 && storona == 1)
    {
      Serial.println ("res+");
      digitalWrite(9, HIGH);        // res+
      delay (200);
      digitalWrite(9, LOW);
    }
    else
    {
      Serial.println ("vol+");
      digitalWrite(6, HIGH);      //иначе жмем vol+
      delay (200);
      digitalWrite(6, LOW);
    }
  }

  ///////////////////////////////////////////////////////////////////////////////////////////////

  if (value > 727 && value < 747)
  {

    if (rejim == 2 && storona == 1)
    {
      Serial.println ("res-");
      digitalWrite(10, HIGH);        // res -
      delay (200);
      digitalWrite(10, LOW);
    }
    else
    {
      Serial.println ("vol-");
      digitalWrite(7, HIGH);      //иначе жмем vol-
      delay (200);
      digitalWrite(7, LOW);
    }
  }

}
не дает написать Sеriаl.bеgin(9600);
пишет что типо это ссылка. прописываем ручками после void setup() {
WolfHunter2 вне форума
Эту рекламу можно отключить.
WolfHunter2
Абитуриент
Hyundai Solaris 2012
1.6 АКПП
Сообщений: 20
Получил "Мне нравится"3
В клубе с 21.10.2017
10.04.2019 12:46
добавил звук, исправил переключение между правой и левой кнопкой, подправил код
Сделано под плату с этого сообщения. там же инструкция. Значеня кнопок в этом коде почти под первые попавшиеся резисторы

скетч для ардуино


//ver 1.2
#include <EEPROM.h>

int valBut = 0; // Задаем переменную, для счетчика
long previousMillis = 0; // Зададим начальное значение для счетчика millis
long TimePush = 1000; // Время нажатия на кнопку
int schet = 0;
int knopka = 0;

int valBut2 = 0; // тоже для второй кнопки
long previousMillis2 = 0;
long TimePush2 = 1000;
int schet2 = 0;
int knopka2 = 0;


int value;
int rejim = 1; // режим работы мафон=1/круиз=2
int storona = 1; // какая сторона используется для круиза 1=лево 2=право
int zvuk;

/////////////////////////////////значения кнопок
int kn1 = 153; //Seek+
int kn2 = 308; //Seek-
int kn3 = 457; //Mode
int kn4 = 555; //Mute
int kn5 = 652; //Vol+
int kn6 = 737; //Vol-

void setup() {

/////////////////////////////////задаем пины
pinMode(2, OUTPUT); //seek+
pinMode(3, OUTPUT); //seek-
pinMode(4, OUTPUT); //mode
pinMode(5, OUTPUT); //mute
pinMode(6, OUTPUT); //vol+
pinMode(7, OUTPUT); //vol-
pinMode(9, OUTPUT); //on/off
pinMode(10, OUTPUT); //res+
pinMode(11, OUTPUT); //res-
pinMode(12, OUTPUT); //звук

value = analogRead(0); //если при зажигании зажать Mute
if (value > 553 && value < 557)
{
zvuk = EEPROM.read(1);

if (zvuk != 0 && zvuk != 1) EEPROM.write(1, 1);

if (zvuk == 0)
{
EEPROM.write(1, 1); // включаем звук если выключен (одиночный сигнал)
tone(12, 1000);
delay(100);
noTone(12);
}
else
{

EEPROM.write(1, 0); // иначе выключаем звук (двойной сигнал)
tone(12, 1000);
delay(100);
noTone(12);
tone(12, 1000);
delay(100);
noTone(12);
}

}
zvuk = EEPROM.read(1);
// Serial.println (zvuk);
}

void loop() {
value = analogRead(0);
//Serial.println (value);
///////////////////////////////////////////////////////////////////////

if (value > kn1-2 && value < kn1+2)
{

if (rejim == 2 && storona == 2)
{
Serial.println ("res+");
digitalWrite(10, HIGH); //res+
delay (200);
digitalWrite(10, LOW);
}
else
{
Serial.println ("seek+");
digitalWrite(2, HIGH); //иначе seek+
delay (200);
digitalWrite(2, LOW);
}
}
////////////////////////////////////////////////////////////////////////////

if (value > kn2-2 && value < kn2+2)
{

if (rejim == 2 && storona == 2)
{
Serial.println ("res-");
digitalWrite(11, HIGH); //res-
delay (200);
digitalWrite(11, LOW);
}
else
{
Serial.println ("seek-");
digitalWrite(3, HIGH); //иначе seek-
delay (200);
digitalWrite(3, LOW);
}
}

//////////////////////////////////////////////////////////////////////////////////

if (value > kn3-2 && value < kn3+2)
{
if (millis() - previousMillis >= 1)
{
previousMillis = millis();
valBut++;
schet = 1;
}
}
else
{
schet = 0;
}

if (valBut >= TimePush)
{
Serial.println ("perekluchenie");
if (rejim == 1 || rejim == 2 && storona == 1) //если круиз уже включен на другой стороне или выключен
{
rejim = 2; //включаем и устанавливаем эту сторону
storona = 2;
if (zvuk == 1)
{
tone(12, 2000);
delay(100);
noTone(12);
}
}
else
{
rejim = 1; //иначе выключаем
if (zvuk == 1)
{
tone(12, 2000);
delay(100);
noTone(12);
tone(12, 2000);
delay(100);
noTone(12);
}
}


knopka = 1;
valBut = 0;
}

if (valBut > 50 && schet == 0)
{
if (knopka != 1) {
if (rejim == 2 && storona == 2)
{
digitalWrite(9, HIGH); // вкл/выкл круиз
delay (200);
digitalWrite(9, LOW);
Serial.println ("kruiz on\off");
}
else
{
digitalWrite(4, HIGH); //иначе жмем mode
delay (200);
digitalWrite(4, LOW);
Serial.println ("Mode");
}
valBut = 0;
} else {
valBut = 0;
knopka = 0;
}
}

/////////////////////////////////////////////////////////////////////////////////////

if (value > kn4-2 && value < kn4+2)
{
if (millis() - previousMillis2 >= 1)
{
previousMillis2 = millis();
valBut2++;
schet2 = 1;
}
}
else
{
schet2 = 0;
}

if (valBut2 >= TimePush2)
{
Serial.println ("perekluchenie");
if (rejim == 1 || rejim == 2 && storona == 2)
{
rejim = 2;
storona = 1;
if (zvuk == 1)
{
tone(12, 2000);
delay(100);
noTone(12);
}
}
else
{
rejim = 1;
if (zvuk == 1)
{
tone(12, 2000);
delay(100);
noTone(12);
tone(12, 2000);
delay(100);
noTone(12);
}
}


knopka2 = 1;
valBut2 = 0;
}

if (valBut2 > 50 && schet2 == 0)
{
if (knopka2 != 1) {
if (rejim == 2 && storona == 1)
{
digitalWrite(9, HIGH); // вкл/выкл круиз
delay (200);
digitalWrite(9, LOW);
Serial.println ("kruise on\off");
}
else
{
digitalWrite(5, HIGH); //иначе жмем mute
delay (200);
digitalWrite(5, LOW);
Serial.println ("Mute");
}


valBut2 = 0;
} else {
valBut2 = 0;
knopka2 = 0;
}
}

////////////////////////////////////////////////////////////////////////////////////////

if (value > kn5-2 && value < kn5+2)
{

if (rejim == 2 && storona == 1)
{
Serial.println ("res+");
digitalWrite(10, HIGH); // res+
delay (200);
digitalWrite(10, LOW);
}
else
{
Serial.println ("vol+");
digitalWrite(6, HIGH); //иначе жмем vol+
delay (200);
digitalWrite(6, LOW);
}
}

///////////////////////////////////////////////////////////////////////////////////////////////

if (value > kn6-2 && value < kn6+2)
{

if (rejim == 2 && storona == 1)
{
Serial.println ("res-");
digitalWrite(11, HIGH); // res -
delay (200);
digitalWrite(11, LOW);
}
else
{
Serial.println ("vol-");
digitalWrite(7, HIGH); //иначе жмем vol-
delay (200);
digitalWrite(7, LOW);
}
}

}
Свернуть
WolfHunter2 вне форума
pasha-smr
Абитуриент
Hyundai Solaris 2012
1.6 МКПП
Сообщений: 22
Получил "Мне нравится"1
В клубе с 10.02.2019
10.04.2019 14:25
Сообщение от WolfHunter2 Посмотреть сообщение
добавил звук, исправил переключение между правой и левой кнопкой, подправил код
Сделано под плату с...
А зачем это нужно?
pasha-smr вне форума
WolfHunter2
Абитуриент
Hyundai Solaris 2012
1.6 АКПП
Сообщений: 20
Получил "Мне нравится"3
В клубе с 21.10.2017
10.04.2019 14:49
для управления круизом штатными кнопками
WolfHunter2 вне форума
Эту рекламу можно отключить.
pasha-smr
Абитуриент
Hyundai Solaris 2012
1.6 МКПП
Сообщений: 22
Получил "Мне нравится"1
В клубе с 10.02.2019
11.04.2019 06:52
Была у меня такая штука. Покупал у замига работала через раз и очень не удобно. Лучше пожертвовать кнопками управления радио. Правой частью кнопок на руле. Это моё мнение и я так сделал.
pasha-smr вне форума
Shim
Студент
Hyundai Solaris 2016
1.6 МКПП
Сообщений: 55
Получил "Мне нравится"6  Отдал "Мне нравится"18
В клубе с 20.10.2016
11.04.2019 07:23
Не понимаю, а в чем неудобство то? Вы так же самое "жертвуете" одной из стороной кнопок под управление круизом, но не на постоянно, а когда вам это нужно.
Я за этот вариант, он самый дешевый, не сложный в реализации и не колхозный.
Shim вне форума
Eldaree
Студент
Hyundai Solaris 2015
1.6 АКПП6
Сообщений: 63
Получил "Мне нравится"5  Отдал "Мне нравится"2
В клубе с 09.02.2016
11.04.2019 07:33
Сообщение от pasha-smr Посмотреть сообщение
Была у меня такая штука. Покупал у замига работала через раз и очень не удобно. Лучше пожертвовать...
Если магнитола без громкой связи можно управление криуиза построить на кнопках громкой связи, правда там всего 3 кнопки. Я сделал так, cancela нет, но меня не напрягает. И бюджет не сильно большой
Eldaree вне форума
pasha-smr
Абитуриент
Hyundai Solaris 2012
1.6 МКПП
Сообщений: 22
Получил "Мне нравится"1
В клубе с 10.02.2019
11.04.2019 16:18
Сообщение от Shim Посмотреть сообщение
Не понимаю, а в чем неудобство то? Вы так же самое "жертвуете" одной из стороной кнопок под уп...
Смысл в том что когда едешь на круизе приходится и скидывать скорость и наращивать. Неудобство двойной системы в том что она двойная. Вместо торможения я иногда использую кнопку мод для отключения круиза авто тормозит двигателем.
Сам интерфейс двойного назначения мне был неудобен нажал мод ещё мод вкл круиз сет - зафиксировал ......................... вкл магнитолу ........... вобщем путаешся.
pasha-smr вне форума
© Hyundai Solaris клуб Россия 2024
© vBulletin 2024, Jelsoft Enterprises Ltd.
Текущее время: 00:35. Часовой пояс GMT +3.