Ви не увійшли.
Ви не зрозуміли проблеми
Так, мабуть не зрозумів, вибачте.
Просто використовував такі самі джойстики в декількох проектах, тому й стало цікаво. Так, на непідключеному джойстику при русі ручки з одного крайнього положення, де опір нульовий, опір зростає, і чим далі, тим повільніше. А ближче до протилежного крайнього положення навіть трохи спадає. І це очікувана поведінка. Але напруга на виходах при підключеному живленні відповідає положенню ручки практично лінійно. Тому ніяких проблем в коді з визначенням поточного положення за значеннями, отриманими з АЦП, не виникало.
Ви не зрозуміли проблеми
Проблему вирішив заміною резисторів на резистори з більшим кутом повороту. Так вони не доходять до проблемних місць і вдалось добитись рівномірної зміни опору.
Навіщо ви вимірюєте опір, коли куту повороту відповідає напруга?
Подивіться на схему вище. При відключеному Vcc опір між A і B наступний:
при положенні повзунка в самому низу: 0
при положенні повзунка в самому верху: R/2 (обидва резистора паралельно).
при положенні повзунка чітко посередині: R/2 || 3R/2 = 3R/8 (нижня половина резистора ліворуч паралельно сумі верхньої половини і всього резистора праворуч).
Яка тут може бути рівномірність?
Якщо потрібно, щоб саме опір був пропорційний куту, просто розʼєднайте потенціометри в точці зʼєднання з Vcc.
Проблему вирішив заміною резисторів на резистори з більшим кутом повороту. Так вони не доходять до проблемних місць і вдалось добитись рівномірної зміни опору.
Звичайний джойстік з потенціометрами та кнопкою.
Так, але потенціометри зʼєднані паралельно:
При ідеальних потенціометрах залежність еквівалентного опору між точками A і B від положення повзунка має квадратичний характер:
Невеликий розкид параметрів призводить до відʼємної залежності у близьких до верхнього положеннях.
Тому потрібно подавати живлення і зчитувати напругу. Тоді теоретично залежність має лінійний характер.
Звичайний джойстік з потенціометрами та кнопкою.
Потрібно не опір вимірювати, а подавати живлення +5В і вимірювати напругу. Наскільки розумію, там щось інше ніж звичайні потенціометри.
Питання по ось такому джойстику:
Під’єднавши омметр і повільно рухаючи джойстик по відповідній осі спостерігаю таку картину, що опір зростає до певного максимума, а далі, продовжуючи повільний рух, опір трохи спадає. Така сама картина і на другій осі. І точно те саме було на іншому джойстику, взятому в іншого власника.
І от питання. Це так потрібно чи я щось не знаю про такі джойстики? Адекватний код неможливо написати з такими резисторами.