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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2018, 17:14   #821
НСО154
Старший Пользователь
 
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
НСО154 is on a distinguished road
По умолчанию

Цитата:
Сообщение от Vladget Посмотреть сообщение
короче ему надо скетч который бы считывал только две кнопки "след трек" "пред трек" и в случае нажатия их на выходе включал бы то ли первое реле то ли второе контакты которых он припаяет тупо к кнопкам тв бокса
Вспомнил игру из 90-х "Что, Где, Когда"
))))))))))
Кстати, если тему почитать, то можно собрать полноценный контроллер резистивных кнопок)
__________________
Тесла по-русски
НСО154 вне форума   Ответить с цитированием
Старый 19.08.2018, 17:19   #822
jonikus81
Старший Пользователь
 
Аватар для jonikus81
 
Регистрация: 07.09.2015
Возраст: 43
Город: Алматы
Регион: Казахстан
Машина: MMC DELICA 94 (булка)
Сообщений: 209
jonikus81 is a jewel in the roughjonikus81 is a jewel in the roughjonikus81 is a jewel in the roughjonikus81 is a jewel in the rough
По умолчанию

Всем привет.
Я один такой счастливчик у которого комманды
Remote.rewind();
Remote.forward();
в винде 10 вообще не пашут, а на андройде тупо переключают треки (как некст и превьюс)?
Кстати с библиотекой Tablet такая же балалайка.
IDE 1.0.5
jonikus81 вне форума   Ответить с цитированием
Старый 19.08.2018, 18:24   #823
НСО154
Старший Пользователь
 
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
НСО154 is on a distinguished road
По умолчанию

Цитата:
Сообщение от jonikus81 Посмотреть сообщение
Всем привет.
Я один такой счастливчик у которого комманды
Remote.rewind();
Remote.forward();
в винде 10 вообще не пашут, а на андройде тупо переключают треки (как некст и превьюс)?
Кстати с библиотекой Tablet такая же балалайка.
IDE 1.0.5
Бывает))
__________________
Тесла по-русски
НСО154 вне форума   Ответить с цитированием
Старый 20.08.2018, 12:47   #824
jonikus81
Старший Пользователь
 
Аватар для jonikus81
 
Регистрация: 07.09.2015
Возраст: 43
Город: Алматы
Регион: Казахстан
Машина: MMC DELICA 94 (булка)
Сообщений: 209
jonikus81 is a jewel in the roughjonikus81 is a jewel in the roughjonikus81 is a jewel in the roughjonikus81 is a jewel in the rough
По умолчанию

Цитата:
Сообщение от НСО154 Посмотреть сообщение
Бывает))
обидно то, что раньше (с год назад) не было самого устройства и я все делал на макетке и все работало как часики, даже для компа хотел собрать пультик. Потом нашел улитку на руль и сам руль под улитку. Тут появилось время и я собрал само устройство на руль как и хотел, дошло дело до тестов в авто и тут "такое". Такое лечится?

Последний раз редактировалось jonikus81; 20.08.2018 в 13:46.
jonikus81 вне форума   Ответить с цитированием
Старый 08.11.2018, 13:22   #825
kastava
Новый Пользователь
 
Регистрация: 06.09.2018
Возраст: 37
Город: Иркутск
Регион: 38
Сообщений: 1
kastava is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
Соберу всю информацию по одному из решений в одном месте, у кого есть возможность закрепите ссылку в первом сообщении.
Работает только с Arduino Pro Micro и Arduino Leonardo на чипе ATmega32u4.
Для начала меняем в папке \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 на те, что во вложении этого сообщения, при этом версия ПО Arduino Software IDE должна быть 1.0.5, скачать setup exe, скачать zip ИЛИ 1.6.5, на других не проверял.
После заливаете этот скетч и считайте коды всех кнопок через "монитор порта" Arduino Software (IDE).
PHP код:
int analogPin=0//пин для подключения кнопок
int data;

