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

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

avgaz 01.10.2013 21:55

Как все сложно с IR пультом не легче прикупить такой маленький http://www.aliexpress.com/item/Laser...105532496.html и сделать крепление для руля?

lti1 15.11.2013 10:05

Вложений: 2
Начало здесь.
Nett, в папке \arduino-1.0.5\hardware\arduino\cores\arduino для IDE 1.0.5 или \arduino-1.6.5-r5\hardware\arduino\avr\cores\arduino для IDE 1.6.5 меняете два файла USBAPI.h, HID.cpp на те, что во вложении соответственно. И добавляете в код из поста murano нужные действия, не нужные удаляете
Код:

int analogPin=0;
int data;

void setup()
{
  Keyboard.begin();
  Serial.begin(9600);
}

void loop()
{
  data=analogRead(analogPin); //читаем значение нажатой кнопки
  Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта
  /*поддерживаемые коды управляющих клавиш
  http://arduino.cc/en/Reference/KeyboardModifiers*/
  if (data==614)  Keyboard.write(176); //ENTER
  if (data==122)  Keyboard.write(216); //стрелка влево
  if (data==165)  Keyboard.write(215); //стрелка вправо
  if (data==216)  Keyboard.write(218); //стрелка вверх
  if (data==276)  Keyboard.write(217); //стрелка вниз
if (data>=315 && data<=345)  // приглушение звука
    {
      Remote.mute();
      Remote.clear();
    }
  if (data>=420 && data<=460)  // воспроизведение / пауза
    {
      Remote.play_pause();
      Remote.clear();
    }

  delay(100);
}

И как писал murano, добавить диапазон значения +- 5%, напимер если значение клавиши 330 вместо data==330 использовать data>=315 && data<=345 и т.д.
Возможные варианты мультимедиа клавиш
Код:

// Volume
Remote.increase();        Volume Up
Remote.decrease();        Volume Down
Remote.mute();                Mute
 
// Playback
Remote.play();                Play
Remote.pause();                Pause
Remote.play_pause();        Play/Pause
Remote.stop();                Stop
 
// Track Controls
Remote.next();                Next
Remote.previous();        Previous
Remote.forward();        Fast Forward
Remote.rewind();        Rewind

Remote.power();                Power
Remote.home();                WWW Home
Remote.search();        WWW Search

Кстати, какая у Вас плата? Должна быть Arduino Leonardo или Arduino Pro Micro.
Исходник здесь, Stop заменен на Play/Pause

anton2204 15.11.2013 10:50

Можно вот это применить без сложной доработки и настройки! Сам буду использовать эту платку для управления Андроид планшетом(мультимедиа кнопки) с универсального перепрограммируемого ИК пульта на руле.
Но можно и резистивные кнопочки прикрутить:
Цитата:

- 4 канала для подключения резистивных кнопок (до 15 кнопок на канал)
Если я не прав - пусть меня YAM1966 поправит ))))

lti1 15.11.2013 11:20

anton2204, согласен, это достойное устройство. Но если есть плата Arduino Leonardo или Arduino Pro Micro, зачем покупать ещё что то?
ИМХО с Arduino интереснее ну и цена Arduino Pro Micro всего 6-8$ с eBay.

YAM1966 15.11.2013 11:48

Цитата:

Сообщение от lti1 (Сообщение 277292)
anton2204, согласен, это достойное устройство. Но если есть плата Arduino Leonardo или Arduino Pro Micro, зачем покупать ещё что то?
ИМХО с Arduino интереснее ну и цена Arduino Pro Micro всего 6-8$ с eBay.

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

Так, для затравки: http://habrahabr.ru/post/146489/

lti1 15.11.2013 12:34

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

Митрич18 15.11.2013 13:57

Цитата:

Сообщение от YAM1966 (Сообщение 277293)
Если самому интересно программировать и изучать что-то новое, то согласен, ардуино именно для этого. Но ардуино - в общем-то конструктор-игрушка для непрофессионалов. Ни разу не встречал еще именно программистов, которые используют это чудо в своих разработках.
Если Вы сами разрабатываете библиотеки для работы с конкретными внешними устройствами - респект Вам. Если пользуетесь готовыми - тоже молодцы, но не забывайте, что их писали тоже люди со своим знанием и подходом. И нет гарантии что их подход в понимании работы будет таким-же как и у Вас.

Так, для затравки: http://habrahabr.ru/post/146489/

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

Nett 15.11.2013 15:06

Цитата:

Сообщение от lti1 (Сообщение 277286)
Начало здесь.
Nett, в папке \arduino-1.0.5\hardware\arduino\cores\arduino меняете два файла USBAPI.h, HID.cpp на те что во вложении. И добавляете в код из этого поста нужные действия, не нужные удаляете

Спасибо огромное за подробную инструкцию, все заработало с первого раза:smile1:, вот только вопрос остался, в шапке нексуса и у murano написано что экранная клава не работает, однако она как была так и осталось, это нормально или что-то не так?

lti1 15.11.2013 16:20

Цитата:

Сообщение от Nett (Сообщение 277311)
Спасибо огромное за подробную инструкцию, все заработало с первого раза:smile1:, вот только вопрос остался, в шапке нексуса и у murano написано что экранная клава не работает, однако она как была так и осталось, это нормально или что-то не так?

Всегда пожалуйста!:smile2:
Это заработало? А то как уже писал, сам не проверял, не на чем.
Код:

// Volume
Remote.increase();        Volume Up
Remote.decrease();        Volume Down
Remote.mute();                Mute
 
// Playback
Remote.play();                Play
Remote.pause();                Pause
Remote.play_pause();        Play/Pause
Remote.stop();                Stop
 
// Track Controls
Remote.next();                Next
Remote.previous();        Previous
Remote.forward();        Fast Forward
Remote.rewind();        Rewind

По клавиатуре не стоит парится, у меня SGT2 то же не пропадает при подключении хардовой клавы.

Nett 15.11.2013 16:36

Цитата:

Сообщение от lti1 (Сообщение 277319)
Всегда пожалуйста!:smile2:
Это заработало? А то как уже писал, сам не проверял, не на чем.
Код HTML:

// Volume
Remote.increase();        Volume Up
Remote.decrease();        Volume Down
Remote.mute();                Mute
 
// Playback
Remote.play();                Play
Remote.pause();                Pause
Remote.play_pause();        Play/Pause
Remote.stop();                Stop
 
// Track Controls
Remote.next();                Next
Remote.previous();        Previous
Remote.forward();        Fast Forward
Remote.rewind();        Rewind


Да, как раз от сюда и брал. Все как часики швейцарские работает. Правда до машины еще не дошел, проверял дома на резисторах, думаю разницы не будет. P.S все делал на ардуино леонардо.


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

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