Показано с 1 по 10 из 16

Тема: Renault Sandero

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10
    www.muchbeer.ru
    Регистрация
    31.07.2011
    Возраст
    45
    Сообщений
    18
    Вес репутации
    178

    По умолчанию Re: Renault Sandero

    организовал автоматическое переключение монитора на вход AV при включении задней скорости.

    монитор умеет засыпать ТОЛЬКО в режиме VGA, в режимах AV1, AV2 он светится синим экраном.

    нужна реализация следующего алгоритма: при включении задней скорости на пульте автоматоматически нажимается кнопка AV1,
    при отключении задней скорости автоматически нажимается кнопка VGA.

    все сделано на arduino
    к пульту монитора подпаены проводки на кнопки AV1 и VGA, + и -
    выпаиваен и вынесен светодиод из пульта
    схема подключения arduino и схема питания пульта


    (забыл указать, что в схеме включения, используются оптопары PC817)

    так же выложен код, который мне любезно (за трешку) наипенил BlkDem.

    Код:
    // ==== Thermaltake A2413 rearview camera auto switch**====
    // ==== Powered by BlkDem, much_beer (c) 2012**********====
    
    #include <avr/wdt.h>
    #define btnVGA_pin (6) //выход ардуино, нажимающий кнопку VGA. Поменяйте по необходимости на ваше.
    #define btnV1_pin (5) //выход ардуино, нажимающий кнопку Video1. Поменяйте по необходимости на ваше.
    #define mPause (100) //множитель программной задержки. Поменяйте по необходимости на ваше.
    #define camera_pin (2) //Digital2 вход Arduino - именно на нем находится 0 прерывание. Менять, без переписывания кода, нельзя.
    
    void soft_delay(long value) //программная задержка. delay в прерываниях использовать не стоит
    {
    ****for (long i=0; i<value; i++)
    ****{
    ******digitalWrite(9, HIGH); //можно поменять на любой бестолковый код. 9 нога здесь для примера.***
    ******digitalWrite(9, LOW);**//Если у вас используется, поменяйте на другую.
    ****}
    }
    
    //нажатие на кнопку 2 раза сделано для надежности
    //если у вас будет работать с одного раза, то повтор можно удалить из кода
    
    void EnableVGA() //функция включения VGA путем нажатия на соответствующую кнопку пульта
    {
    ****detachInterrupt(0); //отключаем прерывание
    ********
    ****digitalWrite(btnVGA_pin, HIGH); //нажимаем кнопку
    ****soft_delay(mPause * 200);
    ****digitalWrite(btnVGA_pin, LOW); //отпускаем кнопку
    ****soft_delay(mPause * 300);
    ****digitalWrite(btnVGA_pin, HIGH); //нажимаем кнопку
    ****soft_delay(mPause * 200);***
    ****digitalWrite(btnVGA_pin, LOW); //нажимаем кнопку
    ******
    ****attachInterrupt(0, EnableV1, FALLING); //включаем 0 прерывание (реакция на включение заднего хода)
    }
    
    void EnableV1() //функция включения Video1 путем нажатия на соответствующую кнопку пульта
    {
    ****detachInterrupt(0);**//отключаем прерывание
    ******
    ****digitalWrite(btnV1_pin, HIGH); //нажимаем кнопку
    ****soft_delay(mPause * 300);
    ****digitalWrite(btnV1_pin, LOW);**//отпускаем кнопку
    ****soft_delay(mPause * 200);
    ****digitalWrite(btnV1_pin, HIGH); //нажимаем кнопку
    ****soft_delay(mPause * 300);
    ****digitalWrite(btnV1_pin, LOW); //отпускаем кнопку
    ******
    ****attachInterrupt(0, EnableVGA, RISING); //включаем 0 прерывание (реакция на вЫключение заднего хода)
    }
    
    void setup()
    {
    ****pinMode(btnVGA_pin, OUTPUT); //конфигурируем выходы, управляющие кнопками пульта как выходы
    ****pinMode(btnV1_pin, OUTPUT);
    ****pinMode(camera_pin, INPUT); // конфигурируем пин камеры как вход
    ****digitalWrite(camera_pin, HIGH); //включаем внутренню подтяжку (актуально для схемы с оптопарой)
    ****interrupts(); //разрешаем прерывания
    ****EnableVGA(); //включаем VGA при запуске авто
    ******
    ****wdt_enable(WDTO_4S); //инициализируем сторожевой таймер на 4 сек. Мы ведь не хотим, чтобы ардуина по каким то причинам, подвиснув, перестала работать.
    }
    
    void loop()
    {
    ****wdt_reset();**//сбрасываем сторожевой таймер
    }
    ну и видео
    (на видео компьютер выключен, в результате чего при переключении в режим VGA, монитор ругается на отсутствие сигнала и переводит в спячку экран)
    Последний раз редактировалось much_beer; 13.07.2012 в 10:25.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •