![]() |
Цитата:
Правильней говорить о напряжении, которые протекает через кнопки на микропроцессор, ну а первое зависит от сопротивления. |
А откуда там напряжение если один конец сопротивления на массе? А вот кусочек текста по твоей ссылке "Контроллер Arduino постоянно считывает это сопротивление" и судя по скетчу
" if (c<500) { b=1; // button 1 pressed "Трек вперед" " в данном случае это как раз 0,43К так что меряется сопротивление |
Цитата:
А что там ещё может быть? Кнопка замыкает цепь, на ней напряжение заданное сопротивлением. На кнопке в отжатом состоянии, естественно логический "0" |
Цитата:
|
применительно к этому скетчу что такое с<500 --- 500 чего?
|
Цитата:
"500"-это напряжение заданное резистором на кнопке. |
ну может быть, ( я не спорил я спрашивал) так и все таки 500 это чего, если там макс 5В то 500 чего
|
Цитата:
V Цитата:
|
Цитата:
Если переключить на AV, из кнопок на руле работает только мод и звук - + как раз то что нужно. То есть TV BOX управление подключить параллельно, не в разрыв. |
а что происходит если нажать "след трек" или "пред..." когда работает тв бокс ?- что то происходит , и можно марку твбокса - на нем что есть кнопки? или как думаешь переключать "след - пред"
|
Помогите пожалуйста подкорректировать этот скеч
Мне необходимо задействовать два входа, A0 и A1 int analogPin=A0; int data; int data1 = 0; int flag = 0; unsigned long eventTime = 0; void setup() { Serial.begin(9600); digitalWrite(analogPin, HIGH); } void loop() { data=analogRead(analogPin); if(data>=950 && data1 != 0 && flag <= 1) { Serial.print(" Serial.print(">"); data1 = 0; flag = 0; delay(10); } if(data>=950) { eventTime = millis(); } if(data<=949 && flag != 1 && millis()-eventTime>=50 && millis()-eventTime<=800) { flag = 2; if(millis()-eventTime <= 60) data1 = data; } if(data>=950 && flag == 2) { Serial.print(" Serial.print(">"); flag = 0; delay(10); } if(data<=949 && flag == 2 && millis()-eventTime>800) { Serial.print(" Serial.print(">"); data1 = data; flag = 1; delay(10); } } |
:wacko2:
|
Теперь хоть понятно, что тебе нужно)
Вопрос. Что конкретно нужно передавать по последовательному порту в ТВ-бокс? |
Цитата:
На А0 будут кнопки , next, play, mode, но эти кнопки настраиваются утилитой ,без проблем. |
Цитата:
Будут кнопки "кидать" что-нибудь на аналоговые входы. Дальше что делать с тем что они накидают?))) |
да нет ему нужно тупо замкнуть контакты этих кнопок на твбоксе, а тут наверно сразу вопрос что на этих кнопках ? или надо ставить два реле которые бы тупо щелкали. и наверно еще вопрос возникнет , я его задал но .. так как это будет параллельно с ГУ и при этом от него ничего не отключается что будет если когда работает твбокс нажимать эти две кнопки - на ГУ ничего не происходит? и наоборот если работает ГУ без тв бокса а ты нажимаешь эти кнопки что будет делать тв бокс в фоновом режиме , где он будет когда ты его подключешь в ГУ
|
А вот судя по примеру выложенного им скетча, получается следующие.
Читаем с аналогового входа --->отправляем полученное на тв-бокс по USB. Все. Короче голова уже разболелась...пусть мысли свои в порядок приведёт) |
он же писал
"Мне надо привязать на А1 Кнопку "Back". На А0 будут кнопки , next, play, mode, но эти кнопки настраиваются утилитой ,без проблем." ну пошлешь ты что то на USB а кто там что то ждет я же писал ему напиши марки и ГУ и бокса хоть посмотрели бы что есть что . а скетч он просто что то подправил не вдаваясь откуда и куда |
Цитата:
|
короче ему надо скетч который бы считывал только две кнопки "след трек" "пред трек" и в случае нажатия их на выходе включал бы то ли первое реле то ли второе контакты которых он припаяет тупо к кнопкам тв бокса
|
Цитата:
)))))))))) Кстати, если тему почитать, то можно собрать полноценный контроллер резистивных кнопок) |
Всем привет.
Я один такой счастливчик у которого комманды Remote.rewind(); Remote.forward(); в винде 10 вообще не пашут, а на андройде тупо переключают треки (как некст и превьюс)? Кстати с библиотекой Tablet такая же балалайка. IDE 1.0.5 |
Цитата:
|
Цитата:
|
Цитата:
|
имеется магнитола на андройд, два энкодера и arduino pro micro
первый энкодер нажатие - "Enter", вращение просто -"Tab" второй энкодер нажатие - "Alt+Tab" , вращение - "громкость" подскажите пожалуйста как реализовать скетч и подключение к ардуино? |
Цитата:
|
Цитата:
http://www.pccar.ru/showpost.php?p=390834&postcount=95 http://pccar.ru/showpost.php?p=319975&postcount=307 |
Доброго времени суток Всем!
Подскажите, пожалуйста, чайнику: - подключил энкодер к Ардуино ПроМикро - залил свой коротенький скетчик на основе библиотеки Remote - под Windows все работает норм (уменьшает/прибавляет громкость, отключает/включает звук), в диспетчере определяется как "HID-совместимое устройство управления" и "USB-устройство ввода" - на Андроиде - ВООБЩЕ ТИШИНА (то есть никакой реакции ни на подключение, ни на манипуляции) Что может быть? Может в системные папки нужно что-то добавить, в buildprop что-то прописать? Андроид-одноплатник Khadas VIM2. Спасибо за ответы! |
Цитата:
|
Цитата:
|
Доброго времени суток Всем.
Дико извиняюсь... А никто не думал над упрощением обсуждаемого кода? (Над избыточностью переменных и сложностью логических конструкций при проверке) ... или это не нужно никому? Работает, и ладно... Пример: зачем сначала "vol_up = 111", потом к этому "button_range = 5" и потом к этому ещё "data >= vol_up - button_range && data <= vol_up + button_range" когда можно "vol_up_porog = 120" и затем "data < vol_up_porog" и к тому же эту переменную можно потом использовать в loop для однозначной идентификации нажатой кнопки (в качестве флага)... |
задача:
-при повороте энкодера по часовой стрелке срабатывала кнопка "стрелка вправо" KEY_RIGHT_ARROW -при повороте против часовой "стрелка влево" KEY_LEFT_ARROW -при нажатии энкодера Enter "KEY_RETURN" собрал скетч, работает только нажатие энкодера Enter "KEY_RETURN" если не чего не трогаешь просто перелистываются приложения, как будто нажата клавиша "стрелка вправо" KEY_RIGHT_ARROW подключил так: pin 16 кнопка энкодера SW pin 2 нога энкодера CLK pin 3 нога энкодера DT GDN средняя нога энкодера и с кнопки GDN подскажите, что нужно поправить в скетче или что переподключить? скетч #include #include #include #include #define BTN_pin 16 // pin 16 кнопка энкодера SW const int pin_A = 2; // pin 2 нога энкодера CLK const int pin_B = 3; // pin 3 нога энкодера DT unsigned char encoder_A; //переменная unsigned char encoder_B; //переменная unsigned char encoder_A_prev=0; //переменная uint32_t vibor = 0; //Здесь будем хранть время int perek = 0; //переменная переключатель void setup() { digitalWrite(BTN_pin, 1); //подтяжка кнопки энкодера pinMode(pin_A, INPUT); //пины энкодера объявляем входами pinMode(pin_B, INPUT); //пины энкодера объявляем входами Serial.begin(9600); Keyboard.begin(); //подключим как клава } void loop() { //////////////ЭНКОДЕР/////////// { encoder_A = digitalRead(pin_A); // считываем состояние выхода А энкодера encoder_B = digitalRead(pin_B); // считываем состояние выхода B энкодера if((!encoder_A) && (encoder_A_prev)){ // если состояние изменилось с положительного к нулю if(encoder_B) { Keyboard.press(KEY_RIGHT_ARROW); delay(200); Keyboard.releaseAll(); } else { Keyboard.press(KEY_LEFT_ARROW); delay(200); Keyboard.releaseAll(); } } encoder_A_prev = encoder_A; // сохраняем значение А для следующего цикла } if(digitalRead(BTN_pin)==LOW) //Если кнопка нажата то делаем то что ниже. { Keyboard.press(KEY_RETURN); //При нажатии на кнопку команда Enter delay(200); //Делаем небольшую задержку чтоб не засыпало командами. Keyboard.releaseAll(); } } |
После комментария "//////////////ЭНКОДЕР///////////" открывающая скобка не лишняя, случайно? (перед encoder_A = digitalRead(pin_A);)
... И инклюды лишние: если используются только функции клавиатуры - то зачем подключать ещё и Tablet, и Encoder? |
Цитата:
Сделал на прерываниях (здесь кусок, касающийся только энкодера): PHP код:
|
скетч не компилируется, ругается на эту строку
attachInterrupt(digitalPinToInterrupt(KeyEncPin), KeyEncPress, FALLING); |
Arduino ProMicro - забыл указать... Не знаю, на чем ты делаешь
|
на Arduino ProMicro делаю
|
Нет проблем никаких :blush:
|
можешь прислать весь скетч целяком
https://cloud.mail.ru/public/Hdfc/U5ENixwV5 |
Часовой пояс GMT +4, время: 13:15. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot