Замена энкодера ползунковым потенциометром
- Войдите на сайт для отправки комментариев
Пт, 06/09/2019 - 14:17
Добрый день. Обыскал весь интернет, не могу найти ответ на такой вопрос.
Есть энкодеры, подключенные к ардуино, которым назначены нажатия кнопок влево-вправо, вверх-вниз для регулировки параметров в программе. Было бы удобно регулировать параметры не вращением, а перемещением ползунка вверх-вниз (влево-вправо). Т.е. заменить энкодер ползунковым потенциометром (фейдером).
Какой скетч нужен для ползункового потенциометра, чтобы он мог выполнять функции - движение в одну сторону : нажатие клавиши Keyboard.press(KEY_LEFT_ARROW); вправо: Keyboard.press(KEY_RIGHT_ARROW);
Благодарю за ответы.
analogRead()
Было бы удобно регулировать параметры не вращением, а перемещением ползунка вверх-вниз (влево-вправо). Т.е. заменить энкодер ползунковым потенциометром (фейдером).
очень сильно сомневаюсь, что это "было бы удобно".
Работа с меню перемещением вверх-вниз вправ-влево давным давно реализована и делается это джойстиком, а вовсе не потенциометром.
analogRead()
DetSimen, покажите, пожалуйста, на примере.
Было бы удобно регулировать параметры не вращением, а перемещением ползунка вверх-вниз (влево-вправо). Т.е. заменить энкодер ползунковым потенциометром (фейдером).
очень сильно сомневаюсь, что это "было бы удобно".
Работа с меню перемещением вверх-вниз вправ-влево давным давно реализована и делается это джойстиком, а вовсе не потенциометром.
Изменение параметров (не перемещение по меню) быстрее энкодером, чем джойстиком. Фейдером должно быть быстрее, чем энкодером.
Изменение параметров (не перемещение по меню) быстрее энкодером, чем джойстиком. Фейдером должно быть быстрее, чем энкодером.
Вы путаете энкодер и потенциометр. Аналогом фейдера является круглый переменный резистор, а не энкодер.Переменные резисторы (потенциометры) в системах меню не используют, и если вы подумаете - сами поймете, почему. Все недостатки потенциометра в равной степени относятся и к фейдеру.
DetSimen, покажите, пожалуйста, на примере.
какой пример вам нужен? чтения потенциометра через analogRead ? :) - это второй или третий урок в любой книжке по ардуино.
DetSimen, покажите, пожалуйста, на примере.
какой пример вам нужен? чтения потенциометра через analogRead ? :) - это второй или третий урок в любой книжке по ардуино.
Премещение в одну сторону вызывало команду клавиатуры, например, KEY_LEFT_ARROW
Премещение в одну сторону вызывало команду клавиатуры, например, KEY_LEFT_ARROW
повторяю, когда перемещение в одну сторону вызывает команду KEY_LEFT_ARROW, а в другую KEY_RIGHT_ARROW - это называется джойстик.
Ишите код для джойстика+ ардуино - таких примеров полно.
А про фейдер вы явно не догоняете. Подумайте о том, что произойдет, когда вы подвинетесь в какую-либо сторону до края ползунка
DetSimen, покажите, пожалуйста, на примере.
Ви хочете примеров? Их есть у меня. От 200 до 500р за штуку.
Какой скетч нужен для ползункового потенциометра
Точно такой же, как для неползункового (вращающегося).
Премещение в одну сторону вызывало команду клавиатуры, например, KEY_LEFT_ARROW
повторяю, когда перемещение в одну сторону вызывает команду KEY_LEFT_ARROW, а в другую KEY_RIGHT_ARROW - это называется джойстик.
Ишите код для джойстика+ ардуино - таких примеров полно.
А про фейдер вы явно не догоняете. Подумайте о том, что произойдет, когда вы подвинетесь в какую-либо сторону до края ползунка
Я имею ввиду механику перемещения: энкодер нужно крутить запястьем, фейдер сдвигать, на джойстик давить-нажимать.
Есть шкала от «-50 до 0 до +50» Ползунок фейдера находится по середине на «0» Сдвиг фейдера влево до -50 это инициация 50 нажатий кнопки key_left_arrow. Если фейдер находится на -50 его можно одним движением подвинуть на +50. Если я правильно понимаю, джойстиком для того чтобы изменить значение от -50 до +50, нужно давить на кнопку джойстика «вправо» до тех пор, пока не будет +50.
Если фейдер находится на -50 его можно одним движением подвинуть на +50.
Ага,и программа с радостью отрабатоет это "одно движение" как 50 нажатий KEY_RIGHT_ARROW :)
Поймите, главное отличие энкодера от потенциометра, что энкодер можно вращать в любу. сторону бесконечно, а потенциометр имеет пределы. К фейдеру это также относится.
Если фейдер находится на -50 его можно одним движением подвинуть на +50.
Ага,и программа с радостью отрабатоет это "одно движение" как 50 нажатий KEY_RIGHT_ARROW :)
Поймите, главное отличие энкодера от потенциометра, что энкодер можно вращать в любу. сторону бесконечно, а потенциометр имеет пределы. К фейдеру это также относится.
От -50 до +50 не 50 нажатий, а 100 ;)
Я понимаю, что у фейдера есть пределы. Но нужна именно такая механика сдвига ползунка.
Я понимаю, что у фейдера есть пределы. Но нужна именно такая механика сдвига ползунка.
ну так делайте. Потом расскажите.
Когда сделаете - тогда и поймете, почему никто до вас этого не делал.
Но нужна именно такая механика сдвига ползунка.
Пример AnalogInput из стандартной поставки ардуино Вам в руки! То, что ползунковый и вращающийся потенциометр для ардуино ничем не отличаются, уже писали. Считываете значание, далее делаете с ним что хотите.
Измеряете сопротивление, сравниваете с предыдущим значением, увеличилось - делаем одно, уменьшилось - делаем другое, запоминаем измеренное значение. Добавить масштабирование по вкусу.
Добрый день. Обыскал весь интернет, не могу найти ответ на такой вопрос.
Есть энкодеры, подключенные к ардуино, которым назначены нажатия кнопок влево-вправо, вверх-вниз для регулировки параметров в программе. Было бы удобно регулировать параметры не вращением, а перемещением ползунка вверх-вниз (влево-вправо). Т.е. заменить энкодер ползунковым потенциометром (фейдером).
Какой скетч нужен для ползункового потенциометра, чтобы он мог выполнять функции - движение в одну сторону : нажатие клавиши Keyboard.press(KEY_LEFT_ARROW); вправо: Keyboard.press(KEY_RIGHT_ARROW);
Благодарю за ответы.
Каким тонером нужно заправить принтер, чтобы на нем можно было доехать из Саратова до Тамбова?
Какой бензин нужно залить в автомобиль, чтобы он начал печатать цветом?
Аналогия понятна?
Потенциометр и энкодер - разные устройства, реализующие различные принципы управления, которые нельзя свести один к другому.
Другими словами, в общем случае сделать это невозможно.
Есть шкала от «-50 до 0 до +50» Ползунок фейдера находится по середине на «0» Сдвиг фейдера влево до -50 это инициация 50 нажатий кнопки key_left_arrow. Если фейдер находится на -50 его можно одним движением подвинуть на +50. Если я правильно понимаю, джойстиком для того чтобы изменить значение от -50 до +50, нужно давить на кнопку джойстика «вправо» до тех пор, пока не будет +50.
Ладно, из невозможности решения в общем случае еще не следует невозможность в частном.
Уточните, как должно вести себя устройство, если в момент включения питания фейдер уже находится в положении "+50"?
Есть шкала от «-50 до 0 до +50» Ползунок фейдера находится по середине на «0» Сдвиг фейдера влево до -50 это инициация 50 нажатий кнопки key_left_arrow. Если фейдер находится на -50 его можно одним движением подвинуть на +50. Если я правильно понимаю, джойстиком для того чтобы изменить значение от -50 до +50, нужно давить на кнопку джойстика «вправо» до тех пор, пока не будет +50.
Ладно, из невозможности решения в общем случае еще не следует невозможность в частном.
Уточните, как должно вести себя устройство, если в момент включения питания фейдер уже находится в положении "+50"?
Не спрашивайте, каким образом (это уже реализовано) фейдер через небольшой промежуток времени возвращается в средее нулевое положение. В момент включения питания он будет в положении «0».
Niksov, я задаю наводящие вопросы исключительно потому, что при отсутствии общего решения для заданного Вами вопроса пытаюсь понять, может быть для Вас подойдет частное.
Но раз на мой вопрос отвечать Вы не хотите, сразу предложу вариант, который может Вам подойти, а может - и нет:
1. Воспользуйтесь советом из ответа №1. В результате Вы получите число из диапазона [0, 1023].
2. Отмасштабируйте этот результат из диапазона [0, 1023] в диапазон [-50, 50]. Получите число N.
3. Если N>0, эмулируйте N нажатий на клавишу "+", если N<0, эмулируйте -N нажатий на клавишу "-".
Смешно. Возврат к нулю "уже реализован", а как считать аналогреад - спрашиваем в форуме.
Сдается мне что тут перед нами случай так называемого вранья
Niksov, я задаю наводящие вопросы исключительно потому, что при отсутствии общего решения для заданного Вами вопроса пытаюсь понять, может быть для Вас подойдет частное.
Но раз на мой вопрос отвечать Вы не хотите, сразу предложу вариант, который может Вам подойти, а может - и нет:
1. Воспользуйтесь советом из ответа №1. В результате Вы получите число из диапазона [0, 1023].
2. Отмасштабируйте этот результат из диапазона [0, 1023] в диапазон [-50, 50]. Получите число N.
3. Если N>0, эмулируйте N нажатий на клавишу "+", если N<0, эмулируйте -N нажатий на клавишу "-".
kalapanga, andriano, спасибо за советы.
Очевидно, решение аппаратное. Что-то типа пружины.
Очевидно, решение аппаратное. Что-то типа пружины.
И что удивительного в том, что ТС изобрел для себя велоси... т.е., простите, - джойстик.
И что удивительного в том, что ТС изобрел для себя велоси... т.е., простите, - джойстик.
ничего, кроме того, что ТС убежден, что изобрел нечто небывалое
Тут каждый второй такой. (например, я - это точно!)))))))))))