Клубная карта
  1. Клубный автотехцентр по обслуживанию и ремонту автомобилей Renault.
    Качество гарантировано!
    г. Дзержинский, Денисьевский проезд, д.2
    +7 (985) 622-46-41, +7 (916) 388-22-71
    RG-service.ru
    Отзывы в этой теме
  2. После регистрации Вы сможете общаться в темах форума, а также будут доступны просмотр ссылок, панель последних сообщений и другие удобные функции. Присоединяйтесь!
  3. Клубный автотехцентр по обслуживанию и ремонту автомобилей Renault.
    Качество гарантировано!
    г. Дзержинский, Денисьевский проезд, д.2
    +7 (985) 622-46-41, +7 (916) 388-22-71
    RG-service.ru
    Отзывы в этой теме
  4. После регистрации Вы сможете общаться в темах форума, а также будут доступны просмотр ссылок, панель последних сообщений и другие удобные функции. Присоединяйтесь!

Подсветка поворота как на VW

Тема в разделе "Электрооборудование", создана пользователем gorge, 11 фев 2014.

  1. VTV

    VTV Почетный меганавт

    Регистрация:
    18 апр 2013
    Сообщения:
    972
    Медиа:
    5
    Альбомы:
    1
    Род занятий:
    Пенсионер
    Адрес:
    Челябинск
    Имя пользователя:
    Вячеслав
    Что мне даст реле за 200 рублей? Прямо светящая ПТФ при повороте? Сомнительная помощь.
     
  2. spir

    spir Новичок

    Регистрация:
    10 мар 2010
    Сообщения:
    24
    Адрес:
    Молдова
    в мегане есть датчик положения руля т.к. стоит электроусилитель. т.е. угол поворота руля мониторится. единственная проблема - считать этот угол из б.у., написать программу которая будет включать-выключать противотуманки и сделать схему, которая будет работать с этой программой. это по идее очень непросто....
     
  3. velby

    velby Почетный меганавт

    Регистрация:
    25 авг 2010
    Сообщения:
    858
    Адрес:
    Minsk, BY
    Уважаемый, в следующий раз прежде чем отвечать на что то, прочитайте тему целиком.
    Я как раз поправил свои слова насчет всего этого.
     
  4. Mr.McSnow

    Mr.McSnow Только зашел

    Регистрация:
    21 май 2024
    Сообщения:
    1
    Имя пользователя:
    Mr.McSnow
    Всем привет! Я тут недавно ошиваюсь, но походу нашёл небольшие подсказки спросив у GPT некоторую информацию. В общем, что он ответил мне:
    Привет! Чтобы реализовать такую систему, тебе потребуется доступ к данным CAN-шины автомобиля, а также устройство для чтения и обработки этих данных. В данном случае тебе нужно будет определить, какой именно сигнал передается на CAN-шине при повороте руля, а затем использовать этот сигнал для управления реле противотуманок. Вот пошаговый план действий:

    1. **Сканирование CAN-шины:**
    - Используй CAN-шлюз (например, ELM327 или аналогичный) для подключения к CAN-шине автомобиля.
    - Программное обеспечение, такое как `CANalyzer`, `SavvyCAN`, или `BusMaster`, поможет тебе записывать и анализировать данные CAN-шины.
    - Подключись к диагностическому порту (обычно это OBD-II разъем) и начни запись данных.

    2. **Анализ данных:**
    - Записывай данные при повороте руля влево и вправо.
    - Ищи в логах определенные ID и payload, которые изменяются при повороте руля. Положение руля обычно передается в виде угла в градусах или в виде относительного значения.
    - Определи, как это значение коррелирует с реальным положением руля.

    3. **Разработка алгоритма:**
    - Определи пороговые значения для включения правой или левой противотуманки. Например, если угол поворота больше определенного значения влево, включай левую противотуманку, и наоборот.
    - Напиши программу (например, на Arduino или Raspberry Pi), которая будет читать данные CAN-шины и включать соответствующее реле.

    4. **Подключение реле:**
    - Выбери подходящее реле, которое будет управлять противотуманками.
    - Подключи реле к выходу контроллера (например, Arduino), который будет активировать реле в зависимости от сигнала с CAN-шины.
    - Убедись, что цепи реле и противотуманок имеют соответствующую защиту (предохранители и т.д.).

    Вот пример кода на Arduino, который может быть использован для обработки данных CAN и управления реле:

    ```cpp
    #include <mcp_can.h>
    #include <SPI.h>

    const int SPI_CS_PIN = 10;
    MCP_CAN CAN(SPI_CS_PIN);

    const int relayLeftPin = 2;
    const int relayRightPin = 3;
    const int turnThreshold = 15; // Пороговое значение угла поворота

    void setup() {
    Serial.begin(115200);
    pinMode(relayLeftPin, OUTPUT);
    pinMode(relayRightPin, OUTPUT);
    digitalWrite(relayLeftPin, LOW);
    digitalWrite(relayRightPin, LOW);

    if (CAN.begin(CAN_500KBPS) == CAN_OK) {
    Serial.println("CAN BUS Shield init ok!");
    } else {
    Serial.println("CAN BUS Shield init fail");
    while (1);
    }
    }

    void loop() {
    unsigned char len = 0;
    unsigned char buf[8];

    if (CAN_MSGAVAIL == CAN.checkReceive()) {
    CAN.readMsgBuf(&len, buf);
    unsigned long canId = CAN.getCanId();

    // Замените '0x123' на фактический CAN ID, содержащий данные угла поворота руля
    if (canId == 0x123) {
    int steeringAngle = (buf[0] << 8) | buf[1]; // Пример декодирования угла
    if (steeringAngle > turnThreshold) {
    digitalWrite(relayRightPin, HIGH);
    digitalWrite(relayLeftPin, LOW);
    } else if (steeringAngle < -turnThreshold) {
    digitalWrite(relayLeftPin, HIGH);
    digitalWrite(relayRightPin, LOW);
    } else {
    digitalWrite(relayLeftPin, LOW);
    digitalWrite(relayRightPin, LOW);
    }
    }
    }
    }
    ```

    Этот код предполагает, что данные угла руля находятся в первых двух байтах сообщения с ID `0x123`. Тебе нужно будет заменить этот ID и способ декодирования угла на соответствующие твоему автомобилю.

    Для добавления логики, чтобы Arduino проверял, включены ли уже противотуманные фары перед активацией реле, тебе потребуется читать состояние фар. Это можно сделать, например, путем подключения к проводам, управляющим противотуманками, и считывания их состояния через цифровые входы Arduino.

    Вот доработанный пример кода:

    ```cpp
    #include <mcp_can.h>
    #include <SPI.h>

    const int SPI_CS_PIN = 10;
    MCP_CAN CAN(SPI_CS_PIN);

    const int relayLeftPin = 2;
    const int relayRightPin = 3;
    const int fogLeftPin = 4; // Пин для проверки левой противотуманки
    const int fogRightPin = 5; // Пин для проверки правой противотуманки
    const int turnThreshold = 15; // Пороговое значение угла поворота

    void setup() {
    Serial.begin(115200);
    pinMode(relayLeftPin, OUTPUT);
    pinMode(relayRightPin, OUTPUT);
    digitalWrite(relayLeftPin, LOW);
    digitalWrite(relayRightPin, LOW);

    pinMode(fogLeftPin, INPUT);
    pinMode(fogRightPin, INPUT);

    if (CAN.begin(CAN_500KBPS) == CAN_OK) {
    Serial.println("CAN BUS Shield init ok!");
    } else {
    Serial.println("CAN BUS Shield init fail");
    while (1);
    }
    }

    void loop() {
    unsigned char len = 0;
    unsigned char buf[8];

    if (CAN_MSGAVAIL == CAN.checkReceive()) {
    CAN.readMsgBuf(&len, buf);
    unsigned long canId = CAN.getCanId();

    // Замените '0x123' на фактический CAN ID, содержащий данные угла поворота руля
    if (canId == 0x123) {
    int steeringAngle = (buf[0] << 8) | buf[1]; // Пример декодирования угла
    bool isFogLeftOn = digitalRead(fogLeftPin) == HIGH;
    bool isFogRightOn = digitalRead(fogRightPin) == HIGH;

    if (steeringAngle > turnThreshold && !isFogRightOn) {
    digitalWrite(relayRightPin, HIGH);
    } else {
    digitalWrite(relayRightPin, LOW);
    }

    if (steeringAngle < -turnThreshold && !isFogLeftOn) {
    digitalWrite(relayLeftPin, HIGH);
    } else {
    digitalWrite(relayLeftPin, LOW);
    }
    }
    }
    }
    ```

    ### Объяснение изменений:
    1. **Добавлены новые пины для проверки состояния противотуманных фар:**
    - `fogLeftPin` и `fogRightPin` подключены к проводам, управляющим противотуманками. Эти пины настроены как входы.

    2. **Добавлена логика для проверки состояния противотуманных фар:**
    - Перед включением реле, программа проверяет, включены ли уже соответствующие противотуманки, используя `digitalRead(fogLeftPin)` и `digitalRead(fogRightPin)`.

    3. **Используется переменная `isFogLeftOn` и `isFogRightOn` для хранения состояния противотуманных фар:**
    - Если противотуманка включена, реле не активируется.

    Эти изменения помогут избежать повторного включения реле, если противотуманки уже включены. Убедись, что пины `fogLeftPin` и `fogRightPin` правильно подключены к проводам управления противотуманками и что они правильно считывают их состояние.

    В предыдущем коде противотуманные фонари выключаются, когда руль возвращается в исходное положение. Однако, для большей ясности и надежности кода, можно немного улучшить логику и структуру программы.

    Ниже приведен обновленный код, который учитывает все ваши требования:

    - Включает соответствующие противотуманные фары при повороте руля.
    - Выключает противотуманные фары, когда руль возвращается в прямое положение.
    - Не включает реле, если противотуманные фары уже включены.

    ```cpp
    #include <mcp_can.h>
    #include <SPI.h>

    const int SPI_CS_PIN = 10;
    MCP_CAN CAN(SPI_CS_PIN);

    const int relayLeftPin = 2;
    const int relayRightPin = 3;
    const int fogLeftPin = 4; // Пин для проверки левой противотуманки
    const int fogRightPin = 5; // Пин для проверки правой противотуманки
    const int turnThreshold = 15; // Пороговое значение угла поворота

    void setup() {
    Serial.begin(115200);
    pinMode(relayLeftPin, OUTPUT);
    pinMode(relayRightPin, OUTPUT);
    digitalWrite(relayLeftPin, LOW);
    digitalWrite(relayRightPin, LOW);

    pinMode(fogLeftPin, INPUT);
    pinMode(fogRightPin, INPUT);

    if (CAN.begin(CAN_500KBPS) == CAN_OK) {
    Serial.println("CAN BUS Shield init ok!");
    } else {
    Serial.println("CAN BUS Shield init fail");
    while (1);
    }
    }

    void loop() {
    unsigned char len = 0;
    unsigned char buf[8];

    if (CAN_MSGAVAIL == CAN.checkReceive()) {
    CAN.readMsgBuf(&len, buf);
    unsigned long canId = CAN.getCanId();

    // Замените '0x123' на фактический CAN ID, содержащий данные угла поворота руля
    if (canId == 0x123) {
    int steeringAngle = (buf[0] << 8) | buf[1]; // Пример декодирования угла
    bool isFogLeftOn = digitalRead(fogLeftPin) == HIGH;
    bool isFogRightOn = digitalRead(fogRightPin) == HIGH;

    if (steeringAngle > turnThreshold) {
    if (!isFogRightOn) {
    digitalWrite(relayRightPin, HIGH);
    }
    } else {
    digitalWrite(relayRightPin, LOW);
    }

    if (steeringAngle < -turnThreshold) {
    if (!isFogLeftOn) {
    digitalWrite(relayLeftPin, HIGH);
    }
    } else {
    digitalWrite(relayLeftPin, LOW);
    }
    }
    }
    }
    ```

    ### Пояснения:
    1. **Проверка состояния противотуманных фар:**
    - Переменные `isFogLeftOn` и `isFogRightOn` считывают текущее состояние противотуманных фар.

    2. **Включение реле только если противотуманки не включены:**
    - Логика `if (!isFogRightOn)` и `if (!isFogLeftOn)` гарантирует, что реле включается только если противотуманки не включены.

    3. **Выключение реле при возврате руля в прямое положение:**
    - Когда `steeringAngle` меньше пороговых значений, соответствующие реле отключаются, возвращая противотуманные фары в исходное состояние.

    Эти изменения обеспечат правильное включение и выключение противотуманных фар в зависимости от положения руля, избегая лишнего включения реле, если фары уже включены.

    Сам езжу на втором и думаю попробовать как можно меньше наколхозить и чтобы это выглядело отчасти штатно
    Возможно буду пихать эту систему в свою машину
     
    gorge нравится это.
  5. Escadra

    Escadra Пивной сомелье

    Регистрация:
    5 июн 2016
    Сообщения:
    15.015
    Род занятий:
    нефть, химия
    Адрес:
    Томск
    Имя пользователя:
    Владимир
    штож, успехов тебе! расскажи, что в итоге получилось
     
  6. Mike10

    Mike10 Хранитель Мегатрадиций

    Регистрация:
    14 фев 2011
    Сообщения:
    19.645
    Альбомы:
    1
    Адрес:
    С-Петербург
    Имя пользователя:
    Михаил
    Что-то на многих форумах сегодня прямо какое-то нашествие ботов. Хохлы что-ли перешли в ddos-атаку? :scratch_one-s_head:
     
  7. vmedic

    vmedic Почетный меганавт

    Регистрация:
    4 дек 2011
    Сообщения:
    2.847
    Адрес:
    Смоленск
    Имя пользователя:
    Вадим
    Раз уж решил так разгулялся, тогда ставь уже сервоприводы на туманки, чтоб вместе с рулём поворачивались, да правь код. :dirol::yes3:
     
    gorge нравится это.
  8. Mike10

    Mike10 Хранитель Мегатрадиций

    Регистрация:
    14 фев 2011
    Сообщения:
    19.645
    Альбомы:
    1
    Адрес:
    С-Петербург
    Имя пользователя:
    Михаил
    А чё только на туманки? На ближний/дальний тоже надо, ну и габариты с поворотниками тоже нельзя обижать.:smile3:
     
  9. dimon405

    dimon405 Почетный меганавт

    Регистрация:
    5 сен 2020
    Сообщения:
    1.359
    Имя пользователя:
    Dimon405
    Сколько на таких машинах ездил, не заметил никаких преимуществ. Зря время тратить.
     
  10. deniro24rus

    deniro24rus Mega-любитель

    Регистрация:
    26 сен 2011
    Сообщения:
    1.403
    Род занятий:
    IT
    Адрес:
    Красноярск
    Имя пользователя:
    Денис
    У меня в Toyota Levin 1987 г.в. подсветка обочины в тёмное время при повороте уже была реализована с завода :pardon:
    Правда не программно, а просто лампа габарита была с двумя спиралями и дополнительная спираль включалась при включении соответствующего указателя поворота.
    Ночью дополнительная подсветка никогда не была лишней.
     
    gorge нравится это.
  11. dimon405

    dimon405 Почетный меганавт

    Регистрация:
    5 сен 2020
    Сообщения:
    1.359
    Имя пользователя:
    Dimon405
    Она там ничего не освещает, маркетинговый ход.
     
  12. Mike10

    Mike10 Хранитель Мегатрадиций

    Регистрация:
    14 фев 2011
    Сообщения:
    19.645
    Альбомы:
    1
    Адрес:
    С-Петербург
    Имя пользователя:
    Михаил
    Какая мощность была у той лампы (спирали)?
     
  13. vmedic

    vmedic Почетный меганавт

    Регистрация:
    4 дек 2011
    Сообщения:
    2.847
    Адрес:
    Смоленск
    Имя пользователя:
    Вадим
    Ну, такое решение уже давно со времён СССР наши воплотили...
    traktor-K-700.jpg
    Во:lol:.
    В 1962 году... :mosking:
     
  14. deniro24rus

    deniro24rus Mega-любитель

    Регистрация:
    26 сен 2011
    Сообщения:
    1.403
    Род занятий:
    IT
    Адрес:
    Красноярск
    Имя пользователя:
    Денис
    Боюсь ошибиться, за давностью лет, но вроде стандартная лампа 5/25W.
    Там габарит был реализован отдельно от головного света, прямо по борту в окончании крыла, а не как у нас в блоке фары, поэтому ночью засветка была очень заметна и туда, куда нужно :good: Всё было сделано по уму.
     
  15. dimon405

    dimon405 Почетный меганавт

    Регистрация:
    5 сен 2020
    Сообщения:
    1.359
    Имя пользователя:
    Dimon405
    Ну сколько тот габарит осветит? Ладно, если в полной темноте, но на фоне фар это церковная свечка.
     
  16. deniro24rus

    deniro24rus Mega-любитель

    Регистрация:
    26 сен 2011
    Сообщения:
    1.403
    Род занятий:
    IT
    Адрес:
    Красноярск
    Имя пользователя:
    Денис
    photo_2024-05-21_22-05-43.jpg
    На фоне фар, да. Но так как габарит там светит в сторону борта, то в полной темноте очень даже хорошо подсвечивал обочину там, куда фары физически не могут светить. :pardon:
     
  17. gorge

    gorge Хранитель Мегатрадиций

    Регистрация:
    25 янв 2010
    Сообщения:
    7.753
    Адрес:
    город с мостом Кадырова...
    Имя пользователя:
    юрий
    А ведь можно было еще и про татру историю прочитать...
     
    Escadra нравится это.
  18. gorge

    gorge Хранитель Мегатрадиций

    Регистрация:
    25 янв 2010
    Сообщения:
    7.753
    Адрес:
    город с мостом Кадырова...
    Имя пользователя:
    юрий
    Привык народ по освещеным улицам езди ь...Так вот в полной темноте при повороте и не видно куда поворачиваешь и конечно можно "канавочники" заранее включить,но чем плохо если они сами при повороте руля зажигаются.
     
  19. Mike10

    Mike10 Хранитель Мегатрадиций

    Регистрация:
    14 фев 2011
    Сообщения:
    19.645
    Альбомы:
    1
    Адрес:
    С-Петербург
    Имя пользователя:
    Михаил
    Не надо про "татру", а то ещё накликаешь:mosking:(Привет, Юр, давненько не появлялся).
     
  20. gorge

    gorge Хранитель Мегатрадиций

    Регистрация:
    25 янв 2010
    Сообщения:
    7.753
    Адрес:
    город с мостом Кадырова...
    Имя пользователя:
    юрий
    Привет! заглядывал, но не отписывался.
     

Поделиться этой страницей