PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Резистивные кнопки (http://pccar.ru/forumdisplay.php?f=165)
-   -   Крутилка громкости Arduino HID (http://pccar.ru/showthread.php?t=20222)

putok 02.01.2014 20:42

Крутилка громкости Arduino HID
 
Вложений: 2
Так как регулировать громкость в машине с экрана тача это тот еще ад решил сделать крутилку. Случайно наткнулся на библиотеку MouseKeyboard и решил что это идеально мне подходит =) купил плату Leonardo. Суть такова, берем фубар, ему назначаем хот кеи на уменьшение звука и увеличение, а также на паузу ( в данном случае это сочетание CTRL + SHIFT + Q, A, P ) и эмулируем их. Как видно кнопок можно прикручивать огромную кучу =)

скетч
PHP код:

unsigned long currentTime;
unsigned long loopTime;
const 
int pin_enc_A 2;       
const 
int pin_enc_B 3;    
const 
int pin_pause 4;    
unsigned char encoder_A;
unsigned char encoder_B;
unsigned char encoder_A_prev=0;
unsigned char pause;

void setup() {
  
pinMode(pin_enc_AINPUT_PULLUP); // encoder 1
  
pinMode(pin_enc_BINPUT_PULLUP); // encoder 2
  
pinMode(pin_pauseINPUT_PULLUP); // encoder pause
  
currentTime millis();
  
loopTime currentTime
  
Keyboard.begin();
}
 
void loop() {
  
currentTime millis();
  if(
currentTime >= (loopTime 5)){ // проверяем каждые 5мс (200 Гц)
    
encoder_A digitalRead(pin_enc_A);     // считываем состояние выхода А энкодера 
    
encoder_B digitalRead(pin_enc_B);     // считываем состояние выхода А энкодера    
    
if((!encoder_A) && (encoder_A_prev)){    // если состояние изменилось с положительного к нулю
      
if(encoder_B
       {
        
// выход В в полож. сост., значит вращение по часовой стрелке
         
Keyboard.press(KEY_LEFT_CTRL);
         
Keyboard.press(KEY_LEFT_SHIFT);
         
Keyboard.press('q');
         
delay(50);   
         
Keyboard.releaseAll();     
       }   
      else {
         
Keyboard.press(KEY_LEFT_CTRL);
         
Keyboard.press(KEY_LEFT_SHIFT);
         
Keyboard.press('a');
         
delay(50);   
         
Keyboard.releaseAll();          
      }   
    }   
    
encoder_A_prev encoder_A;     // сохраняем значение А для следующего цикла 
    
    
    
if ( !digitalRead(pin_pause) )   {
       
pause=1;           
     }
     else {
      if ( 
pause ) {          
       
Keyboard.press(KEY_LEFT_CTRL);
       
Keyboard.press(KEY_LEFT_SHIFT);
       
Keyboard.press('p');
       
delay(50);   
       
Keyboard.releaseAll(); 
       
pause=0;
      }          
     }

    
loopTime currentTime;
  }                         



Sanekk63 18.09.2015 23:35

Подойдёт ли данный скетч для ардуино про микро?

~aviator~ 18.09.2015 23:41

Такую крутилку сделал на старой мышке с мех. Энкодером
Мне кажется все проще ничего писать не нужно, перепаял и все

Sanekk63 19.09.2015 07:51

Впоследствии хочу рулевые кнопки подключить к ардуино

Vlad-bodryi 19.09.2015 08:31

если незнаешь программирование, а судя по этим вопросам ты его не знаешь, купи готовый от YAM1966. цена хоть сейчас и знатная, но она этого стоит, там как в вашем любимом лозунге-заманухи "ALL INCLUSIVE". поверь, потратишь больше...

Sanekk63 19.09.2015 08:44

Купить оно всегда проще и быстрее, но хочется сделать самому. Энкодер есть такой как на фото в этом посте, ардуино про микро. Судя по тому что комп определяет его как ардуино Леонардо, скетч должен подойти.

lti1 19.09.2015 10:01

Sanekk63, если энкодер для регулировки громкости, вот готовый скетч http://pccar.ru/showthread.php?p=333525#post333525, не забудьте поменять файлы USBAPI.h, HID.cpp http://pccar.ru/showpost.php?p=277286&postcount=182 при этом версия ПО Arduino Software IDE должна быть 1.0.5.

Sanekk63 19.09.2015 10:44

Цитата:

Сообщение от lti1 (Сообщение 338498)
Sanekk63, если энкодер для регулировки громкости, вот готовый скетч http://pccar.ru/showthread.php?p=333525#post333525, не забудьте поменять файлы USBAPI.h, HID.cpp http://pccar.ru/showpost.php?p=277286&postcount=182 при этом версия ПО Arduino Software IDE должна быть 1.0.5.

Большое спасибо! Да, энкодер для регулирования громкости, ещё хочу кнопки на руле подцепить. Но для начала хотя бы энкодер.

lti1 19.09.2015 11:20

Цитата:

Сообщение от Sanekk63 (Сообщение 338499)
Большое спасибо! Да, энкодер для регулирования громкости, ещё хочу кнопки на руле подцепить. Но для начала хотя бы энкодер.

Вот объединенный скетч со скетчем из этого поста, но я его работоспособность не проверял.

Sanekk63 19.09.2015 11:22

Ок. Спасибо! Сейчас буду пробовать первый скетч пока ребенок спит))

