21.10.2015, 10:39 | #31 |
Старший Пользователь
Регистрация: 21.06.2014
Возраст: 47
Регион: 05
Машина: Hyundai Accent II
Сообщений: 556
|
Я ошибся. Библиотека encoder называется.
|
23.10.2015, 17:26 | #32 |
Старший Пользователь
Регистрация: 14.06.2009
Город: Ставрополь
Регион: 26
Машина: AUDI A6 (C5) 2000г.в. V6 2.8L
Сообщений: 131
|
Что-то я такой не нахожу ни где
НАШЕЛ))) теперь бы как нибудь её изучить, сама библиотека есть теперь, а вот информации по ней, кто-то маловато будет (((
__________________
AUDI A6 (C5) V6 2.8L |
23.10.2015, 18:59 | #33 |
Старший Пользователь
Регистрация: 21.06.2014
Возраст: 47
Регион: 05
Машина: Hyundai Accent II
Сообщений: 556
|
Посмотри ссылки, которые я осталял. Там готовый пример с регулятором громкости и библиотекой энкодер и с пояснениями. С ней вообще всё просто: 3 режима. С аппаратным прерыванием, без прерываний и еще какой-то. На мой взгляд, лучше без прерываний.
|
23.10.2015, 20:33 | #34 |
Старший Пользователь
Регистрация: 21.06.2014
Возраст: 47
Регион: 05
Машина: Hyundai Accent II
Сообщений: 556
|
Забыл самое главное. Библиотека remote. Она всем рулит. А bounce, encoder это для избавления дребезга контактов.
|
24.10.2015, 17:55 | #35 |
Новый Пользователь
Регистрация: 02.07.2015
Город: Красноярск
Регион: 24
Машина: Toyota Premio
Сообщений: 11
|
Привет.Подскажите, может знает кто нибудь. Залил скетч на ардуино pro micro управление звуком энкодером,все отлично работает. Но если запуск pipo x8 идет с данным регулятором то при включении он не работает пока не отключишь и подключишь его обратно. Может есть способ программно побороть это без задержки включения 5 вольт на usb?
|
24.10.2015, 20:14 | #36 |
Старший Пользователь
Регистрация: 21.06.2014
Возраст: 47
Регион: 05
Машина: Hyundai Accent II
Сообщений: 556
|
defed, мне кажется тебе с этой проблемой обратиться на ардуиновский форум. Там программистов больше чем здесь, а значит и вероятность получить решение проблемы больше.
|
22.11.2015, 18:34 | #37 |
Старший Пользователь
Регистрация: 14.06.2009
Город: Ставрополь
Регион: 26
Машина: AUDI A6 (C5) 2000г.в. V6 2.8L
Сообщений: 131
|
Эпопея продолжается...
теперь есть всё необходимое для рулевого управления, пишу скетч для правой (пока) чести управления по отдельности 2 счетча работают 1 для кнопок PHP код:
а вот вместе они дружить не хотят (((( что я могу не так соединять? PHP код:
sketch_encoder:37: error: expected unqualified-id before '{' token
__________________
AUDI A6 (C5) V6 2.8L |
22.11.2015, 19:39 | #38 |
Старший Пользователь
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
|
TransF, ну наверное потому, что в loop добавлять нужно, чтиво.
PHP код:
P.S. Это не мой скетч, я его только подправил. |
22.11.2015, 23:59 | #39 |
Старший Пользователь
Регистрация: 14.06.2009
Город: Ставрополь
Регион: 26
Машина: AUDI A6 (C5) 2000г.в. V6 2.8L
Сообщений: 131
|
Прошу прощения исправлюсь
И еще спасибо за чтиво, пока только читаю кучу теории и не совсем понимаю для чего какая команда,скорее даже пытаюсь повторить что делают другие Опытным путем выяснено что дэлэй для энкодера в показателе 100 исключает дребезг контактов (вместо 10 в оригинальном скетче) Верхний дэлэй пришлось вернуть, так как только с его помощью исключил дребезг в кнопках мьют и плэй/пауза на данном этапе скетч выглядит вот так Код:
int analogPin=0; int data; void setup() { PCICR=1<<PCIE0; PCMSK0=(1<<PCINT5)|(1<<PCINT4); pinMode (8,INPUT); pinMode (9,INPUT); Keyboard.begin(); Serial.begin(9600); } void loop() { data=analogRead(analogPin); //читаем значение нажатой кнопки Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта /*поддерживаемые коды управляющих клавиш http://arduino.cc/en/Reference/KeyboardModifiers*/ if (data>=28 && data<=35) // приглушение звука { Remote.mute(); Remote.clear(); } if (data>=58 && data<=65) // воспроизведение / пауза { Remote.play_pause(); Remote.clear(); } delay(180); } ISR (PCINT0_vect){ static byte old_n=PINB&B00110000; byte new_n=PINB&B00110000; if (old_n==32&&new_n==48||old_n==16&&new_n==0) { Remote.increase(); delay(10); Remote.clear();} if (old_n==16&&new_n==48||old_n==32&&new_n==0) { Remote.decrease(); delay(100); Remote.clear();} old_n= new_n; } начал работу над левый частью, по особо не получается, мучаюсь с альт+табом
__________________
AUDI A6 (C5) V6 2.8L Последний раз редактировалось TransF; 25.11.2015 в 01:49. |
25.11.2015, 02:02 | #40 |
Старший Пользователь
Регистрация: 14.06.2009
Город: Ставрополь
Регион: 26
Машина: AUDI A6 (C5) 2000г.в. V6 2.8L
Сообщений: 131
|
Помогите пожалуйста люди добрые, где-то скосячил не пойму где
Код HTML:
int analogPin=0; int data; unsigned long flag = 0; unsigned long eventTime = 0; unsigned long pauseMillis = 0; void setup() { PCICR=1<<PCIE0; PCMSK0=(1<<PCINT5)|(1<<PCINT4); pinMode (8,INPUT); pinMode (9,INPUT); Keyboard.begin(); Serial.begin(9600); } void loop() { data=analogRead(analogPin); //читаем значение нажатой кнопки Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта if (data>=28 && data<=35) // альт+таб { flag = 1; } { 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>=58 && data<=65) // воспроизведение / пауза { Remote.play_pause(); Remote.clear(); delay(180);} ISR (PCINT0_vect) { static byte old_n=PINB&B00110000; byte new_n=PINB&B00110000; if (old_n==32&&new_n==48||old_n==16&&new_n==0) { Remote.next(); delay(10); Remote.clear();} if (old_n==16&&new_n==48||old_n==32&&new_n==0) { Remote.previous(); delay(100); Remote.clear();} old_n= new_n; } Код HTML:
sketch_nov24a.ino: In function 'void loop()': sketch_nov24a:40: error: expected unqualified-id before string constant sketch_nov24a:41: error: a function-definition is not allowed here before '{' token sketch_nov24a:53: error: expected `}' at end of input
__________________
AUDI A6 (C5) V6 2.8L |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|