void setup()
{
analogReference(DEFAULT); // подключение внутреннего напряжение AVCC к выводу AREF (опорное напряжение)
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 5// диапазон значения нажатых кнопок + - 
int time_holding 500// время для удержания кнопок в миллисекундах 
int time_tinkling 30// время исключающее дребезг контактов в миллисекундах 
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()  

analogReference(DEFAULT); // подключение внутреннего напряжение AVCC к выводу AREF (опорное напряжение) 
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()-eventTime<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()-eventTime<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()-eventTime<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()-eventTime<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()-eventTime<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()-eventTime<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. На удержание ни чего не назначен, можно добавить при необходимости.
Подскажите возможно ли к этому скетчу добавить кнопки HOME, POWER, F1,F2,F3 ? Если да то поделитесь инфой что нужно изменить
kastava вне форума   Ответить с цитированием
Старый 18.12.2018, 13:57   #826
fishdimka
Новый Пользователь
 
Регистрация: 18.12.2018
Возраст: 43
Регион: 26
Сообщений: 7
fishdimka is on a distinguished road
По умолчанию

имеется магнитола на андройд, два энкодера и arduino pro micro
первый энкодер нажатие - "Enter", вращение просто -"Tab"
второй энкодер нажатие - "Alt+Tab" , вращение - "громкость"
подскажите пожалуйста как реализовать скетч и подключение к ардуино?
fishdimka вне форума   Ответить с цитированием
Старый 18.12.2018, 22:12   #827
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от fishdimka Посмотреть сообщение
имеется магнитола на андройд, два энкодера и arduino pro micro
первый энкодер нажатие - "Enter", вращение просто -"Tab"
второй энкодер нажатие - "Alt+Tab" , вращение - "громкость"
подскажите пожалуйста как реализовать скетч и подключение к ардуино?
Если подключить юсб клавиатуру к магнитоле и эти комбинации работают, то прошиваете промикру как юсб клавиатуру, на энкодеры подтяжки и конденсаторы по 0.1 мФ и скетч написать. Примеры скетча есть прямо в Ардуино IDE (среде разработки)
oleg707 вне форума   Ответить с цитированием
Старый 18.12.2018, 22:32   #828
skanch
Модератор
 
Аватар для skanch
 
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,645
skanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant future
По умолчанию

Цитата:
Сообщение от fishdimka Посмотреть сообщение
...подскажите пожалуйста как реализовать скетч и подключение к ардуино?
Посмотрите здесь...
http://www.pccar.ru/showpost.php?p=390834&postcount=95
http://pccar.ru/showpost.php?p=319975&postcount=307
skanch вне форума   Ответить с цитированием
Старый 20.12.2018, 17:43   #829
Alex15BV
Пользователь
 
Регистрация: 01.11.2017
Возраст: 50
Город: Лобня
Регион: 50, 90, 150
Машина: BMW 530D Touring
Сообщений: 96
Alex15BV is a jewel in the roughAlex15BV is a jewel in the roughAlex15BV is a jewel in the rough
По умолчанию

Доброго времени суток Всем!

Подскажите, пожалуйста, чайнику:
- подключил энкодер к Ардуино ПроМикро
- залил свой коротенький скетчик на основе библиотеки Remote
- под Windows все работает норм (уменьшает/прибавляет громкость, отключает/включает звук), в диспетчере определяется как "HID-совместимое устройство управления" и "USB-устройство ввода"
- на Андроиде - ВООБЩЕ ТИШИНА (то есть никакой реакции ни на подключение, ни на манипуляции)
Что может быть? Может в системные папки нужно что-то добавить, в buildprop что-то прописать?
Андроид-одноплатник Khadas VIM2. Спасибо за ответы!
Alex15BV вне форума   Ответить с цитированием
Старый 20.12.2018, 19:59   #830
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Alex15BV Посмотреть сообщение
Доброго времени суток Всем!

Подскажите, пожалуйста, чайнику:
- подключил энкодер к Ардуино ПроМикро
- залил свой коротенький скетчик на основе библиотеки Remote
- под Windows все работает норм (уменьшает/прибавляет громкость, отключает/включает звук), в диспетчере определяется как "HID-совместимое устройство управления" и "USB-устройство ввода"
- на Андроиде - ВООБЩЕ ТИШИНА (то есть никакой реакции ни на подключение, ни на манипуляции)
Что может быть? Может в системные папки нужно что-то добавить, в buildprop что-то прописать?
Андроид-одноплатник Khadas VIM2. Спасибо за ответы!
Питание на юсб есть? Флешку видит? Клавиатуру видит?
oleg707 вне форума   Ответить с цитированием
Ответ


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

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

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



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


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