Страница 1 из 57 12345671151 ... ПоследняяПоследняя
Показано с 1 по 10 из 561
  1. #1
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    49
    Сообщений
    13,300
    Вес репутации
    10

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

    Софт написан для Arduino v.7
    Выкладываю программу для управления компьютером рулевыми кнопками. Можно сделать резистивную клавиатуру и тоже ее использовать совмесно с Arduino. Программа легко одним нажатием настраивается на любые комбинации клавиш , также настраивается на расширенные мультимедийные клавиши(проверил лично) . Тому у кого нет мультимедийных клавиш на клавиатуре могут прописать в ручную в файле config.txt, например регулировка громкости в виндовс использует сканкод мультимедийных клавиши (уменьшить это код -174, увеличить это код-175)
    Список горячих клавиш для Centrafuse


    Сначала настраиваем на рулевые кнопки горячие клавиши запустив файл KeyConfig.exe, нажимать клавиши на клавиатуре нужно последовательно и по очереди. Набрав нужную комбинацию нажмите кнопку на руле и потом кнопку Добавить. Таким образом можно добавлять до 100 комбинаций и больше. После того как вы назначили все нужные вам кнопки. Нажмите кнопку Сохранить и выйдите из программы.
    Теперь ставим в автозагрузку программу HotKey.exe и пользуемся.

    Код для Arduino Nano v.7 работающий с одним нажатием:
    PHP код:
    //http://compcar.ru  
    #define PIN 5  //номер аналогового порта 
    #define LIMIT 5 //предел погрешности сопротивления 

    byte bytes[2];  
    int res_dt1res_d
    unsigned long math_time,old_time,real_time;  
    void setup()       
    {      
    Serial.begin(115200); // настроить скорость com порта       
    }  

    void loop()      
    {    
      
    res_d analogRead(PIN); // прочитать данные АЦП
      
    delay(30);
      
    res_dt1 analogRead(PIN); // прочитать данные АЦП 
            
    old_time millis(); 
            
    math_time 0;  
            while(
    math_time 300 && (res_dt1 res_d-LIMIT && res_dt1 res_d+LIMIT )) 
              { 
                 
    real_time millis();             //получить реальное время  
                 
    math_time real_time old_time//считаем длительность нажатия
                
    res_dt1 analogRead(PIN); // прочитать данные АЦП    
              

        
        if( 
    math_time 50)  //если нет дребезга то короткое нажатие
          
    {  
            
    bytes[0] = res_d 255;          // преобразовать в 2-байта   
            
    bytes[1] = (res_d 768) >> 8;   
            
    Serial.writebytes,2); // отправить прочитаное значение компьютеру       
          
    }    


    Код для Arduino, работает с длинным и коротким нажатием.
    PHP код:
    //http://compcar.ru  
    #define PIN 5  //номер аналогового порта 
    #define LIMIT 6 //предел погрешности сопротивления 

    byte bytes[2];  
    int res_dt1
    byte idx=0
    unsigned long math_time,old_time,real_time

    void setup()       
    {      
    Serial.begin(115200); // настроить скорость com порта       
    }   

    void loop()       
    {   
      
    old_time real_time
      
    math_time 0;  
      
    res_dt1 analogRead(PIN); // прочитать данные АЦП    
            
    while(math_time 500 && analogRead(PIN)>res_dt1-LIMIT && analogRead(PIN) < res_dt1+LIMIT && res_dt1 != 1023
              { 
                 
    real_time millis();             //получить реальное время  
                 
    math_time real_time old_time//считаем длительность паузы 
              

        
             if(
    math_time 30 && res_dt1 != 1023)  //если нет дребезга 
             
    {  
               if (
    idx==&& math_time 500){ res_dt1 1023idx=0; }  
               else if(
    math_time 499){ res_dt1 |= 1024idx=1; } 
                   
                
    bytes[0] = res_dt1 255;        // преобразовать в 2-байта   
                
    bytes[1] = (res_dt1 1792) >> 8
                
    Serial.writebytes,2);         // отправить прочитаное значение компьютеру   
              
    } else idx=0;  

    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	scrn.png 
Просмотров:	17567 
Размер:	3.8 Кб 
ID:	5794   Нажмите на изображение для увеличения. 

Название:	NANO_button.png 
Просмотров:	3099 
Размер:	24.5 Кб 
ID:	7937  
    Последний раз редактировалось Chip; 16.03.2017 в 01:34.

  2. #2
    Пользователь
    Регистрация
    17.03.2009
    Возраст
    33
    Сообщений
    45
    Вес репутации
    133

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

    А как подключить кнопки с руля к Arduino?

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

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

    Прочти первый пост внимательней , там написано.

  4. #4
    Пользователь
    Регистрация
    21.04.2009
    Сообщений
    92
    Вес репутации
    143

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

    на autohotkey будет ли подерживатся?

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

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

    Я с autohotkey не разбирался , а для чего если прога есть настраиваешь свои клавиши и все

  6. #6
    Пользователь
    Регистрация
    21.04.2009
    Сообщений
    92
    Вес репутации
    143

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

    Мне надо что бы она работала с окнами приложения, например если запущено окно приложения и оно не активно, делала его активным и нажимала в нём нужную кнопку.

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

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

    Откуда программе знать какому приложению ты посылаешь нажатия?
    Для этого нужно переписывать программу.

  8. #8
    Пользователь
    Регистрация
    21.04.2009
    Сообщений
    92
    Вес репутации
    143

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

    ну вот если бы она была совместима с автохоткей то тогда бы можно было научить. Мб есть вариант прикрутить его к драйверу джойстика?

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

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

    А что имеется ввиду про совместимость с автохоткей ?
    Опиши задачу .

  10. #10
    Пользователь
    Регистрация
    21.04.2009
    Сообщений
    92
    Вес репутации
    143

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

    Цитата Сообщение от Chip Посмотреть сообщение
    А что имеется ввиду про совместимость с автохоткей ?
    Опиши задачу .
    Под совместимостью я подразумевают что бы можно было данный девайс индефицировать в скрипте autohotkeya, получать от него координаты, имя устройства и т.д. то что понадобится, а далее прикручивать скриптовым языком к чему либо. Например как дела обстоят с микрухой от джойстика, когда она подсоединена к усб и настроена. По этому линку лежат 2 скрипта для автохоткей, первый это для настройки кнопок и индификации, а второй для узнавания координат по осям. Вот это я имел ввиду есть ли возможно как-то прикрутить данный девайс к драйверу джойстика, или каким нибудь другим способом что бы оно распознавалось автохоткеим.

Страница 1 из 57 12345671151 ... ПоследняяПоследняя

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

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

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

Ваши права

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