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

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Дополнительные устройства

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2015, 20:50   #441
tto4ka
Пользователь
 
Регистрация: 29.11.2011
Возраст: 44
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX300
Сообщений: 87
tto4ka is on a distinguished road
По умолчанию

Цитата:
Сообщение от komers Посмотреть сообщение
Если не секрет, за сколько вы его приобрели?
Ну по моему цена была приемлемой если в пересчете на баксы то 60 получилось почти что тоже самое что и у Chubaka885 вышло он за 40 взял
На данном этапе жду микросхемы, нарисовано уже два шилда, в основну взят шилд австрийца, он его предоставил бесплатно, микросхемы приедут, сведу все на макете, а потом отдам в производство, но будут излишки так что скорее всего выложу на продажу по себестоимости, но один фиг дорого будет порядка 1000 за шилд примерно
tto4ka вне форума   Ответить с цитированием
Старый 14.06.2015, 07:37   #442
Ajlewka
Пользователь
 
Регистрация: 09.12.2013
Возраст: 33
Регион: 25
Сообщений: 94
Ajlewka is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
Соберу всю информацию по одному из решений в одном месте, у кого есть возможность закрепите ссылку в первом сообщении.
Работает только с Arduino Pro Micro и Arduino Leonardo на чипе ATmega32u4.
Для начала меняем в папке \arduino-1.0.5\hardware\arduino\cores\arduino два файла USBAPI.h, HID.cpp на те, что во вложении этого сообщения, при этом версия ПО Arduino Software IDE должна быть 1.0.5, скачать setup exe, скачать zip.
После заливаете этот скетч и считайте коды всех кнопок через "монитор порта" Arduino Software (IDE).
PHP код:
int analogPin=0//пин для подключения кнопок
int data;

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

void loop()
{
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data);
delay(1000);

Подключаете кнопки к Arduino по следующим схемам, с подтяжкой к - или к +. Номинал сопротивления ~20 кОм.
Вложение 38555
Потом заливаете этот скетч, только в начале скетча указываете свои значения, то есть вместо 111, 222, 333, 444, 555, 777 указываете значения своих кнопок, а также значение при отпущенных кнопках, в зависимости от схемы подключения будут либо ближе 0 либо ближе к 1023:
PHP код:
//****************** Здесь необходимо указать свои значения ***************

int analogPin=0// пин для подключения кнопок, по умолчанию A0

int release_button 1023// значение при отпущенных кнопках
int button_release_range 50// диапазон значения + - при отпущенных кнопках
int button_range 10// диапазон значения нажатых кнопок + -
int time_holding 500// время для удержания кнопок в миллисекундах
int time_tinkling 10// время исключающее дребезг контактов в миллисекундах
int vol_up 111// значение кнопки увеличить громкость
int vol_down 222// значение кнопки уменьшить громкость
int alt_tab 333// значение кнопки которая будет работать как Alt + Tab
int next 444// значение кнопки которая будет работать как Next при коротком нажатии и Fast Forward при удержании
int previous 555// значение кнопки которая будет работать как Previous при коротком нажатии и Rewind при удержании
int play_pause 777// значение кнопки которая будет работать как Play/Pause при коротком нажатии и Mute при удержании

//**************************************************************************

int data
unsigned long flag 0
unsigned long eventTime 0
unsigned long pauseMillis 0;

void setup() 

Keyboard.begin(); 


void loop() 

data=analogRead(analogPin); 
if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 0

eventTime=millis(); 


