Управление двумя потенциометрами двух серв, не получается
- Войдите на сайт для отправки комментариев
Втр, 20/10/2015 - 14:21
Здравствуйте!
Не могу понять как сделать(если такое возможно) независимое управление от двух потенциометров двух сервомашинок. плата - Ардуино нано. Пробовал разные варианты, но всё равно получается, что с одного ПОТа две сервы крутяться, а как прописать чтоб потенциометр подключенный к А0 управлял только сервой на D9, а с A6 только на D5. ткните носом пенсионера куда копать....
последний скетч
#include <Servo.h> Servo myservo; Servo myservo2; int pinpot = A0; int pinpot2 = A6; int val; int val2; void setup() { myservo.attach(9); myservo2.attach(5); } void loop() { val = analogRead(pinpot); val = map(val, 0, 1023, 0, 180); myservo.write(val); val2 = analogRead(pinpot2); val2 = map(val2, 0, 1023, 0, 180); myservo2.write(val2); delay(15); }
а попробуй так. по сути тоже самое
Всё то же самое, с одного канала сразу две сервы работают, может в плате косяк? надо порты прозвонить наверно....
прозвони. но сначала посмотри как подключил. может ты на одну ножку посадил сервы или на бребоарде не учел что строки замкнуты
высока вероятность что проблема в контактах и невнимательности
Заработало!!! с одого потенциометра не поступал сигнал на вход. Заменил и сразу заработало. Получается, что если один потенциометр отключить, то сигнал будет идти от оставшегося потенциометра одновременно на два прописанных выхода. Это фича или баг, или...?
зы. спсибо за помощь.
это твои ошибки в схемотехнике
Скорее всего в связи с тем что АЦП один и работает через коммутатор
на его вход попадало напряжение через утечку ключа или через утечку по плате с соседнего пина
Черт его знает из-за чего. утечки нет, проверил (да и входы разнесены а0 и а6) Ошибки схемотехники? да там трудно ошибиться, питание отдельно, только минус общий. Проверил разные вариаты скетча - все работают, но стоит один ПОТ оключить, сразу две сервы работают одновременно. Чудеса. Будет время проверю на другой ардуинке.
Входная ёмкость АЦП накапливает заряд от предыдущего измерения
и похоже она намного больше входной ёмкости коммутатора
Входная ёмкость АЦП накапливает заряд от предыдущего измерения
и похоже она намного больше входной ёмкости коммутатора
Это лечиться? или плюнуть. меня пока устраивает.
можешь притянуть высокоомным резистором вход к земле. но лучше лечи контакты))
Вообще-то это странное поведение.
analogRead() переустанавливает АЦП каждый раз "на всякий случай" .. и соответственно, второе чтение с А6 не должно было бы подхватить предыдущее преобразование с А0, даже с одного коммутатора. Но, я тоже обнаруживал у себя, когда забывал выставить пин на "выход" (а по умолчанию они на вход - все по включению) слабый "пробой" ШИМ с таймера на выход ноги. Когда нога таймера настроена на работу и на неё идет ШИМ, а пин на выход поставить забыл... вот светодидоды с шилдов тоже ловят слабый сигнал и светятся согласно ШИМ, но очень блекло.
Ничео странного....
Ёмкость входа висящего в воздухе (С3) зарядится от входной ёмкости АЦП (С2) достаточно быстро
при условии что их соотношение 10- 100 раз (а это вполне возможно)
и сопротивление входа достаточно велико ( а это очевидно)
После переключения напряжение на С2 немного просядет зарядив С3, но мы ведь часто переключаемся и своего добьёмся.....