Sanekk63 19.09.2015 11:38

Загрузил скетч пока только для энкодера, на компе ползунок громкости начал дергаться, при вращении регулятора ничего не происходит. может подключил не так? Есть схема подключения для этого скетча?

Sanekk63 19.09.2015 11:44

Залил скетч только для энкодера, ползунок громкости дергается, но на вращение не реагирует. Может подключил не так? Есть ли схема подключения?

lti1 19.09.2015 11:51

Вложений: 1
Цитата:

Сообщение от Sanekk63 (Сообщение 338503)
Загрузил скетч пока только для энкодера, на компе ползунок громкости начал дергаться, при вращении регулятора ничего не происходит. может подключил не так? Есть схема подключения для этого скетча?

Схема подключения, возможно понадобится поменять местами D8 и D9, если будет отрабатывать не в ту сторону.

Sanekk63 19.09.2015 11:53

Цитата:

Сообщение от lti1 (Сообщение 338505)
Схема подключения, возможно понадобится поменять местами D8 и D9, если будет отрабатывать не в ту сторону.

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

lti1 19.09.2015 12:40

Цитата:

Сообщение от Sanekk63 (Сообщение 338506)
Ну собственно так и подключил, странно что тогда не так.
Монитор порта тоже ничего не показывает

D8 и D9 подтяните к +5v.
В мониторе ни чего и не должно быть.

Sanekk63 19.09.2015 12:44

Вот такую схему нашел, причем скетч ваш. http://www.drive2.ru/c/2308877/

Собрал по этой схеме. И о чудо! Заработало! Спасибо вам большое за помощь!

Vlad-bodryi 19.09.2015 20:09

Цитата:

Сообщение от Sanekk63 (Сообщение 338495)
Купить оно всегда проще и быстрее, но хочется сделать самому. Энкодер есть такой как на фото в этом посте, ардуино про микро.

дело не в этом совсем... оно в середине уже наберётся целый ком хотелок, но это уже непросто реализовать незная программирования, пока ты будешь всё это отрабатывать, сменишь авто, а оно попадётся какое-нибудь хитрое с шинами(типа "КАН") - вот тут ты уже не сможешь отказаться хотя бы от той-же громкости!

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

"бобуинкой" хорошо играться решая простые задачи, например она у меня управляет в машине питанием(стеклоподъёмники, салонный свет(включая яркость)) и некоторые другие функции от ЦЗ на ключе, дома управление светом, включая яркость и ДУ. это всё простой и не сложной логикой программирования.

Sanekk63 21.09.2015 07:25

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

Vlad-bodryi 21.09.2015 20:35

Цитата:

Сообщение от Sanekk63 (Сообщение 338572)
Вас в том числе.

тут-то как раз и загвоздка...

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

а машинное дело - сплошная антисанитария! к тому же опасная и денежная...

но вам видней, поэтому вам и чпокаться:rofl:. у меня уже за тройку лет столько бабла и нервов ушло...:blink2:

Sanekk63 21.09.2015 21:55

Значит будем чпокаться��

svskrm 14.12.2015 22:53

Цитата:

Сообщение от lti1 (Сообщение 338498)
Sanekk63, если энкодер для регулировки громкости, вот готовый скетч http://pccar.ru/showthread.php?p=333525#post333525, не забудьте поменять файлы USBAPI.h, HID.cpp http://pccar.ru/showpost.php?p=277286&postcount=182 при этом версия ПО Arduino Software IDE должна быть 1.0.5.

помогите с 2-мя вопросами:
1. с эти скетчем если кручу энкодер (вправо или влево) проскакивает импульс в другу сторону. т.е. если кручу в сторону увеличения 3-4 щелчка проскакивает 1 импульс на уменьшение
2. ̶п̶р̶и̶ ̶п̶о̶д̶к̶л̶ю̶ч̶е̶н̶н̶о̶м̶ ̶л̶е̶о̶н̶а̶р̶д̶о̶ ̶н̶е̶ ̶р̶а̶б̶о̶т̶а̶е̶т̶ ̶в̶в̶о̶д̶ ̶с̶ ̶э̶к̶р̶а̶н̶н̶о̶й̶ ̶к̶л̶а̶в̶и̶а̶т̶у̶р̶ы̶.̶ ̶э̶т̶о̶ ̶к̶а̶к̶-̶н̶и̶б̶у̶д̶ь̶ ̶р̶е̶ш̶а̶е̶т̶с̶я̶?̶ решено

JamesDoe 22.12.2015 20:01

Извините за оффтоп. Не подcкажете, где такой регулятор можно купить готовый? На Алиэкспресс есть ровно один за 21 доллар, но он уж очень массивный.

Serjik87 23.12.2015 12:49

Цитата:

Сообщение от JamesDoe (Сообщение 346911)
Извините за оффтоп. Не полдкажете, где такой регулятор можно купить готовый? На Алиэкспресс есть ровно один за 21 доллар, но он уж очень массивный.

а что отталкиваем в нем, размеры?

JamesDoe 23.12.2015 20:13

Да, размер великоват. И дороговато. Ещё и отзывов ноль. Если ничего лучше не найдётся, прийдётся его брать, конечно.

Vladget 23.12.2015 21:19

Цитата:

Сообщение от JamesDoe (Сообщение 346911)
Извините за оффтоп. Не полдкажете, где такой регулятор можно купить готовый? На Алиэкспресс есть ровно один за 21 доллар, но он уж очень массивный.

Ну ты бы хоть ссылку выложил на это огромный Энкодер ну вот тебе на эбеи маленький http://www.ebay.com/itm/12mm-Rotary-...cAAOSwsFpWSUMH вот на али http://ru.aliexpress.com/wholesale?s...nlyAffiliate=y

JamesDoe 24.12.2015 00:09

Цитата:

Сообщение от Vladget (Сообщение 346996)
Ну ты бы хоть ссылку выложил на это огромный Энкодер ну вот тебе на эбеи маленький http://www.ebay.com/itm/12mm-Rotary-...cAAOSwsFpWSUMH вот на али http://ru.aliexpress.com/wholesale?s...nlyAffiliate=y

Так это ж просто энкодеры, это и у нас на рынке продаётся. Мне нужно готовое устройство. Вот единственное, что я нашёл.

marton2k 21.09.2017 14:44

Цитата:

Сообщение от lti1 (Сообщение 338500)
Вот объединенный скетч со скетчем из этого поста, но я его работоспособность не проверял.

А не подскажите можно подправить объединенный скетч так, чтобы регулировка была не по 4 шага, а по 1? А то на андроиде совсем не хорошо выходит(( Через Xposed не варинт, там какие то пляски на Marshmallow

lti1 21.09.2017 15:36

Цитата:

Сообщение от marton2k (Сообщение 392423)
А не подскажите можно подправить объединенный скетч так, чтобы регулировка была не по 4 шага, а по 1? А то на андроиде совсем не хорошо выходит(( Через Xposed не варинт, там какие то пляски на Marshmallow

http://pccar.ru/showthread.php?p=333525#post333525
// конденсаторы на землю желательно.

marton2k 21.09.2017 17:12

Цитата:

Сообщение от lti1 (Сообщение 392424)
http://pccar.ru/showthread.php?p=333525#post333525
// конденсаторы на землю желательно.

Все собрано по схеме и работает четко, только прибавляет или убавляет по 4 единицы шкалы громкости, что в винде, что в андроиде


Часовой пояс GMT +4, время: 19:26.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot