02.06.2015, 03:59 | #431 | |
Пользователь
Регистрация: 29.11.2011
Возраст: 44
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX300
Сообщений: 87
|
Цитата:
|
|
02.06.2015, 10:53 | #432 |
Banned
Регистрация: 06.11.2009
Возраст: 38
Город: Nizhniy Novgorod
Регион: 52
Машина: Ford Focus III
Сообщений: 1,776
|
|
02.06.2015, 15:23 | #433 |
Пользователь
Регистрация: 29.11.2011
Возраст: 44
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX300
Сообщений: 87
|
Все вопрос решен Напшел iDrive )))
Небольшое зондирование почвы на тему iDrive принесло следующие результаты, есть 2 пути: 1. Вскрыть джойстик и припаять Arduino к узлам джойстика (метод Chubaka885) 2. Джойстик работает по CAN поэтому можно сделать обвязку на двух микросхемах MCP2515 и TJA1055 причем обе микросхемы не дорогие порядка 50-100р за штуку и дальше уже в Arduino Micro, есть даже схема шилда, причем через CAN в принципе наверно правильнее так как сразу весь функционал и подсветка , только вот производственных мощностей нету чтобы плату вытравить.... Последний раз редактировалось tto4ka; 03.06.2015 в 01:43. |
07.06.2015, 17:07 | #434 |
Пользователь
Регистрация: 04.11.2013
Возраст: 52
Город: москва
Регион: 77, 97, 99, 177
Машина: KIA Sorento XM
Сообщений: 33
|
Всем добра. Подскажите в скетче Iti выдает ошибку
Remote.increase(); - желтым выделяет и пишет remote as not declared in this scope чего делать?? |
07.06.2015, 19:10 | #435 | ||
Старший Пользователь
Регистрация: 08.10.2013
Возраст: 41
Регион: 56
Машина: Toyota Corolla e150
Сообщений: 325
|
Цитата:
Цитата:
__________________
Nexus 7 2012 (grouper), Cyanogenmod 11 - M10 фото установки Nexus 7 2012 & Toyota Corolla |
||
07.06.2015, 21:42 | #436 |
Пользователь
Регистрация: 04.11.2013
Возраст: 52
Город: москва
Регион: 77, 97, 99, 177
Машина: KIA Sorento XM
Сообщений: 33
|
Я конечно же поменял все библиотеки, поэтому и написал сюда, что выскакивает такая строка
|
08.06.2015, 07:11 | #437 |
Старший Пользователь
Регистрация: 08.10.2013
Возраст: 41
Регион: 56
Машина: Toyota Corolla e150
Сообщений: 325
|
Версия ПО?
__________________
Nexus 7 2012 (grouper), Cyanogenmod 11 - M10 фото установки Nexus 7 2012 & Toyota Corolla |
13.06.2015, 01:49 | #438 |
Пользователь
Регистрация: 03.04.2013
Возраст: 38
Регион: 78, 98
Сообщений: 26
|
|
13.06.2015, 16:52 | #439 |
Пользователь
Регистрация: 09.12.2013
Возраст: 33
Регион: 25
Сообщений: 94
|
Вопрос по теме - на столе все работает, только переношу в машину, начинается очень большой разброс по значениям. Если на столе 1-3, то в машине доходит до 80-100. Питается от НСД. я так понял это в ней дело. Вообще, есть разница в подтяжке? у меня сейчас сделано в состоянии покоя подтяжка на 5в. Что изменится если переделать на землю?
|
13.06.2015, 19:51 | #440 |
Старший Пользователь
Регистрация: 12.12.2013
Возраст: 43
Город: Армавир
Регион: 23, 93
Машина: Nissan Qashqai
Сообщений: 510
|
На 2 пина
Может кому пригодится, кашкаводам точно!
Бывает такое, что кнопки сидят не в одной группе, а в несколько. Вот и на кашкае шесть кнопок, но две группы и естественно два провода, да ещё и сопротивления одинаковые. Раньше соединял их резистором и сводил в один.... работает. Но все же дребезг, разница в значениях иногда приводила к непредсказуемым действиям. И вот моя наконец дошло))) Надеюсь многим поможет, работает теперь просто идеально работает. Немного переделанный код с поста lti1 Для двух проводных кнопок! Код:
//****************** Здесь необходимо указать свои значения *************** int analogPin=0; // пин для подключения кнопок A0 int analogPin1=1; // пин для подключения кнопок A1 int release_button = 1023; // значение при отпущенных кнопках int button_release_range = 20; // диапазон значения + - при отпущенных кнопках int button_range = 10; // диапазон значения нажатых кнопок + - int time_holding = 500; // время для удержания кнопок в миллисекундах int time_tinkling = 10; // время исключающее дребезг контактов в миллисекундах int vol_up = 345; // значение кнопки увеличить громкость int vol_down = 165; // значение кнопки уменьшить громкость data1 int alt_tab = 0; // значение кнопки которая будет работать как Alt + Tab int next = 100; // значение кнопки которая будет работать как Next при коротком нажатии и Fast Forward при удержании int previous = 30; // значение кнопки которая будет работать как Previous при коротком нажатии и Rewind при удержании data1 int play_pause = 0; // значение кнопки которая будет работать как Play/Pause при коротком нажатии и Mute при удержании data1 //************************************************************************** int data; int data1; unsigned long flag = 0; unsigned long eventTime = 0; unsigned long pauseMillis = 0; void setup() { Keyboard.begin(); } void loop() { data=analogRead(analogPin); data1=analogRead(analogPin1); if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 0) { eventTime=millis(); } if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 0) { eventTime=millis(); } //********************** Громкость ************************************ if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && 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 == 5 || 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-1 && data1 >= vol_down - button_range && data1 <= vol_down + button_range && flag == 0) { Remote.decrease(); flag = 6; delay(10); Remote.clear(); } if(millis()-eventTime>time_holding && data1 >= vol_down - button_range && data1 <= vol_down + button_range && flag == 6 || data1 >= vol_down - button_range && data1 <= vol_down + button_range && flag == 3) { Remote.decrease(); flag = 3; Remote.clear(); delay(100); } //********************** AltTab + Ещё что то ************************************ if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && 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 == 1 && 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 == 1 && pauseMillis != 0) { Keyboard.press(KEY_TAB); Keyboard.release(KEY_TAB); flag = 0; pauseMillis = millis(); } if(pauseMillis && millis()-pauseMillis >= 1500 && 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-1 && 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 == 2 || 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-1 && data1 >= previous - button_range && data1 <= previous + button_range) { flag = 4; } if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 4) { Remote.previous(); flag = 0; delay(10); Remote.clear(); } if(millis()-eventTime>time_holding && data1 >= previous - button_range && data1 <= previous + button_range && flag == 4 || data1 >= previous - button_range && data1 <= previous + button_range && flag == 3) { Remote.rewind(); flag = 3; Remote.clear(); delay(100); } //********************** Play/pause + Mute ************************************ if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data1 >= play_pause - button_range && data1 <= play_pause + button_range) { flag = 7; } if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 7) { Remote.play_pause(); flag = 0; delay(10); Remote.clear(); } if(millis()-eventTime>time_holding && data1 >= play_pause - button_range && data1 <= 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 == 3 || data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 5 || data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 6) if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 3 || data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 5 || data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 6) { flag = 0; } }
__________________
Nexus 7 (2013) Nissan Qashqai |
Здесь присутствуют: 15 (пользователей: 0 , гостей: 15) | |
|
|