//********************** Громкость ************************************

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= vol_up button_range && data <= vol_up button_range && flag == 0)
{  
Remote.increase(); 
flag 5
delay(10); 
Remote.clear(); 


if(
millis()-eventTime>time_holding && data >= vol_up button_range && data <= vol_up button_range && flag == || data >= vol_up button_range && data <= vol_up button_range && flag && flag == 3
{  
Remote.increase();
flag 3
Remote.clear(); 
delay(100); 


if(
millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= vol_down button_range && data <= vol_down button_range && flag == 0
{  
Remote.decrease(); 
flag 6
delay(10); 
Remote.clear(); 


if(
millis()-eventTime>time_holding && data >= vol_down button_range && data <= vol_down button_range && flag == || data >= vol_down button_range && data <= vol_down button_range && flag == 3
{  
Remote.decrease(); 
flag 3
Remote.clear(); 
delay(100); 


//********************** AltTab + Ещё что то ************************************  

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= alt_tab button_range && data <= alt_tab button_range
{  
flag 1


if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == && pauseMillis == 0

Keyboard.press(KEY_LEFT_ALT); 
Keyboard.press(KEY_TAB); 
Keyboard.release(KEY_TAB); 
Keyboard.press(KEY_TAB); 
Keyboard.release(KEY_TAB); 
flag 0
pauseMillis millis(); 


if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == && pauseMillis != 0

Keyboard.press(KEY_TAB); 
Keyboard.release(KEY_TAB); 
flag 0
pauseMillis millis(); 


if(
pauseMillis && millis()-pauseMillis >= 800 && data>=release_button button_release_range && data<=release_button button_release_range

flag 0
pauseMillis 0
Keyboard.releaseAll(); 


if(
millis()-eventTime>time_holding && data >= alt_tab button_range && data <= alt_tab button_range && flag == 1
{  
flag 0

//********************** Next и Fast Forward ************************************  

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= next button_range && data <= next button_range
{  
flag 2


if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 2

Remote.next(); 
flag 0
delay(10); 
Remote.clear(); 


if(
millis()-eventTime>time_holding && data >= next button_range && data <= next button_range && flag == || data >= next button_range && data <= next button_range && flag == 3
{  
Remote.forward(); 
flag 3
Remote.clear(); 
delay(100); 

//********************** Previous и Rewind ************************************  

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= previous button_range && data <= previous button_range
{  
flag 4


if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 4

Remote.previous(); 
flag 0
delay(10); 
Remote.clear(); 


if(
millis()-eventTime>time_holding && data >= previous button_range && data <= previous button_range && flag == || data >= previous button_range && data <= previous button_range && flag == 3
{  
Remote.rewind();
flag 3
Remote.clear(); 
delay(100); 


//********************** Play/pause + Mute ************************************  

if(millis()-time_tinkling && millis()-eventTime<time_holding-&& data >= play_pause button_range && data <= play_pause button_range
{  
flag 7


if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == 7

Remote.play_pause();  
flag 0
delay(10); 
Remote.clear(); 


if(
millis()-eventTime>time_holding && data >= play_pause button_range && data <= play_pause button_range && flag == 7
{  
Remote.mute();
flag 0;
delay(10);
Remote.clear(); 


if(
data>=release_button button_release_range && data<=release_button button_release_range && flag == || data>=release_button button_release_range && data<=release_button button_release_range && flag == || data>=release_button button_release_range && data<=release_button button_release_range && flag == 6

flag 0
}  

Алгоритм работы такой: короткое нажатие, более 10 (int time_tinkling = 10; можно менять в скетче) и менее 500 миллисекунд (int time_holding = 500; можно менять в скетче) - Play/pause; длинное, более 500 миллисекунд (int time_holding = 500; можно менять в скетче) - Mute.
Тоже самое с Next и Fast Forward, Previous и Rewind. При удержании увеличения и уменьшения громкости, увеличивает или уменьшает громкость на 10 делений в секунду, а при коротком нажатии, менее 500 миллисекунд - увеличивает или уменьшает громкость на 1 деление.
Alt + Tab, при первом нажатии эмулирует Alt и два раза Tab, то есть переходит предыдущему открытому приложении и в течении 0,8 секунды удерживает Alt, а повторные нажатия на кнопку в течении этого времени эмулируют только Tab. На удержание ни чего не назначен, можно добавить при необходимости.
а возможно то же самое только через bluetooth hc-05 сделать на ардуино леонардо? Не получается у меня почему то
Ajlewka вне форума   Ответить с цитированием
Старый 14.06.2015, 08:26   #443
Ajlewka
Пользователь
 
Регистрация: 09.12.2013
Возраст: 33
Регион: 25
Сообщений: 94
Ajlewka is on a distinguished road
По умолчанию

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

1 вариант. Ардуино возле кнопок под подушкой. Проблемма передачи сигнала. Если можно по блютузу передать то как это реализовать и энерго потребление какое , подключение как будет происходить. Еше вопрос по подсветке кнопок там пять вольт хватит пробовал яркости хватает только опять по потреблению вопрос. Если все это питать от аков каких нибуть на сколько хватать будет? или же сразу ставить зарядку для аков и вывести штекер под рулем.

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

3 вариант без разбора кнопок подключить ардуинку или просто микроконтроллер пусть обрабатывает кнопки но посылает команды на замыкание кнопок пульта блютуз и обрабатывает автоматизацию подсветки кнопок вопрос какое энергопотребление у этого всего будет штекер для заряда я так понимаю нужен во всех вариантах.
Спасибо жду вашего взгляда на это все.
пульт вот такой http://pccar.ru/showthread.php?t=22878
у меня ипсум 10 кузова. в принципе то же что и пикник. Руль у меня с крауна 180, улитку родную оставил, просто добавил в фишки родные еще 2 контакта на кнопки с одной и с другой стороны, да и все.
Ajlewka вне форума   Ответить с цитированием
Старый 14.06.2015, 10:20   #444
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Ajlewka Посмотреть сообщение
а возможно то же самое только через bluetooth hc-05 сделать на ардуино леонардо? Не получается у меня почему то
1 вариант:
Remote steering wheel control при этом, если добавите Tasker + Action Box - Tasker Plug-in, то получите листание папок или альбомов в PowerAMP.
2 вариант:
ИК управление Android по Bluetooth, потребуется доработка скетча.
lti1 вне форума   Ответить с цитированием
Старый 14.06.2015, 11:42   #445
Ajlewka
Пользователь
 
Регистрация: 09.12.2013
Возраст: 33
Регион: 25
Сообщений: 94
Ajlewka is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
1 вариант:
Remote steering wheel control при этом, если добавите Tasker + Action Box - Tasker Plug-in, то получите листание папок или альбомов в PowerAMP.
2 вариант:
ИК управление Android по Bluetooth, потребуется доработка скетча.
Тогда не обязательно и Леонардо иметь... Получается
Ajlewka вне форума   Ответить с цитированием
Старый 14.06.2015, 13:27   #446
komers
Пользователь
 
Регистрация: 03.04.2013
Возраст: 38
Регион: 78, 98
Сообщений: 26
komers is on a distinguished road
По умолчанию

Цитата:
Сообщение от tto4ka Посмотреть сообщение
Ну по моему цена была приемлемой если в пересчете на баксы то 60 получилось почти что тоже самое что и у Chubaka885 вышло он за 40 взял
Мне предложили, этот контроллер, за 2500 руб. Интересно было узнать, про среднюю стоимость на рынке)
komers вне форума   Ответить с цитированием
Старый 14.06.2015, 15:55   #447
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Ajlewka Посмотреть сообщение
Тогда не обязательно и Леонардо иметь... Получается
Совершенно верно. Леонардо нужно что бы прикидываться HID по USB.
lti1 вне форума   Ответить с цитированием
Старый 14.06.2015, 16:45   #448
Ajlewka
Пользователь
 
Регистрация: 09.12.2013
Возраст: 33
Регион: 25
Сообщений: 94
Ajlewka is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
Совершенно верно. Леонардо нужно что бы прикидываться HID по USB.
еще тогда вопрос - ардуино выбирает напряжение автоматически от большего к меньшему. если порвать +5в от усб на леонардо и подавать 12 от авто, она как хид устройство будет определяться и работать?
Ajlewka вне форума   Ответить с цитированием
Старый 14.06.2015, 16:57   #449
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Ajlewka Посмотреть сообщение
еще тогда вопрос - ардуино выбирает напряжение автоматически от большего к меньшему. если порвать +5в от усб на леонардо и подавать 12 от авто, она как хид устройство будет определяться и работать?
Напряжение ни каким образом не влияет режим работы Arduino, данный параметр устанавливается в скетче.
К чему вообще этот вопрос?
lti1 вне форума   Ответить с цитированием
Старый 15.06.2015, 01:27   #450
Ajlewka
Пользователь
 
Регистрация: 09.12.2013
Возраст: 33
Регион: 25
Сообщений: 94
Ajlewka is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
Напряжение ни каким образом не влияет режим работы Arduino, данный параметр устанавливается в скетче.
К чему вообще этот вопрос?
К тому, что если я питаю от nsd, значения начинают плясать с разбросом в 100-120, из-за этого на одну кнопку то громкость, то трэк щелкается, то альттаб срабатывает. А если просто от телефона в машине, или ноута, то все нормально. Непонятки. Дополнительно и землю мощнее делал, и пытался завести на корпус авто, не помогает
Ajlewka вне форума   Ответить с цитированием
Ответ


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

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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