Страница 11 из 55 ПерваяПервая ... 56789101112131415161721 ... ПоследняяПоследняя
Показано с 101 по 110 из 561

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

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

    Плохо поиском пользовался http://www.compcar.ru/forum/showthread.php?t=5669

  2. #2
    Новичок
    Регистрация
    28.03.2010
    Сообщений
    2
    Вес репутации
    0

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

    Если честно и не додумался бы туда смотреть, не каждому известно подробностей о FTDI и каким боком оно относиться к Carduino. Но теперь все встало на свои места. До этого гуглил по тексту ошибки но нечего не нашел, в тексте того топика о ошибке с таким текстом речи и не идет.
    Спасибо, за подсказку!

  3. #3
    Местный
    Регистрация
    10.07.2009
    Возраст
    51
    Сообщений
    152
    Вес репутации
    243

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

    Скачал HotKey от 21.03.10 и залил скетч с первой страницы с одним нажатием.
    Запускаю HKey_config, сразуже появляется значение 1023 - без нажатия кнопок. А если нажать кнопку, то появится значение с небольшим дребезгом 303-304.
    Запускаю новый монитор, Ардуино шлет значения - без нажатия кнопок.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	669 
Размер:	18.2 Кб 
ID:	8170  
    Последний раз редактировалось Serg_w; 29.03.2010 в 17:25.

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

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

    Все правильно, так и должно быть.
    Небольшой дребезг учтен опцией "Limit"
    Последний раз редактировалось Chip; 29.03.2010 в 18:16.

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

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

    Где то выкладывал в разделе

  6. #6
    Местный
    Регистрация
    10.07.2009
    Возраст
    51
    Сообщений
    152
    Вес репутации
    243

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

    Вот, соорудил кнопочки (резисторы: 12-24-35-46-62-74-90-108-129 Ом). Все работает, только есть небольшой дребизг в пределах 2-3 единиц.
    Обнаружил, что если кнопке не присвоен код, то при нажатии этой кнопки HotKey выдает ошибку. Поэтому пустым кнопка присвоил код 07.
    Chip, просьба подправить скетч, чтобы он ничего не передавал, когда нет нажатий.
    Спасибо.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	716 
Размер:	35.8 Кб 
ID:	8219  
    Последний раз редактировалось Serg_w; 02.04.2010 в 16:28.

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

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

    Обнаружил, что если кнопке не присвоен код, то при нажатии этой кнопки HotKey выдает ошибку.
    А зачем прописывать кнопку если ей ничего не будешь присваивать?

  8. #8
    Местный
    Регистрация
    10.07.2009
    Возраст
    51
    Сообщений
    152
    Вес репутации
    243

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

    Мне показалось так удобнее. Определил все кнопки в HKey_config, а потом в config только коды им в присваиваешь или меняешь.

  9. #9
    Новичок
    Регистрация
    06.12.2009
    Возраст
    45
    Сообщений
    5
    Вес репутации
    194

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

    Цитата Сообщение от Chip Посмотреть сообщение
    Софт написан для Carduino nano / Arduino
    Выкладываю программу для управления компьютером рулевыми кнопками.
    Спасибо за программу, очень помогла в начале.
    Но если пользователь захочет использовать ардуино ещё как-то (а он захочет, т.к. использовать всего один вход из двух десятков это расточительство), то этот код работать нормально не будет.

    Нужно оформить данный процесс как стейтмашину, примерно так как сделал я (привожу часть кода для длинного и короткого нажатия):
    PHP код:
        switch( state )
        {
          case 
    0// nothing pressed
                  
    key decode_buttonanalogReadWHEELBUT ) );
                  if( 
    key 
                  {
                      
    state 1;
                      
    time  millis();
                  }
                  break;
                  
          case 
    1// key down
                  
    if( decode_buttonanalogReadWHEELBUT ) ) == key 
                  {
                      if( 
    millis() - time 50 ) { state 2time 0; }
                      break;
                  }
                  
    state 0;
                  
    key   0;
                  
    time  0;
                  break;
                  
          case 
    2// one press
                  
    if( time == 
                  {
                      
    Serial.printlnkeyDEC ); 
                      
    time millis();
                  }
                  
                  if( 
    decode_buttonanalogReadWHEELBUT ) ) == key 
                  {
                      if( 
    millis() - time 250 ) { state 3time 0; }
                      break;
                  }
                  
    state 0;
                  
    key   0;
                  
    time  0;
                  break;
          
          case 
    3// key hold (multipress)
                  
    if( time == 
                  {
                      
    Serial.printlnkeyDEC ); 
                      
    time millis();
                  }
                  
                  if( 
    decode_buttonanalogReadWHEELBUT ) ) == key 
                  {
                      if( 
    millis() - time 75 ) { state 3time 0; }
                      break;
                  }
                  
                  
    state 0;
                  
    key   0;    
                  
    time  0;
                  break;
        } 
    Функция decode_button возвращает ноль если кнопка не нажата, и код кнопки если нажата.
    Переменные key, state и time изначально инициализируются нулем.
    Меняя константы 50 (время исключения дребезга), 250 (время перед началом повтора), 75 (1000/75=частота повтора) можно настроить реакцию под себя.
    Последний раз редактировалось Chip; 30.04.2010 в 19:54.

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

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

    Спасибо за код.

Страница 11 из 55 ПерваяПервая ... 56789101112131415161721 ... ПоследняяПоследняя

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

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

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

Ваши права

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