Страница 44 из 57 ПерваяПервая ... 343839404142434445464748495054 ... ПоследняяПоследняя
Показано с 431 по 440 из 561
  1. #431
    Местный
    Регистрация
    09.10.2011
    Возраст
    45
    Сообщений
    135
    Вес репутации
    185

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Нет, отключил вообще обвязку - сразу появляется 0 после запуска конфига.
    Вот так выглядит всё: http://youtu.be/kIB3uzoJcxc

  2. #432
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,380
    Вес репутации
    10

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Без резистора смещения на входе A5 будет 0

  3. #433
    Местный
    Регистрация
    09.10.2011
    Возраст
    45
    Сообщений
    135
    Вес репутации
    185

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Прошу простить мою упрямость ) Но оч хочу разобраться, что всё-таки делаю не так.
    Вот, напаял всё прямо на плату. Сопротивление из двух (прямо 3.3 не было, из пары получилось 3.18кОм). Через переключатель подключено сопротивление около 200 Ом.
    Ничего не меняется. Всегда "0".

    https://www.youtube.com/watch?featur...&v=KiEItNSZz84

  4. #434
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,380
    Вес репутации
    10

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Прошу простить мою упрямость
    Админы на форумах, для того что бы помогать

    Судя по морганию синего светодиода, у тебя не залит скетч
    Последний раз редактировалось Chip; 15.11.2012 в 03:08.

  5. #435
    Местный
    Регистрация
    09.10.2011
    Возраст
    45
    Сообщений
    135
    Вес репутации
    185

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Спасибо за помощь! Да, делал по инстре, про скетч соотв забыл.
    Теперь перехват работает + диапазон сопротивлений мне вполне подходит, супер.

    Но теперь затык такой. В конфиге ловлю сопротивление, фиксирую нажатие на клавиатуре, получаю строку вида <895>Key1=17 Key2=18 Key3=18 />, сохраняю.
    Запускаю Hotkey.exe, он ловит сопротивление, показывает 895, но нажатия в винде не эмулирует ( Пробовал разные символы задавать.

    И ещё вопросик: а после отключения ардуино скетч придётся снова заливать? как сделать, чтобы он там был постоянно прописан?

  6. #436
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,380
    Вес репутации
    10

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    а после отключения ардуино скетч придётся снова заливать? как сделать, чтобы он там был постоянно прописан?
    Достаточно прошить 1 раз и он там будет находится, пока не прошьешь новый скетч

    Но теперь затык такой. В конфиге ловлю сопротивление, фиксирую нажатие на клавиатуре, получаю строку вида <895>Key1=17 Key2=18 Key3=18 />, сохраняю.
    Что за комбинация горячих клавиш такая?
    Попробуй курсор эмулировать

  7. #437
    Местный
    Регистрация
    09.10.2011
    Возраст
    45
    Сообщений
    135
    Вес репутации
    185

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Я пробую эмулировать любые клавиши, не получается. Не жмёт оно их.
    Хоть сочетания, хоть просто "1". (
    Hotkey.exe показывает (если его развернуть) пойманный код, но больше ничего не происходит

  8. #438
    Пользователь Аватар для Jusper
    Регистрация
    04.10.2010
    Возраст
    37
    Сообщений
    71
    Вес репутации
    183

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    В веду в курс дел.
    У меня Adroino nano 3.0 c замкнутыми ножками 25 и 26 (спасибо Chip за внятное объяснение где и куда)
    сделано по схеме

    только без кон 0.01мфр.
    Кнопки руля подключены все как надо рабочие, сняты данные всех кнопок.
    скетч от Hamster единственный который работал
    (у него как и у меня тоже хондовские кнопки руля может из за этого).
    Код:
    /// Для рулевых кнопок
    // Задержки между нажатиями конкретных кнопок, миллисекунды
    #define KEY_CH_MINUS_DELAY    (200)
    #define KEY_CH_PLUS_DELAY     (200)
    #define KEY_VOL_MINUS_DELAY   (150)
    #define KEY_VOL_PLUS_DELAY    (150)
    #define KEY_MODE_DELAY        (300)
    
    // Значения кнопок
    #define KEY_CH_MINUS    (175)
    #define KEY_CH_PLUS     (330)
    #define KEY_VOL_MINUS   (0)
    #define KEY_VOL_PLUS    (73)
    #define KEY_MODE        (530)
    
    // Погрешность при чтении кнопок
    #define KEY_DELTA       (30)
    
    // Коды кнопок, что отсылаем в порт внешней проге
    #define CH_MINUS    (1)
    #define CH_PLUS     (2)
    #define VOL_MINUS   (3)
    #define VOL_PLUS    (4)
    #define MODE        (5)
    #define NONE        (0)
    
    
    unsigned long LastTimeKeyPressed = millis();
    int LastKeyPressed = NONE;
    
    void setup()      
    {     
    Serial.begin(9600);
    }      
    
    void loop()      
    {   
      ReadSteering();
      delay(50);
    } 
    
    // Читает рулевые кнопки и пишет в порт код нажатой кнопки
    void ReadSteering()      
    {   
      unsigned long TimeKeyPressed;
      int KeyPressed = NONE;
      int dt1 = analogRead(5);
      delay(50); 
      int dt2 = analogRead(5);
      if (abs(dt1-dt2)<=5 and dt1<900 ) //если нет дребезга и что-то есть
      { 
        // Регистрируем время нажатия кнопки
        TimeKeyPressed = millis();
    
        //CH_MINUS    
        if ( (dt1-KEY_DELTA <= KEY_CH_MINUS) and (dt1+KEY_DELTA >= KEY_CH_MINUS) )
        {
          if ( (LastKeyPressed != CH_MINUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_MINUS_DELAY) )
          {
            LastKeyPressed = CH_MINUS;
            KeyPressed = CH_MINUS;
            LastTimeKeyPressed = TimeKeyPressed;
          }  
        }
        //CH_PLUS
        else if ( (dt1-KEY_DELTA <= KEY_CH_PLUS) and (dt1+KEY_DELTA >=KEY_CH_PLUS) )
        {
          if ( (LastKeyPressed != CH_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PLUS_DELAY) )
          {
            LastKeyPressed = CH_PLUS;
            KeyPressed = CH_PLUS;
            LastTimeKeyPressed = TimeKeyPressed;
          }  
        }
        //VOL_MINUS
        else if ( (dt1-KEY_DELTA <= KEY_VOL_MINUS) and (dt1+KEY_DELTA >=KEY_VOL_MINUS) )
        {
          if ( (LastKeyPressed != VOL_MINUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_VOL_MINUS_DELAY) )
          {
            LastKeyPressed = VOL_MINUS;
            KeyPressed = VOL_MINUS;
            LastTimeKeyPressed = TimeKeyPressed;
          }  
        }
        //VOL_PLUS
        else if ( (dt1-KEY_DELTA <= KEY_VOL_PLUS) and (dt1+KEY_DELTA >=KEY_VOL_PLUS) )
        {
          if ( (LastKeyPressed != VOL_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_VOL_PLUS_DELAY) )
          {
            LastKeyPressed = VOL_PLUS;
            KeyPressed = VOL_PLUS;
            LastTimeKeyPressed = TimeKeyPressed;
          }
        }
        //MODE
        else if ( (dt1-KEY_DELTA <= KEY_MODE) and (dt1+KEY_DELTA >=KEY_MODE) )
        {
          if ( (LastKeyPressed != MODE) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_MODE_DELAY) )
          {
            LastKeyPressed = MODE;
            KeyPressed = MODE;
            LastTimeKeyPressed = TimeKeyPressed;
          }  
        }
        
        if (KeyPressed != NONE)
        {
          Serial.print(char(255));
          Serial.print(KeyPressed,DEC);
        }  
    
        //Serial.print(dt1,DEC);
        //Serial.print("   ");
        //Serial.println(dt2,DEC);
      }   
    }

    все работало стабильно на XP и на Win 7, установил Win 8 Pro и после этого тишина.
    Сам ардионо находит и опознан я даже с машины заново закачивал скеч все проходило без проблем, обновлял драйвера для Win8 на всякий случай нечего не изменилось.
    В Serial Monitor смотрел при нажатии кнопок нет реакции, по идее вроде проблема в дровах, но они последние которые я нашел для Win8 Pro может нужны какие то другие? я ставил CDM 2.08.24 WHQL Certified, и закачивал через Ardoino 1.0.1.
    Завтра попробую подключить к лептопу проверить работает все на XP Pro SP3 но это все ровно не помогает найти причину, есть ли у кого то идеи в чем может быть проблема?
    Кроме идей перейти на Win7.
    Причина по которой я перешел на Win 8 Pro это то что она выходит из Гибернацим очень быстро 30 сек, со временем приобрету SSD и будет за 5-10 сек.

  9. #439
    Пользователь Аватар для Jusper
    Регистрация
    04.10.2010
    Возраст
    37
    Сообщений
    71
    Вес репутации
    183

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Вытащил его с машины начал экспериментировать заметил что у меня стояло сопротивление 4.5 кило ом заменил на 3.28Ком припаял 1 кнопку залил скеч вижу сколько выдает при нажатии, решил вернуть в машину и записать новые значения кнопок но тут он взбесился и начал выдавать в Serial Monitor всякую хрень без остановки в виде

    &&&&&&&&&&&&&&&&&&
    0
    &&&&&&&&&&&&&&&&&
    0
    &&&&&&&&&&&&&&&&&

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

  10. #440
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,380
    Вес репутации
    10

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Это нормально.
    Serial Monitor пытается отображать бинарные значения в кодировке ASC-II
    А Вы что хотели в нем увидеть, реальные обозначения или сопротивления нажатых кнопок?
    Последний раз редактировалось Chip; 23.11.2012 в 04:16.

Страница 44 из 57 ПерваяПервая ... 343839404142434445464748495054 ... ПоследняяПоследняя

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

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

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

Ваши права

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