Рефералки запрещены, см. правила. Исправь или сообщение будет удалено. Срок 1 час
Доброго дня всем!
Собираю напольный джойстик для авиасимулятора, за основу взял решение от Тима Стэнтона с механикой от busel.
Координаты по X и Y задаются снятием показаний с датчика Холла при вращении в диапазоне 30o закрепленного на штоке джойстика кубического магнита
Проблема
Для корректной работы нужен диапазон показаний от 0 до 1024. Его получить не получается.
Пробовал:
Собираю напольный джойстик для авиасимулятора, за основу взял решение от Тима Стэнтона с механикой от busel.
Координаты по X и Y задаются снятием показаний с датчика Холла при вращении в диапазоне 30o закрепленного на штоке джойстика кубического магнита
Проблема
Для корректной работы нужен диапазон показаний от 0 до 1024. Его получить не получается.
C++:
#include <Joystick.h>
Joystick_ Joystick;
int JoystickX;
#define X_PIN A0
void setup()
{
pinMode(X_PIN, INPUT_PULLUP);
Joystick.begin();
Joystick.setXAxisRange(0, 1024);
Serial.begin(9600);
}
void loop()
{
JoystickX = analogRead(X_PIN);
Serial.print(", Analog: ");
Serial.println(JoystickX); // Аналоговый сигнал с датчика
delay(100);
}
- Модули KY-024 -- при вращении относительно одного магнита дают диапазон около 150 показаний, при размещении между двумя около 200.
- Китайские датчики SS496A1 (родное решение) -- подключены к Arduino напрямую, разброс около 1000, но показания "шумят", при одном положении джойстика самопроизвольно изменяются.
- Может ли проблема быть в магните? Смотрел другие решения -- не похоже, что авторы заморачиваются с подбором магнитов.
- В чем может быть причина "шума" на SS496A1? Все компоненты закреплены неподвижно, у автора решения такой проблемы нет, никаких дополнительных компонентов (резисторы, конденсаторы) в схеме нет.
- Есть ли смысл перейти на TL5010 -- судя по тому, что удалось нарыть, он значительно точнее? Сомнения вызывает то, что он тоже на принципе Холла, а значит, проблема может быть не устранена.